Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Jack_Ass poslato Avgust 23, 2013, 11:35:17 PRE PODNE

Naslov: (pomoc) ID igraca (2) uvjek offline
Poruka od: Jack_Ass poslato Avgust 23, 2013, 11:35:17 PRE PODNE
Skripta koju kosristim Nezz sa ovog je foruma
Problem :Kada ocu da transfer igracu noce ili da mu bilo sto ponudim pise mi da je igrac offline !
Dajem sve sto treba
Naslov: Odg: (pomoc) ID igraca (2) uvjek offline
Poruka od: Jack_Ass poslato Avgust 24, 2013, 16:31:31 POSLE PODNE
YCMD:transfer(playerid, params[], help)
{
   #pragma unused help
   new id,kolicina,string[128],igracevnovac;
   if(!IsPlayerInRangeOfPoint(playerid, 3.0, 2316.5117,-12.5013,26.7422)) return SCM(playerid,BELA,"{BFC0C2} Niste u banci!");
   if(PlayerInfo[playerid][pLevel] < 3) return SCM(playerid,BELA,"{BFC0C2} Niste level 3!");
   if(sscanf(params,"ui",id,kolicina)) return SCM(playerid,BELA," Pomoc |{00C0FF} /transfer [ID Igraca] [Iznos Novca]");
   if(id == INVALID_PLAYER_ID) return SCM(playerid,BELA,"{FF0000} Taj igrac je offline!");
   igracevnovac = PlayerInfo[playerid][pBanka];
   if(kolicina > 0 && igracevnovac >= kolicina)
   {
      PlayerInfo[playerid][pBanka] -= kolicina;
      PlayerInfo[id][pBanka] += kolicina;
      SCM(playerid,BELA,"{6EF83C}| Banka - Uspesna transakcija");
      SCMF(playerid,BELA,"{F3FF02}| Uplatili ste na racun igraca %s %d$.",GetName(id),kolicina);
      SCM(id,BELA,"{6EF83C}| Banka - Uspesna transakcija");
      SCMF(id,BELA,"{F3FF02}| %s vam je uplatio %d$ na racun.",GetName(playerid),kolicina);
      if(kolicina >= 100000)
      {
         format(PosebanString,sizeof(PosebanString), "Komanda: /transfer | Izvrsio: %s | Igrac: %s | Iznos: %d | IP: %s", ImeIgraca(playerid), ImeIgraca(id), kolicina, GetaIP(playerid));
         SacuvajLog(FAJL_BANKALOG,PosebanString);
         format(string,sizeof(string), "Transfer | Igrac: %s[%d] | Igracu: %s[%d] | Iznos: $%d", ImeIgraca(playerid), playerid, ImeIgraca(id), id, kolicina);
         AdminPoruka(SVETLOPLAVA,string);
      }
   } else return SCM(playerid,BELA, "{BFC0C2} Nemate toliko na racunu!");
   return 1;
}
Naslov: Odg: (pomoc) ID igraca (2) uvjek offline
Poruka od: Denim SA:MP poslato Avgust 24, 2013, 16:40:50 POSLE PODNE
meni je uvijek to bagovalo jer parametar "u" u sscanfa uvijek vraćao na playerid 0/1 :P
pokušaj ovako:

new ids[36];
if(sscanf(params,"si",ids,kolicina)) return SCM(playerid,BELA," Pomoc |{00C0FF} /transfer [ID Igraca] [Iznos Novca]");
id = ReturnUser(ids);   
if(id == INVALID_PLAYER_ID) return SCM(playerid,BELA,"{FF0000} Taj igrac je offline!");


EDIT: ReturnUser je funkcija utils include-a tako prvo ga skini ubaci u pawno/include folder i include ga u skripti
link: https://code.google.com/p/cwrp/downloads/detail?name=utils.inc
Naslov: Odg: (pomoc) ID igraca (2) uvjek offline
Poruka od: Jack_Ass poslato Avgust 24, 2013, 19:26:57 POSLE PODNE
Citat: Pasa poslato Avgust 24, 2013, 16:40:50 POSLE PODNE
meni je uvijek to bagovalo jer parametar "u" u sscanfa uvijek vraćao na playerid 0/1 :P
pokušaj ovako:

new ids[36];
if(sscanf(params,"si",ids,kolicina)) return SCM(playerid,BELA," Pomoc |{00C0FF} /transfer [ID Igraca] [Iznos Novca]");
id = ReturnUser(ids);   
if(id == INVALID_PLAYER_ID) return SCM(playerid,BELA,"{FF0000} Taj igrac je offline!");


EDIT: ReturnUser je funkcija utils include-a tako prvo ga skini ubaci u pawno/include folder i include ga u skripti
link: https://code.google.com/p/cwrp/downloads/detail?name=utils.inc

javljami eorr  Undefined symbol returnuser !
Naslov: Odg: (pomoc) ID igraca (2) uvjek offline
Poruka od: BOOM# ツ <3 poslato Avgust 24, 2013, 19:51:06 POSLE PODNE
Definisi ?
Naslov: Odg: (pomoc) ID igraca (2) uvjek offline
Poruka od: Slay poslato Avgust 24, 2013, 19:57:24 POSLE PODNE
1. Update-aj sscanf, pazi na 500p i 1000p verziju (jako pazi)
2. returnUser ti ne treba! Onda bi umjesto toga mogao koristiti isplayerconnected, nema smisla nikakvog
3. sscanf automatski 'u' placeholderu daje vrijednost koja je provjerena u pluginu, znači odmah poslije sscanf-a možeš usporediti dali je ID jednak INVALID_PLAYER_ID macro funkciji, zaparavo ovo je pravi razlog zašto ti ne treba niti isplayerconnected ili returnuser

Pusti ove talibane gore, nemoj sa nikakvim nizovima raditi... Sccanf radi, samo pazi da ga update-aš i pazi na modele...
Pozdrav