Jump to content

pomoc setport


prco167

Recommended Posts

Robim si svoj setport lenže furd my chibi ukazuje

tu je code:

 

#include <a_samp>
 
new odpocet;
new odpocitavani;
new Float: xport, Float: yport, Float: zport;
 
enum SERVER_INFO
{
Zakaz,
Server,
 
}
dcmd(port,7, cmdtext);
dcmd(setport,7, cmdtext);
dcmd(delport,7, cmdtext);
 
dcmd_setport(playerid, params[])
{
   #pragma unused params
if(IsPlayerConnected(playerid))
{
if(Player[playerid][AdminLevel] ==0) return SendClientMessage(playerid,COLOR_WARNING,"[  !  ] {FFFFFF}Niesi Administrátor !");
else if(Player[playerid][AdminLevel] <= 2) return SendClientMessage(playerid,COLOR_WARNING,"[  !  ] {FFFFFF}Na použitie tohto príkazu potrebuješ Admin Level 3 !");
else
  {
      if(Server[Port] == 1) return SendClientMessage(playerid, COLOR_BLUE_LIGHT, "[ Event ] Jeden event již existuje ! - /delport pro odstranění předchozího eventu !");
      {
Server[Port] = 1;
           GetPlayerPos(playerid, xport, yport, zport);
           new Name[26], string[128], string2[128];
GetPlayerName(playerid, Name, 26);
format(string, sizeof(string), "Administrátor %s vytvořil event (/port)", Name);
SendClientMessageToAll(COLOR_BLUE_LIGHT,string);
format(string2, sizeof(string2), "~b~Event - ~r~/port");
GameTextForAll(string2, 70000, 1);
Server[Vytvarim] = 1;
odpocet = 60;
        odpocitavani = SetTimer("port", 1000, 1);
            }
    }
}
return 1;
}
 
 
dcmd_delport(playerid, params[])
{
   #pragma unused params
   if(IsPlayerConnected(playerid))
   {
if(Player[playerid][AdminLevel]==0) SendClientMessage(playerid,COLOR_WARNING,"[  !  ] {FFFFFF}Niesi Administrátor !");
else if(Player[playerid][AdminLevel] <= 2) return SendClientMessage(playerid,COLOR_WARNING,"[  !  ] {FFFFFF}Na použitie tohto príkazu potrebuješ Admin Level 3 !");
else
{
if(Server[Vytvarim] == 1)
{
new string[128];
format(string, 128, "~b~Event ~b~byl ~b~necekane ~b~ukoncen !");
GameTextForAll(string, 10000, 1);
 
}
Server[Port] = 0;
Server[Zakaz] = 0;
KillTimer(odpocitavani);
SendClientMessage(playerid, COLOR_BLUE_LIGHT, "[ Event ] Ukončil jsi Event !");
 
}
 
}
return 1;
}
 
dcmd_port(playerid, params[])
{
#pragma unused params
if(IsPlayerConnected(playerid))
{
   if(Server[Port] == 0) return SendClientMessage(playerid, COLOR_BLUE_LIGHT, "[ Event ] Žádný event není vytvořený !");
   {
if(Server[Zakaz] == 1) return SendClientMessage(playerid, COLOR_BLUE_LIGHT, "[ Event ] Event byl už odstartován !");
{
new Name[26], string[128];
GetPlayerName(playerid, Name, 26);
SetPlayerPos(playerid, xport, yport, zport);
format(string, sizeof(string), "[ Event ] Hráč %s se zúčastní eventu !", Name);
SendClientMessageToAll(COLOR_BLUE_LIGHT, string);
}
}
}
return 1;
}
 
 
 
 
forward port();
public port()
{
odpocet--;
new string[128];
 
if(odpocet<=10)
{
new string2[128];
format(string2,128, "%d",odpocet);
        GameTextForAll(string2,1000,6);
}
 
if(odpocet==0)
{
  Server[Zakaz] = 1;
  format(string,128,"~r~Event ~b~byl ~b~odstartovan ~b~!");
GameTextForAll(string, 1000, 1);
KillTimer(odpocitavani);
Server[Vytvarim] = 0;
 
}
return 1;
}
a tu su chibi :
 
D:\nove veci s pawna\RZE8\port.pwn(13) : error 010: invalid function or declaration
D:\nove veci s pawna\RZE8\port.pwn(14) : error 025: function heading differs from prototype
D:\nove veci s pawna\RZE8\port.pwn(15) : error 025: function heading differs from prototype
D:\nove veci s pawna\RZE8\port.pwn(111) : error 028: invalid subscript (not an array or too many subscripts): "Server"
D:\nove veci s pawna\RZE8\port.pwn(111) : warning 215: expression has no effect
D:\nove veci s pawna\RZE8\port.pwn(111) : error 001: expected token: ";", but found "]"
D:\nove veci s pawna\RZE8\port.pwn(111) : error 029: invalid expression, assumed zero
D:\nove veci s pawna\RZE8\port.pwn(111) : fatal error 107: too many error messages on one line
 
Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
 
 
7 Errors.

 

