(pomoc) ID igraca (2) uvjek offline

Započeo Jack_Ass, Avgust 23, 2013, 11:35:17 PRE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

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
Poslednja Izmena: Avgust 24, 2013, 16:43:11 POSLE PODNE od Pasa
NAPUSTIO SAM SAMP

Oproštajni post

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 !


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
Poslednja Izmena: Avgust 24, 2013, 19:59:30 POSLE PODNE od Slay_
Kristijan Stipić