Skripta koju koristim: Od 0
Detaljan opis problema:Trebalo bi da mu ispiše SCM ako mu je nešto od varijabli što je unutar funckije na 0. Ali ispisuje mu SCM iako ima iako nema.
E sad, zanima me isto tako zaÅ¡to na primer kad imam samo jednu varijablu unutar funkcije, na primer samo [pCrvi], onda radi, a kad stavim "||", i stavim joÅ¡ jednu ili dvije varijable, ono ne radi. Koliko sam ja shvatio do sada, ovo "||" oznaÄava ILI, a "&&" oznaÄava I.
Dio skripte:if(PI[playerid][pCrvi] == 0 || PI[playerid][pHleb] == 0 || PI[playerid][pKukuruz] == 0) return SCM(playerid, CRVENA, "[GRESKA] {FFFFFF}Potrosili ste sav mamac koji ste uzeli, sada idite da prodate ribu koju ste uhvatili u ribarnicu.");
Neke slike/video za lakse dobivanje pomoci(neobavezno): //
&& oznacava i
|| oznacava ili
http://wiki.sa-mp.com/wiki/Control_Structures#Operators
Dakle u ovom slucaju koristi &&.
Ali zar mi u ovom sluÄaju ne treba || ?
Jer treba da mi provjeri ako uzme crve, hleb ili kukuruz, znaÄi ako ima crve, ili hleb ili kukuruz, a ne ako ima crve i hleb i kukuruz ?
Jer kad bira mamce, uzima samo jedan..
[pawn]if(PI[playerid][pCrvi] == 0 &&(i) PI[playerid][pHleb] == 0 &&(i) PI[playerid][pKukuruz] == 0) [/pawn]
Ovo ce ti znaciti da nema niti jedan od ova tri kod sebe dakle '0' ako sam te razumeo kako treba.
Citat: gReeDy.aMx poslato Februar 22, 2016, 22:39:03 POSLE PODNE
[pawn]if(PI[playerid][pCrvi] == 0 && PI[playerid][pHleb] == 0 && PI[playerid][pKukuruz] == 0) [/pawn]
Ovo ce ti znaciti da nema niti jedan od ova tri kod sebe dakle '0' ako sam te razumeo kako treba.
Ne, ne. Meni treba ako su mu crvi samo na primer na 5, i kad doÄ'u na 0 da mu ispiÅ¡e to.
A koliko ja shvatam to je ako su mu sve 3 varijable na 0.
Pa onda jednostavno dodaj
[pawn]if(PI[playerid][pCrvi] == 0) return SendClientMessage( playerid, -1, "Nemate vise crva!" );[/pawn]
Citat: gReeDy.aMx poslato Februar 22, 2016, 22:48:52 POSLE PODNE
Pa onda jednostavno dodaj
[pawn]if(PI[playerid][pCrvi] == 0) return SendClientMessage( playerid, -1, "Nemate vise crva!" );[/pawn]
To bi bilo okej da on ima da izabere samo crve, ali on ima da izabere joÅ¡ 2 varijable, i onda sam mislio da ću sa || rijeÅ¡iti problem, ali izgleda da će mi trebati drugaÄije reÅ¡enje, malo komplikovanije.
[pawn]if(PI[playerid][pCrvi] == 0 && PI[playerid][pHleb] == 0 && PI[playerid][pKukuruz] == 0) return SCM(playerid, CRVENA, "[GRESKA] {FFFFFF}Potrosili ste sav mamac koji ste uzeli, sada idite da prodate ribu koju ste uhvatili u ribarnicu.");[/pawn]
Ako su sve tri varijable na 0 ispisuje poruku.
Može i ovako isto
[pawn]if(PI[playerid][pCrvi] != 1 && PI[playerid][pHleb] != 1 && PI[playerid][pKukuruz] != 1) return SCM(playerid, CRVENA, "[GRESKA] {FFFFFF}Potrosili ste sav mamac koji ste uzeli, sada idite da prodate ribu koju ste uhvatili u ribarnicu.");[/pawn]
Možeš i ovako:
[pawn]if(PI[playerid][pCrvi] == 0) return SCM(playerid, CRVENA, "[GRESKA] {FFFFFF}Potrosili ste crve");
if(PI[playerid][pHleb] == 0) return SCM(playerid, CRVENA, "[GRESKA] {FFFFFF}Potrosili ste hljeb");
if(PI[playerid][pKukuruz] == 0) return SCM(playerid, CRVENA, "[GRESKA] {FFFFFF}Potrosili ste kukuruz");[/pawn]
Provjera dali je crva 5
[pawn]if(PI[playerid][pCrvi] == 5)
{
PI[playerid][pCrvi] -= 1; // oduzima mu 1 crva - možeš koristiti u tajmeru, ili kako god želiš.
}[/pawn]
PokuÅ¡ao sam na drugi naÄin, kad uzima crve stavio sam da mu stavlja jednu varijablu na 1 (UzeoCrve[playerid]), i u komandi /pecaj, stavio da ako je ta varijabla koja mu stavlja crve na uzeto (UzeoCrve[playerid), na 1, i ako je u njoj [pCrvi] == 0, da mu ispiÅ¡e SCM, mislim da može i na ovaj moj naÄin, testiraću pa ćemo vidjeti.
EDIT: Kao Å¡to sam i mislio, radi na ovaj naÄin na koji sam napravio. Hvala ti Savo na pomoći, isto tako i tebi K ROSE.