Zasto kad upisem /ban pocinje spamati sa svi komande i me mene samog banira
evo komandu
CMD:ban(playerid, params[])
{
if(PlayerInfo[playerid][Level] >= 1 || IsPlayerAdmin(playerid))
{
new tmp[256], tmp2[256], Index, i, string[256];
tmp = strtok(params,Index), tmp2 = strtok(params,Index);
if(!strlen(params))
{
if (IgracInfo[playerid][Jezik] == 1) SendClientMessage(playerid,COLOR_LIGHTRED,"/ban [ID] [ïðè÷èÃà ]");
else if (IgracInfo[playerid][Jezik] == 2) SendClientMessage(playerid,COLOR_LIGHTRED,"/ban [ID] [razlog]");
else if (IgracInfo[playerid][Jezik] == 3) SendClientMessage(playerid,COLOR_LIGHTRED,"/ban [ID] [reason]");
}
new kohde;
kohde = strval(tmp);
if(!strlen(tmp2))
{
if (IgracInfo[playerid][Jezik] == 1) SendClientMessage(playerid,COLOR_LIGHTRED,"/ban [ID] [ïðè÷èÃà ]");
else if (IgracInfo[playerid][Jezik] == 2) SendClientMessage(playerid,COLOR_LIGHTRED,"/ban [ID] [razlog]");
else if (IgracInfo[playerid][Jezik] == 3) SendClientMessage(playerid,COLOR_LIGHTRED,"/ban [ID] [reason]");
}
if(!IsPlayerConnected(kohde))
{
if (IgracInfo[playerid][Jezik] == 1) SendClientMessage(playerid,COLOR_LIGHTRED,"Ãåòî÷åà ID.");
else if (IgracInfo[playerid][Jezik] == 2) SendClientMessage(playerid,COLOR_LIGHTRED,"Netacan ID.");
else if (IgracInfo[playerid][Jezik] == 3) SendClientMessage(playerid,COLOR_LIGHTRED,"Wrong ID.");
}
if(IsPlayerConnected(i))
{
if (IgracInfo[playerid][Jezik] == 1) format(string, sizeof(string), "AdmCmd: %s Ã¥ áà Ãèðà Ã. Ãðè÷èÃà : %s", PlayerName(kohde), params[2]);
else if (IgracInfo[playerid][Jezik] == 2) format(string, sizeof(string), "AdmCmd: %s Je banan sa servera. Razlog: %s", PlayerName(kohde), params[2]);
else if (IgracInfo[playerid][Jezik] == 3) format(string, sizeof(string), "AdmCmd: %s is banned. Reason: %s", PlayerName(kohde), params[2]);
SendClientMessage(i,COLOR_LIGHTGREEN, string);
}
return BanEx(kohde, params[2]);
}
return 1;
}
Koristi sscanf. Za strtok mi se neda ni objasnjavati.
Ma uzmi ban komandu iz gf moda i gotovo
Citat: LordShigi poslato Jul 27, 2010, 19:27:14 POSLE PODNE
Koristi sscanf. Za strtok mi se neda ni objasnjavati.
ako ti se neda objasnjavat onda nemoj ni komentirat
Ocu komentirati da dam doznanja da mu je bolje koristiti sscanf. Jel tu treba sve doslovno pisati?
Citat: Chris poslato Jul 27, 2010, 19:34:47 POSLE PODNE
Ma uzmi ban komandu iz gf moda i gotovo
ma i ova komanda radi ali problem je sto neradi kad ju napravim na 3 jezika
Citat: Kiki_Radeon poslato Jul 27, 2010, 19:44:21 POSLE PODNE
Citat: LordShigi poslato Jul 27, 2010, 19:27:14 POSLE PODNE
Koristi sscanf. Za strtok mi se neda ni objasnjavati.
ako ti se neda objasnjavat onda nemoj ni komentirat
Ja mislim da mu je dobro savjetovao jer ovaj strtok je kompliciraniji za pocetnike, bolje da uzme sscanf ili cak DCMD jer su jednostavniji iako je DCMD jednako spor kao i strcmp
EDIT: Nisam vidio da koristi ZCMD procesor komande, evo da se vratim na opis problema
1. Ti si napravio JAKO veliku glupost od koje se smijem :D ali nema veze tu si da ti se pomogne, daj mi komandu tu za /ban u kojoj ti nisi nista diro i ja cu ti to srediti
Citat: ExtremePower poslato Jul 27, 2010, 20:12:05 POSLE PODNE
Citat: Kiki_Radeon poslato Jul 27, 2010, 19:44:21 POSLE PODNE
Citat: LordShigi poslato Jul 27, 2010, 19:27:14 POSLE PODNE
Koristi sscanf. Za strtok mi se neda ni objasnjavati.
ako ti se neda objasnjavat onda nemoj ni komentirat
Ja mislim da mu je dobro savjetovao jer ovaj strtok je kompliciraniji za pocetnike, bolje da uzme sscanf ili cak DCMD jer su jednostavniji iako je DCMD jednako spor kao i strcmp
EDIT: Nisam vidio da koristi ZCMD procesor komande, evo da se vratim na opis problema
1. Ti si napravio JAKO veliku [cenzura]ost od koje se smijem :D ali nema veze tu si da ti se pomogne, daj mi komandu tu za /ban u kojoj ti nisi nista diro i ja cu ti to srediti
dcmd_ban(playerid, params[])
{
if(PlayerInfo[playerid][Level] >= 1 || IsPlayerAdmin(playerid))
{
new tmp[256], tmp2[256], Index;
tmp = strtok(params,Index), tmp2 = strtok(params,Index);
if(!strlen(params)) return SendClientMessage(playerid, COLOR_RED, "Napisi: /ban [ID] [razlog]");
new kohde;
kohde = strval(tmp);
if(!strlen(tmp2)) return SendClientMessage(playerid, red, "Napisi: /ban [ID] [razlog]");
if(!IsPlayerConnected(kohde)) return SendClientMessage(playerid, COLOR_RED, "Netocan ID");
new string[128];
format(string, sizeof(string), "BAN: %s Je banan sa servera. (razlog: %s)", PlayerName(kohde), params[2]);
SendClientMessageToAll(COLOR_RED, string);
return BanEx(kohde, string);
}
return 1;
}
evo i to je od DCMD jel si mi reko nista da ne diram
OMG sad sam i ja isao gledati sto je napravio. Ufff, klasican primjer zasto je strtok pretezak za pocetnike. Ubuduce koristi sscanf, fakat prejednostavno + brže.
dcmd_ban(playerid, params[])
{
if(PlayerInfo[playerid][Level] >= 1 || IsPlayerAdmin(playerid))
{
new tmp[256], tmp2[256], Index;
tmp = strtok(params,Index), tmp2 = strtok(params,Index);
if(!strlen(params)) return SendClientMessage(playerid, COLOR_RED, "Napisi: /ban [ID] [razlog]");
new kohde;
kohde = strval(tmp);
if(!strlen(tmp2)) return SendClientMessage(playerid, red, "Napisi: /ban [ID] [razlog]");
if(!IsPlayerConnected(kohde)) return SendClientMessage(playerid, COLOR_RED, "Netocan ID");
if(PlayerInfo[kohde][Jezik] == 1)
{
new string[128];
format(string, sizeof(string), "BAN: %s Je banan sa servera. (razlog: %s)", PlayerName(kohde), params[2]);
SendClientMessageToAll(COLOR_RED, string);
}
else
{
new string[128];
format(string, sizeof(string), "BAN: %s is banned from server. (reason: %s)", PlayerName(kohde), params[2]);
SendClientMessageToAll(COLOR_RED, string);
}
return BanEx(kohde, string);
}
return 1;
}
Citat: ExtremePower poslato Jul 27, 2010, 20:41:36 POSLE PODNE
dcmd_ban(playerid, params[])
{
if(PlayerInfo[playerid][Level] >= 1 || IsPlayerAdmin(playerid))
{
new tmp[256], tmp2[256], Index;
tmp = strtok(params,Index), tmp2 = strtok(params,Index);
if(!strlen(params)) return SendClientMessage(playerid, COLOR_RED, "Napisi: /ban [ID] [razlog]");
new kohde;
kohde = strval(tmp);
if(!strlen(tmp2)) return SendClientMessage(playerid, red, "Napisi: /ban [ID] [razlog]");
if(!IsPlayerConnected(kohde)) return SendClientMessage(playerid, COLOR_RED, "Netocan ID");
if(PlayerInfo[kohde][Jezik] == 1)
{
new string[128];
format(string, sizeof(string), "BAN: %s Je banan sa servera. (razlog: %s)", PlayerName(kohde), params[2]);
SendClientMessageToAll(COLOR_RED, string);
}
else
{
new string[128];
format(string, sizeof(string), "BAN: %s is banned from server. (reason: %s)", PlayerName(kohde), params[2]);
SendClientMessageToAll(COLOR_RED, string);
}
return BanEx(kohde, string);
}
return 1;
}
ma to imam resenje ali sada kako da napravim ove Netocan ID da je na 3 jezika jel to koristi return?