Link to comment
Share on other sites

  • 3 weeks later...

Něco jako Code ti neříká ? Gramatika taky nic? Tabovaní taky nic?

pokud vím, tak se dcmd dávaj do CommandText.. a ne jen tak do modu... nevidím tam definici dcmd..

Link to comment
Share on other sites

Už jen toto

 

dcmd(port,7, cmdtext);
dcmd(setport,7, cmdtext);
dcmd(delport,7, cmdtext);
 
dcmd(port,4, cmdtext);
dcmd(setport,7, cmdtext);
dcmd(delport,7,cmdtext);
//Vždy kolik má to slovo písmen!
Link to comment
Share on other sites

Mohu se zeptat, kde si tento event vzal? Dělal jsem ho tu jednomu začátečníkovi, ale když jsem mu ho posílal, tak fungoval :d Nebo to bylo pro tebe?

 

 

#define FILTERSCRIPT

#include <a_samp>
#define MAX_PLAYERS_EX 100

enum SERVER_INFO
{
	Port,
	Zakaz,
	Vytvarim
}

enum PLAYER_INFO
{
	AdminLevel
}

new Float: xport, Float: yport, Float: zport;
new Server[SERVER_INFO];
new Player[MAX_PLAYERS_EX][PLAYER_INFO];
new odpocet;
new odpocitavani;

#define BLUE 0x0087FFFF
#define SCM SendClientMessage
#define SCMA SendClientMessageToAll
#if defined FILTERSCRIPT

public OnFilterScriptInit()
{
	print("\n--------------------------------------");
	print(" Event system byl úspěšně načten...");
	print("--------------------------------------\n");
	return 1;
}

public OnFilterScriptExit()
{
	Server[Port] = 0;
	return 1;
}

#else
#endif



public OnPlayerCommandText(playerid, cmdtext[])
{
	if (strcmp("/setport", cmdtext, true, 7) == 0)
	{
		if(IsPlayerConnected(playerid))
		{
			if(Player[playerid][AdminLevel] ==0) return SCM(playerid, BLUE, "[ Event ] Nejsi Administrátor !");
			else if(Player[playerid][AdminLevel] <= 2) return SCM(playerid, BLUE, "[ Event ] Nedostatečný Admin Level");
			else
  			{
  		    	if(Server[Port] == 1) return SCM(playerid, BLUE, "[ Event ] Jeden event již existuje ! - /delport pro odstranění předchozího eventu !");
  		    	{
					Server[Port] = 1;
		            GetPlayerPos(playerid, xport, yport, zport);
		            new Name[26], string[128], string2[128];
					GetPlayerName(playerid, Name, 26);
					format(string, sizeof(string), "Administrátor %s vytvořil event (/port)", Name);
					SCMA(BLUE,string);
					format(string2, sizeof(string2), "~b~Event - ~r~/port");
					GameTextForAll(string2, 70000, 1);
					Server[Vytvarim] = 1;
					odpocet = 60;
		         	odpocitavani = SetTimer("port", 1000, 1);
            	}
   			}
	 	}
		return 1;
	}
	

	if (strcmp("/delport", cmdtext, true, 7) == 0)
	{
		if(Player[playerid][AdminLevel] ==0) return SCM(playerid, BLUE, "[ Event ] Nejsi Administrátor !");
		else if(Player[playerid][AdminLevel] <= 2) return SCM(playerid, BLUE, "[ Event ] Nedostatečný Admin Level");
		else
	 	{
				if(Server[Vytvarim] == 1)
				{
					new string[128];
					format(string, 128, "~b~Event ~b~byl ~b~necekane ~b~ukoncen !");
					GameTextForAll(string, 10000, 1);
				
				}

				Server[Port] = 0;
				Server[Zakaz] = 0;
				KillTimer(odpocitavani);
				SCM(playerid, BLUE, "[ Event ] Ukončil jsi Event !");
			
	 	}
		return 1;
	}

	if (strcmp("/port", cmdtext, true, 4) == 0)
	{
		if(IsPlayerConnected(playerid))
		{
		    if(Server[Port] == 0) return SCM(playerid, BLUE, "[ Event ] Žádný event není vytvořený !");
		    {
				if(Server[Zakaz] == 1) return SCM(playerid, BLUE, "[ Event ] Event byl už odstartován !");
				{
					new Name[26], string[128];
					GetPlayerName(playerid, Name, 26);
					SetPlayerPos(playerid, xport, yport, zport);
					format(string, sizeof(string), "[ Event ] Hráč %s se zúčastní eventu !", Name);
					SCMA(BLUE, string);
				}
			}
		}
		return 1;
	}

	return 0;
}
         


