Jump to content
  • 0

pomoc [VYŘEŠENO] Error u ban


Guest Mort

Dotaz

Ahoj, dělám si menší systémek do módu, už jsem se ptal Petr_AP] , neodpověděl, QWER, neodpověděl :oops:

 

Mám problémek s Ban(em)

 

dcmd_ban(playerid,params[])
{
if(AdminLevel[playerid] == 1)
{
    new id = strval(params);
    new mezera;

    if(!params[0] || !(mezera = chrfind(' ', params) + 1) || !params[id]) return SCM(playerid,COLOR_YELLOW,"[ADMIN SYSTEM] Použij /ban [iD] [DUVOD]");
	if(playerid == id) return SCM(playerid,COLOR_YELLOW,"[ADMIN SYSTEM] Sám sobě si dát ban nemůžeš !");
	if(!IsPlayerConnected(id)) return SCM(playerid,COLOR_YELLOW,"[ADMIN SYSTEM] Hráč se zadaným ID není na serveru !");
	new duvod[20];
	duvod = params[mezera];
	if(strlen(params[id])>20) return SCM(playerid,COLOR_YELLOW,"[ADMIN SYSTEM] Napsal jsi příliš dlouhý důvod banu !");
	else
	BanEx(id,duvod);
	new string1[150];
	format(string1,sizeof(string1),"[ADMIN] Administrátor %s zabanoval hráče %s [Důvod : %s]",PlayerName(playerid),PlayerName(id),params);
	SCMTA(COLOR_RED,string1);
	new string2[150];
	format(string2,150,"Administrátor %s tě zabanoval s důvodem : %s",PlayerName(playerid),params);
	ShowTitleForPlayer(id,6,string2);
}
else 
{
    SCM(playerid,COLOR_RED,"Nejsi administrátor");
}
return true;
}

 

U :

duvod = params[mezera];

 

 

= error 033: array must be indexed (variable "duvod")

 

Nevíte co s tím ? "confused" :?

Link to comment
Share on other sites

9 odpovědí na tuto otázku

Recommended Posts

  • 0

To že jsem ti neodepsal není tím, že bych nechtěl, jen jsem neměl v posledních dnech moc času ;)

 

Takže:

new duvod[20] = params[mezera];

a

duvod = params[mezera];

nejdou, nevím ale proč to nejde, mělo by to jít.

 

No mrknu do celého kódu znovu.

Chyba tady:

|| !params[id])

tam dej místo id proměnnou mezera

 

V nejhorším případě bys musel použít format, přes ten by to tutově šlo :d

if(strlen(params[id])>20)

Tady je další chyba, proč nepoužiješ rovnou tu proměnnou duvod?

 

Jinak co jsem se díval, tak fakt nevidím důvod, proč by to nemělo jít, sry.

 

Zkus jak psal David do chatu:

zkus BanEx(id,params[mezera]);
Link to comment
Share on other sites

  • 0

OK tak jsem to truchu přeměnil ...

dcmd_ban(playerid,params[])
{
if(AdminLevel[playerid] == 1)
{
    new id = strval(params);
    new mezera;

    if(!params[0] || !(mezera = chrfind(' ', params) + 1) || !params[mezera]) return SCM(playerid,COLOR_YELLOW,"[ADMIN SYSTEM] Použij /ban [iD] [DUVOD]");
	if(playerid == id) return SCM(playerid,COLOR_YELLOW,"[ADMIN SYSTEM] Sám sobì si dát ban nemùžeš !");
	if(!IsPlayerConnected(id)) return SCM(playerid,COLOR_YELLOW,"[ADMIN SYSTEM] Hráè se zadaným ID není na serveru !");


	if(strlen(params[mezera])>20) return SCM(playerid,COLOR_YELLOW,"[ADMIN SYSTEM] Napsal jsi pøíliš dlouhý dùvod banu !");
	else
	BanEx(id,params[mezera]);
	new string1[150];
	format(string1,sizeof(string1),"[ADMIN] Administrátor %s zabanoval hráèe %s [Dùvod : %s]",PlayerName(playerid),PlayerName(id),params);
	SCMTA(COLOR_RED,string1);
	new string2[150];
	format(string2,150,"Administrátor %s tì zabanoval s dùvodem : %s",PlayerName(playerid),params);
	ShowTitleForPlayer(id,6,string2);
}
else 
{
    SCM(playerid,COLOR_RED,"Nejsi administrátor");
}
return true;
}

 

Je to bez erroru, myslíte že by to šlo ? :d

Link to comment
Share on other sites

  • 0
OK tak jsem to truchu přeměnil ...

dcmd_ban(playerid,params[])
{
if(AdminLevel[playerid] == 1)
{
    new id = strval(params);
    new mezera;

    if(!params[0] || !(mezera = chrfind(' ', params) + 1) || !params[mezera]) return SCM(playerid,COLOR_YELLOW,"[ADMIN SYSTEM] Použij /ban [iD] [DUVOD]");
	if(playerid == id) return SCM(playerid,COLOR_YELLOW,"[ADMIN SYSTEM] Sám sobì si dát ban nemùžeš !");
	if(!IsPlayerConnected(id)) return SCM(playerid,COLOR_YELLOW,"[ADMIN SYSTEM] Hráè se zadaným ID není na serveru !");


	if(strlen(params[mezera])>20) return SCM(playerid,COLOR_YELLOW,"[ADMIN SYSTEM] Napsal jsi pøíliš dlouhý dùvod banu !");
	else
	BanEx(id,params[mezera]);
	new string1[150];
	format(string1,sizeof(string1),"[ADMIN] Administrátor %s zabanoval hráèe %s [Dùvod : %s]",PlayerName(playerid),PlayerName(id),params);
	SCMTA(COLOR_RED,string1);
	new string2[150];
	format(string2,150,"Administrátor %s tì zabanoval s dùvodem : %s",PlayerName(playerid),params);
	ShowTitleForPlayer(id,6,string2);
}
else 
{
    SCM(playerid,COLOR_RED,"Nejsi administrátor");
}
return true;
}

 

Je to bez erroru, myslíte že by to šlo ? :d

 

Smaž ten else a mělo by, zkus to.

if(strlen(params[mezera])>20) return SCM(playerid,COLOR_YELLOW,"[ADMIN SYSTEM] Napsal jsi pøíliš dlouhý dùvod banu !");

else

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...