Sziasztok,az új paramcsaimnál problémákba ütközök.
Mint pl.:
CMD:ban(playerid,params[])
{
if(Belepve[playerid] != 0)
{
new ember[MAX_PLAYER_NAME],indok[256];
if (sscanf(params,\"ss\", ember,indok)) SendClientMessage(playerid,SZURKE, \"Használat: /ban [Név] [indok]\");
{
if(JatekosInfo[playerid][Admin] > 2)
{
new id;
id = GetPlayerID(ember);
if(!IsPlayerConnected(id))
{
new file[256];
format(file,sizeof(file),\"/Adatbazis/Karakterek/%s.ini\", ember);
if(fexist(file))
{
new string[256];
GetPlayerName(playerid,nev,sizeof(nev));
format(string,sizeof(string),\"%s ki lett bannolva %s által. Indok: %s\", ember,nev,indok);
SendClientMessageToAll(FIGYELEM, string);
printf(string);
strmid(JatekosInfo[id][indok],indok,0,strlen(indok));
dini_Set(file,\"Indok\", indok);
dini_IntSet(file, \"Bannolva\",JatekosInfo[id][bann]);
return 1;
}
else SendClientMessage(playerid, HIBA, \"Nincs ilyen nevû regisztrált karakter!\");
}
if(IsPlayerConnected(id))
{
new string[256];
new file[256];
GetPlayerName(playerid,nev,sizeof(nev));
if(JatekosInfo[playerid][Admin] > JatekosInfo[id][Admin])
{
format(string,sizeof(string),\"%s ki lett bannolva %s által. Indok: %s\", ember,nev,indok);
SendClientMessageToAll(FIGYELEM, string);
printf(string);
format(file,sizeof(file),\"/Adatbazis/Karakterek/%s.ini\", ember);
strmid(JatekosInfo[id][indok],indok,0,strlen(indok));
JatekosInfo[id][bann] = 1;
dini_Set(file,\"Indok\", indok);
dini_IntSet(file, \"Bannolva\",JatekosInfo[id][bann]);
Kick(id);
return 1;
}
else SendClientMessage(playerid, HIBA, \"Csak nálad kisebb szintû karaktert bannolhatsz!\");
}
}
else SendClientMessage(playerid, HIBA, \"Minimum 3-as szintû adminnak kell lenned!\");
}
}
else SendClientMessage(playerid, HIBA, \"Be kell jelentkezned!\");
return 0;
}
ha beírom csak simán,hogy: /ban
Akkor kiírja a használatát,és hogy \"Csak nálad kisebb szintû karaktert bannolhatsz!\"
Ez miért van?
És ha vannak if-ek egy parancsnál,akkor miért végzi el az else-t is amikor a if-ek végén vannak returnok?
Köszi a helpet