Skripta koju koristim: Svoju
Detaljan opis problema: Napravio sam komandu koja proverava kada ukucas /zavezi da li si uzeo kanap ili ne, i kada ukucas komandu /uzmikanap nista se ne desava
Dio skripte: http://pasted.co/f4ac0c3a
Neke slike/video za lakse dobivanje pomoci(neobavezno):
Ne desava se nista zato sto si stavio ovo return 1; , a sigurno vrednost varijabli odgovara tom uslovu i odatle prestaje da izvrsava kod...
Sredio sam
YCMD:uzmikanap(playerid, params[], help)
{
#pragma unused help
if(UlogovanProvera[playerid] == 0) return SCM(playerid,-1,""BELA"Ne mozete koristiti ovu komandu jer niste ulogovani.");
new string[256];
if(PlayerInfo[playerid][pUzeoKanap] == 1) return 1;
format(string,sizeof(string), "* %s uzima svoj kanap iz dzepa", GetName(playerid));
ProxDetector(20.0, playerid, string, PROX,PROX,PROX,PROX,PROX);
return 1;
}
Ali u komandi /zavezi sam stavio proveri
if(PlayerInfo[playerid][pUzeoKanap] == 0) return SCM(playerid, -1, ""BELA"Ne mozete koristiti ovu komandu jer niste uzeli kanap.");
Interesuje me koj znak treba da stavim [==] na to mislim posto mogu je koristiti iako sam napravio /uzmikanap?
Citat: Nemanja Milijic poslato Oktobar 26, 2015, 00:34:29 PRE PODNE
Sredio sam
YCMD:uzmikanap(playerid, params[], help)
{
#pragma unused help
if(UlogovanProvera[playerid] == 0) return SCM(playerid,-1,""BELA"Ne mozete koristiti ovu komandu jer niste ulogovani.");
new string[256];
if(PlayerInfo[playerid][pUzeoKanap] == 1) return 1;
format(string,sizeof(string), "* %s uzima svoj kanap iz dzepa", GetName(playerid));
ProxDetector(20.0, playerid, string, PROX,PROX,PROX,PROX,PROX);
return 1;
}
Ali u komandi /zavezi sam stavio proveri
if(PlayerInfo[playerid][pUzeoKanap] == 0) return SCM(playerid, -1, ""BELA"Ne mozete koristiti ovu komandu jer niste uzeli kanap.");
Interesuje me koj znak treba da stavim [==] na to mislim posto mogu je koristiti iako sam napravio /uzmikanap?
if(PlayerInfo[playerid][pUzeoKanap] <= 0) return SCM(playerid, -1, ""BELA"Ne mozete koristiti ovu komandu jer niste uzeli kanap.");
Ali on tu proverava 1 da li ima kanap 0 znaci da nema <= 1 ima <= 0 nema ti si stavio 0 kako će on znati da li ima ako stoji 0 on sada nema proveru da ima kanap ?
Citat: Nemanja Milijic poslato Oktobar 26, 2015, 10:31:35 PRE PODNE
Ali on tu proverava 1 da li ima kanap 0 znaci da nema <= 1 ima <= 0 nema ti si stavio 0 kako će on znati da li ima ako stoji 0 on sada nema proveru da ima kanap ?
[pawn]if(PlayerInfo[playerid][pUzeoKanap] <= 1) return SCM(playerid, -1, ""BELA"Ne mozete koristiti ovu komandu jer niste uzeli kanap.");[/pawn]
da ide 1 tu
YCMD:zavezi(playerid, params[], help)
{
#pragma unused help
if(UlogovanProvera[playerid] == 0) return SCM(playerid,-1,""BELA"Ne mozete koristiti ovu komandu jer niste ulogovani.");
new id, string[256];
if(PlayerInfo[playerid][pKanap] <= 0) return SCM(playerid, -1, ""BELA"Ne mozete koristiti ovu komandu jer nemate kanap.");
if(PlayerInfo[playerid][pUzeoKanap] <= 0) return SCM(playerid, -1, " "BELA"Niste uzeli kanap (/uzmikanap)!");
if(sscanf(params, "u", id)) return SCM(playerid, -1, ""BELA"/zavezi [ID Igraca/Deo Imena]");
if(!IsPlayerConnected(id)) return SCM(playerid, -1, ""BELA"Taj igrac nije na serveru.");
//if(id == playerid) return SCM(playerid, -1, ""BELA"Ne mozete koristiti ovu komandu jer ne mozete vezati samog sebe.");
if(PlayerInfo[playerid][pZatvor] != 0) return SCM(playerid, -1, ""BELA"Ne mozete koristiti ovu komandu jer je igrac u zatvoru.");
if(!DaljinaIgraca(5.0,playerid,id)) return SCM(playerid,-1,""BELA"Ne mozete koristiti ovu komandu jer taj igrac nije blizu vas.");
if(IgracTazovan[id] == 1) return SCM(playerid,-1,""BELA"Ne mozete koristiti ovu komandu jer je taj igrac tazovan.");
if(StavljeneLisice[id] == 1) return SCM(playerid,-1,""BELA"Ne mozete koristiti ovu komandu jer taj igrac ima lisice.");
if(IgracTazovan[playerid] == 1) return SCM(playerid,-1,""BELA"Ne mozete koristiti ovu komandu jer ste tazovani.");
if(StavljeneLisice[playerid] == 1) return SCM(playerid,-1,""BELA"Ne mozete koristiti ovu komandu jer imate lisice.");
if(Zavezan[id] == 1) return SCM(playerid, -1, ""BELA"Ne mozete koristiti ovu komandu jer je igrac vec vezan.");
if(Zavezan[playerid] == 1) return SCM(playerid, -1, ""BELA"Ne mozete koristiti ovu komandu jer ste vezani.");
Zavezan[id] = 1;
TogglePlayerControllable(id, 0);
GameTextForPlayer(id, "~w~Zavezani ste", 5, 5000);
format(string,sizeof(string),""CRVENA"Zavezali ste igraca %s",GetName(id));
SCM(playerid,-1,string);
format(string,sizeof(string),""BELA"Igrac %s vas je zavezao,ako izadjete sa servera izgubicete 2000$",GetName(playerid));
SCM(id,-1,string);
format(string,sizeof(string), "* %s uzima kanap i vezuje gradjanina %s", GetName(playerid),GetName(id));
ProxDetector(20.0, playerid, string, PROX,PROX,PROX,PROX,PROX);
PlayerInfo[playerid][pUzeoKanap] = 0;
SavePlayer(playerid);
return 1;
}
Znaci meni i dalje ladno u ovoj komandi ne ispisuje
if(PlayerInfo[playerid][pUzeoKanap] <= 0) return SCM(playerid, -1, " "BELA"Niste uzeli kanap (/uzmikanap)!");
kao da ne postoji u komandi vec kad udjem na server posto vec imam kanap i kucam /zavezi umesto tu liniju da ispisuje meni prebacuje na
if(sscanf(params, "u", id)) return SCM(playerid, -1, ""BELA"/zavezi [ID Igraca/Deo Imena]");
reseno moze lock !