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
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;
}
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
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 !
Definisi ?
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