Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: #marcus. poslato Avgust 08, 2011, 22:50:52 POSLE PODNE

Naslov: [Pomoc] Prvi stock i komanda koja koristi taj stock
Poruka od: #marcus. poslato Avgust 08, 2011, 22:50:52 POSLE PODNE
Skripta koju koristim: GM od 0
Detaljan opis problema: Napravim stock i u njega unesem ono sto ocu da returna
Dio skripte:


Ovo je stock:

stock IgracAdmin(playerid,level[])
{
return dini_Int(IgracInfo[playerid][pAdmin],level);
}


Ovo je "test" komanda(napravljeno cisto da provjeri dal se to "primilo" igraca)


CMD:test(playerid,params[])                                                          //619
{                                                                                                  //620
new nivo[8]=1;                //621
if(!IgracAdmin(playerid,nivo));              //622
{     //623
    SendClientMessage(playerid,COLOR_WHITE,DOPUSTENJE);   //624
}    //625
else    //626
{   //627
return   SendClientMessage(playerid,COLOR_WHITE,"Radi");    //628
}  //629
return 1;  //630
} //631




A ovo je kompajler report:

D:\Igre\GTA San Andreas\NEBITNO\gamemodes\BETA.pwn(622) : error 036: empty statement
D:\Igre\GTA San Andreas\NEBITNO\gamemodes\BETA.pwn(626) : error 029: invalid expression, assumed zero
D:\Igre\GTA San Andreas\NEBITNO\gamemodes\BETA.pwn(630) : warning 225: unreachable code
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


2 Errors.




Hvala unaprijed!

Naslov: Odg: [Pomoc] Prvi stock i komanda koja koristi taj stock
Poruka od: System32 poslato Avgust 08, 2011, 23:06:29 POSLE PODNE
nemos samo tako returnat

stock IgracAdmin(playerid,level[])
{
if(IgracInfo[playerid][pAdmin],level)
{

}
return 1;
}
Naslov: Odg: [Pomoc] Prvi stock i komanda koja koristi taj stock
Poruka od: #marcus. poslato Avgust 08, 2011, 23:09:55 POSLE PODNE
Mozes malo blje pojasniti ovo, ako nije problem?

Sta radi ovo?
if(IgracInfo[playerid][pAdmin],level)



Hvala na odgovoru :)
Naslov: Odg: [Pomoc] Prvi stock i komanda koja koristi taj stock
Poruka od: Slay poslato Avgust 08, 2011, 23:12:36 POSLE PODNE
Ne to nije dobro, ovako bi trebalo raditi:

stock IsAdminLevel(playerid, level) {
   if(IgracInfo[playerid][pAdmin] == level) return true;
   return false; }

COMMAND:test(playerid,params[])                                                        
{                                                                                                
       new
             level = 5; // ako je level 5  
if(IsAdminLevel(playerid, level)) return SendClientMessage(playerid,COLOR_WHITE,"Ti si level 5");   
else SendClientMessage(playerid,COLOR_WHITE,"Ti nisi level 5");  
       return true;  
}
Naslov: Odg: [Pomoc] Prvi stock i komanda koja koristi taj stock
Poruka od: #marcus. poslato Avgust 08, 2011, 23:16:13 POSLE PODNE
Hvala na rjesenjima problema, ALI, ja svejedno nisam dobio razlog zasto je to tako, pa vas molim da mi kazete sto ovaj if radi?


if(IgracInfo[playerid][pAdmin],level)




Hvala na odgovorima :)
Naslov: Odg: [Pomoc] Prvi stock i komanda koja koristi taj stock
Poruka od: Slay poslato Avgust 08, 2011, 23:26:18 POSLE PODNE
zato jer je 'if' statement i ne moze raditi to je samo usporedba a ne 'set' varijable pInfo

umjesto zareza bi trebalo biti '==' ili '!=' ili '>=' ili '>' ili '<' ili '<=' itd...
Naslov: Odg: [Pomoc] Prvi stock i komanda koja koristi taj stock
Poruka od: John poslato Avgust 09, 2011, 00:23:31 PRE PODNE
Ovo je funkcija dini_int:


stock dini_Int(filename[],key[]) {
   return strval(dini_Get(filename,key));
}


Kao sto vidis prvi parametar je filename dok si ti stavio varijablu u koju zelis spremiti admin level