forward port();
public port()
{
	odpocet--; 
	new string[128];

	if(odpocet<=10)
	{
		new string2[128];
		format(string2,128, "%d",odpocet);
        GameTextForAll(string2,1000,6);
	}
	
	if(odpocet==0)
	{
	 	Server[Zakaz] = 1;
	 	format(string,128,"~r~Event ~b~byl ~b~odstartovan ~b~!");
		GameTextForAll(string, 1000, 1);
		KillTimer(odpocitavani);
		Server[Vytvarim] = 0;

	}
	return 1;
}

 

 

 

Už to vidím, tobě se nelíbilo, že to bylo přes strcmp a chtěl sis to předělat do dcmd. :d

 

//E: Tento už je opravený, protože jsem tam našel bug, teď už by to mělo fungovat.  tohle :

 

dcmd(port,4, cmdtext);
dcmd(setport,7, cmdtext);
dcmd(delport,7, cmdtext);

si hoď do 

public OnPlayerCommandText

pak, už by ti to mělo fungovat, nevím co tam máš za další chyby.

  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites


#include <a_samp>

new odpocet;
new odpocitavani;
new Float: xport, Float: yport, Float: zport;

#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1

enum SERVER_INFO
{
Zakaz,
Server
}

public OnPlayerCommandText(playerid, cmdtext[])
{
dcmd(port,4, cmdtext);
dcmd(setport,7, cmdtext);
dcmd(delport,7, cmdtext);
return 0;
}

dcmd_setport(playerid, params[])
{
#pragma unused params
if(IsPlayerConnected(playerid))
{
if(Player[playerid][AdminLevel] ==0) return SendClientMessage(playerid,COLOR_WARNING,"[ ! ] {FFFFFF}Niesi Administrátor !");
else if(Player[playerid][AdminLevel] <= 2) return SendClientMessage(playerid,COLOR_WARNING,"[ ! ] {FFFFFF}Na použitie tohto príkazu potrebuješ Admin Level 3 !");
else
{
if(Server[Port] == 1) return SendClientMessage(playerid, COLOR_BLUE_LIGHT, "[ Event ] Jeden event již existuje ! - /delport pro odstranění předchozího eventu !");
{
Server[Port] = 1;
GetPlayerPos(playerid, xport, yport, zport);
new Name[26], string[128], string2[128];
GetPlayerName(playerid, Name, 26);
format(string, sizeof(string), "Administrátor %s vytvořil event (/port)", Name);
SendClientMessageToAll(COLOR_BLUE_LIGHT,string);
format(string2, sizeof(string2), "~b~Event - ~r~/port");
GameTextForAll(string2, 70000, 1);
Server[Vytvarim] = 1;
odpocet = 60;
odpocitavani = SetTimer("port", 1000, 1);
}
}
}
return 1;
}


dcmd_delport(playerid, params[])
{
#pragma unused params
if(IsPlayerConnected(playerid))
{
if(Player[playerid][AdminLevel]==0) SendClientMessage(playerid,COLOR_WARNING,"[ ! ] {FFFFFF}Niesi Administrátor !");
else if(Player[playerid][AdminLevel] <= 2) return SendClientMessage(playerid,COLOR_WARNING,"[ ! ] {FFFFFF}Na použitie tohto príkazu potrebuješ Admin Level 3 !");
else
{
if(Server[Vytvarim] == 1)
{
new string[128];
format(string, 128, "~b~Event ~b~byl ~b~necekane ~b~ukoncen !");
GameTextForAll(string, 10000, 1);
}
Server[Port] = 0;
Server[Zakaz] = 0;
KillTimer(odpocitavani);
SendClientMessage(playerid, COLOR_BLUE_LIGHT, "[ Event ] Ukončil jsi Event !");
}
}
return 1;
}

dcmd_port(playerid, params[])
{
#pragma unused params
if(IsPlayerConnected(playerid))
{
if(Server[Port] == 0) return SendClientMessage(playerid, COLOR_BLUE_LIGHT, "[ Event ] Žádný event není vytvořený !");
{
if(Server[Zakaz] == 1) return SendClientMessage(playerid, COLOR_BLUE_LIGHT, "[ Event ] Event byl už odstartován !");
{
new Name[26], string[128];
GetPlayerName(playerid, Name, 26);
SetPlayerPos(playerid, xport, yport, zport);
format(string, sizeof(string), "[ Event ] Hráč %s se zúčastní eventu !", Name);
SendClientMessageToAll(COLOR_BLUE_LIGHT, string);
}
}
}
return 1;
}

forward port();
public port()
{
odpocet--;
new string[128];
if(odpocet<=10)
{
new string2[128];
format(string2,128, "%d",odpocet);
GameTextForAll(string2,1000,6);
}
if(odpocet==0)
{
Server[Zakaz] = 1;
format(string,128,"~r~Event ~b~byl ~b~odstartovan ~b~!");
GameTextForAll(string, 1000, 1);
KillTimer(odpocitavani);
Server[Vytvarim] = 0;
}
return 1;
}

  • Líbí se mi to! (+1) 1
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...