Jump to content
  • 0

pomoc Příkaz se nevyvolá


Lurk

Dotaz

Ahoj, mám problém, když zadám příkaz /volby napíše mi to jako by příkaz neexistovat.

Barvy a Volby[info] definovaný

public OnPlayerCommandText(playerid, cmdtext[])
{
dcmd(volby, 5, cmdtext);
return SendClientMessage(playerid, other, "Chybný příkaz /help");
}
dcmd_volby(playerid, params[]){
	if(Volby[Probiha] == 1) return SendClientMessage(playerid,other,"Volby probíhají");
   if (!strlen(params)) return SendClientMessage(playerid, other, "/volby ID");
new hrac = strval(params);
if (!IsPlayerConnected(hrac)) return SendClientMessage(playerid, other, "Hrac není online");

SetTimerEx("VolbyKonci", 60000, 0, "i", playerid);
new string[128];
format(string, 128, "%s zahájil volby, aby hráč %s byl starosta města. Volte příkazem /volit", Jmeno(playerid),Jmeno(hrac));
SendClientMessageToAll(yellow, string);

Volby[Kandidat] = hrac;
Volby[Probiha] = 1;
return true;
}

Link to comment
Share on other sites

25 odpovědí na tuto otázku

Recommended Posts

  • 0
SetTimerEx("VolbyKonci", 60000, 0, "i", playerid);

To VolbyKonci nemal by byť náhodou nato forward aby sa skoncili voľby po jednej minute? Ja neviem teraz to robim naslepo. Len tipujem.

Link to comment
Share on other sites

  • 0

forward VolbyKonci(playerid);
public VolbyKonci(playerid){
if (IsPlayerConnected(Volby[Kandidat])){
    if (Ano > Ne){
		new string[128];
		format(string, 128, "%s byl zvolen za starostu", Jmeno(Volby[Kandidat]));
		SendClientMessageToAll(yellow, string);

		Player[Volby[Kandidat]][starosta] = 1;

		for(new i = 0; i < MAX_PLAYERS; i ++){
		    if (IsPlayerConnected(i)){
		        Player[i][Hlasoval] = 0;
		        if (Player[i][starosta] == 1){
		            Player[i][starosta] = 0;
		            SendClientMessage(i, other, "Byl jsi degradován z místa starosty");
	}}}}
	else if (Ano == Ne){
		SendClientMessageToAll(other, "Starosta nebude zvolen za remízu");
	}
	else if (Ano < Ne){
		new string[128];
		format(string, 128, "%s nebyl zvolen jako starosta", Jmeno(Volby[Kandidat]));
		SendClientMessageToAll(other, string);
	}
	Volby[Probiha] = 0;
}
}

 

mám to v GM, errory ani warning to nehází

 

enum Volby_Info
{
Kandidat,
Probiha
}
new Volby[Volby_Info];

Link to comment
Share on other sites

  • 0
forward VolbyKonci(playerid);
public VolbyKonci(playerid){
if (IsPlayerConnected(Volby[Kandidat])){
    if (Ano > Ne){
		new string[128];
		format(string, 128, "%s byl zvolen za starostu", Jmeno(Volby[Kandidat]));
		SendClientMessageToAll(yellow, string);

		Player[Volby[Kandidat]][starosta] = 1;

		for(new i = 0; i < MAX_PLAYERS; i ++){
		    if (IsPlayerConnected(i)){
		        Player[i][Hlasoval] = 0;
		        if (Player[i][starosta] == 1){
		            Player[i][starosta] = 0;
		            SendClientMessage(i, other, "Byl jsi degradován z místa starosty");
	}}}}
	else if (Ano == Ne){
		SendClientMessageToAll(other, "Starosta nebude zvolen za remízu");
	}
	else if (Ano < Ne){
		new string[128];
		format(string, 128, "%s nebyl zvolen jako starosta", Jmeno(Volby[Kandidat]));
		SendClientMessageToAll(other, string);
	}
	Volby[Probiha] = 0;
}
return 1;
}

Ja neviem asi ten return

Link to comment
Share on other sites

  • 0
forward VolbyKonci(playerid);

playerid tam je zbytočný..

 

skús tam dať normálny timer..

SetTimer("VolbyKonci",60000,false);

 

 

ak napíšeš príkaz /volby [iD] tak ti napíše Chybný příkaz /help ?

Link to comment
Share on other sites

  • 0
forward VolbyKonci(playerid);

playerid tam je zbytočný..

 

skús tam dať normálny timer..

SetTimer("VolbyKonci",60000,false);

 

 

ak napíšeš príkaz /volby [iD] tak ti napíše Chybný příkaz /help ?

ne timer je dobry ibaze som tam nevidel return 1; tak to asi preto mu nevyvola prikaz

Link to comment
Share on other sites

  • 0

V kodu jsem chybu nenasel.

Hadal bych to ze neco v tom OnPlayerComamndText ti to stopne este driv nez se to dostane k tomu tvemu prikazu volby.

Dej jsem cely OnPlayerCommandText.

Link to comment
Share on other sites

  • 0
Mám úplně ten samý problém, jenže se strcmp. V pawn mám příkaz, přijdu na server a SERVER:Uknown Command. Return tam mám, úplně všechno správně a stejně tato chyba.

Tak ti to nejspis saha do neexistujici promeny.

Link to comment
Share on other sites

  • 0
Mám úplně ten samý problém, jenže se strcmp. V pawn mám příkaz, přijdu na server a SERVER:Uknown Command. Return tam mám, úplně všechno správně a stejně tato chyba.

Tak ti to nejspis saha do neexistujici promeny.

 

To mě taky napadlo. Jenže pak jsem zkusil:

if(strcmp(cmdtext,"/test",true)==0) {
SendClientMessage(playerid,-1,"Příkaz vyvolán!");
return 1;
}

 

Bez účinku. Zkoušel jsem i stáhnout další samp dedicated server, ale bez výsledku. Jako 'gamemód' používám timertest.

Zkoušel jsem i QCMD, ZCMD, DCMD, bez účinku. Opravdu je ta chyba u mě, nebo je to serverem? Zkusím to na xelu, uvidíme.

Link to comment
Share on other sites

  • 0

zkusil jsem přejmenovat příkaz na volby2 , /volby2 jde v pohode. tak jsem to zmenil zpatky a /volby zase nejdou, definovane to je jednou

dcmd(volby, 5, cmdtext);

takže s timto si fakt nevim rady

 

 

začalo mi to dělat od verze 0.3d, v 0.3c to jede, nemůže to být v pawnu bug?

Link to comment
Share on other sites

  • 0

Zkoušel jsem i ostatní příkazy. A:

 

dcmd_cmd(playerid,params[])
{
return dcmd_commands(playerid,params);
}

dcmd_commands(playerid,params[])
{
#pragma unused params
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX, "Dialog", "Příkaz commands se vyvolal.", "OK", "");
return 1;
}

 

příkaz /cmd funguje a vyvolá dialog. Příkaz /commands mi ve hře napsalo že neexistuje.

 

Neví někdo co stim?

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...