Problema event sistem.
#1

Salutare,

Am incercat sa fac un event gungame, insa nu prea mi-a iesit.
Sistemul:
Code:
// new's
new GunGame = 0;
new JoinedGunGame[MAX_PLAYERS];

//forward's
forward EventGunGame();
forward SEventGunGame();

// callback's
public EventGunGame()
{
	GunGame = 1;
	Echipa1 = 0;
	Echipa2 = 0;
	for(new i=0; i <= MAX_PLAYERS; i++)
	{
		if(IsPlayerConnected(i))
  		{
			SendClientMessage(i, COLOR_WHITE, "Event GunGame! Premiul este de $50.000 pentru echipa castigatoare!");
			SendClientMessage(i, COLOR_WHITE, "Pentru a participa la event scrie '/join'.In 30 secunde se da startul!");
			JoinedGunGame[i] = 0;
		}
	}
	SetTimer("SEventGunGame",30000,0);
	return 1;
}
forward EventMotoCross();
public EventMotoCross()
{
	EventRMotoCross = 1;
	for(new i=0; i <= MAX_PLAYERS; i++)
	{
		if(IsPlayerConnected(i))
  		{
			SendClientMessage(i, COLOR_WHITE, "Event Moto-Cross! Premiul I 100000$ Premiul II 75000$ Premiul III 50000$!");
			SendClientMessage(i, COLOR_WHITE, "Pentru a participa la event scrie '/join'.In 30 secunde se da startul!");
			JoinedMotoCross[i] = 0;
		}
	}
	SetTimer("SEventMotoCross",30000,0);
	return 1;
}
forward SEventMotoCross();
public SEventMotoCross()
{
	if(InscrisiMotoCross >= 7)
	{
		for(new i=0; i <= MAX_PLAYERS; i++)
		{
			if(IsPlayerConnected(i))
	  		{
  		     	SetPlayerHealth(i, 100);
				SendClientMessage(i, COLOR_LIGHTBLUE, "Inscrierile la eventul Moto-Cross au luat sfarsit!");
				if(JoinedMotoCross[i] > 0)
				{
				    CP[i] = 700;
        			SetPlayerRaceCheckpoint(i, 0, 585.4323, 832.3433, -30.9403, 562.301,824.2100, -22.4588, 3);
        			SendClientMessage(i, COLOR_LIGHTBLUE, "Event Race: Start! Go Go Go!");
        			TogglePlayerControllable(i, 1);
				}
			}
		}
		EventRMotoCross = 2;
	}
	else
	{
		for(new i=0; i <= MAX_PLAYERS; i++)
		{
			if(IsPlayerConnected(i))
	  		{
				SendClientMessage(i, COLOR_WHITE, "Inscrierile la eventul Moto-Cross au luat sfarsit!");
				SendClientMessage(i, COLOR_WHITE, "Din cauza lipsei de participanti, eventul s-a anulat!");
			}
		}
		InscrisiMotoCross = 0;
		EventRMotoCross = 0;
		OmoaraInvingatoriMoto();
	}
	return 1;
}
public SEventGunGame()
{
	if(Echipa1 > 0 && Echipa2 > 0)
	{
		for(new i=0; i <= MAX_PLAYERS; i++)
		{
			if(IsPlayerConnected(i))
	  		{
	  		    if(JoinedGunGame[i] != 0 )
	  		    {
	  		    	ResetPlayerWeapons(i);
				}
  		     	SetPlayerHealth(i, 100);
				SendClientMessage(i, COLOR_WHITE, "Inscrierile la eventul GunGame au luat sfarsit!");
				if(JoinedGunGame[i] > 0)
				{
				    TogglePlayerControllable(i, 1);
				    SendClientMessage(i, COLOR_WHITE, "3!");
				    SendClientMessage(i, COLOR_WHITE, "2!");
				    SendClientMessage(i, COLOR_WHITE, "1!");
				    SendClientMessage(i, COLOR_WHITE, "Go!Go!Go! Succes!!!");
				    GivePlayerWeapon(i, 24, 9999);
				    GivePlayerWeapon(i, 29, 9999);
				    GivePlayerWeapon(i, 31, 9999);
				    GivePlayerWeapon(i, 34, 9999);
				}
			}
		}
		GunGame = 2;
	}
	else
	{
		for(new i=0; i <= MAX_PLAYERS; i++)
		{
			if(IsPlayerConnected(i))
	  		{

				SendClientMessage(i, COLOR_WHITE, "Inscrierile la eventul GunGame au luat sfarsit!");
				SendClientMessage(i, COLOR_WHITE, "Din cauza lipsei de participanti, eventul s-a anulat!");
				if(JoinedGunGame[i] > 0)
				{
                    SetPlayerHealth(i, 0);
                    JoinedGunGame[i] = 0;
                    SetPlayerSkin(i, PlayerInfo[i][pChar]);
				}
			}
		}
		GunGame = 0;
		OmoaraInvingatori();
	}
	return 1;
}
public OmoaraInvingatori()
{
	for(new i =0; i <=MAX_PLAYERS; i++)
	{
	    if(IsPlayerConnected(i))
	    {
			if(JoinedGunGame[i] > 0)
			{
 				SetPlayerHealth(i, 0);
			}
	    }
	}
	return 1;
}


public OnPlayerConnect(playerid)
{
    JoinedGunGame[playerid] = 0;
    return 1;
}

public OnPlayerDisconnect(playerid)
{
    	if(JoinedGunGame[playerid] > 0)
	{
		if(JoinedGunGame[playerid] ==  2)
		{
		    if(Echipa2 > 0)
		    {
				Echipa2 -= 1;
		    }
		}
		else if(JoinedGunGame[playerid] ==  1)
		{
		    if(Echipa1 > 0)
		    {
		        Echipa1 -= 1;
		    }
		}
                return 1;
            }


	if(GunGame == 2)
	{
			    new echipa01 = 0;
			    new echipa02 = 0;
	    		for(new pla = 0; pla <= MAX_PLAYERS; pla++)
		        {
		            if(IsPlayerConnected(pla))
	    			{
						if(JoinedGunGame[pla] == 1)
	    			    {
                            echipa01++;
						}
						if(JoinedGunGame[pla] == 2)
	    			    {
                            echipa02++;
						}
	    			}
		        }
		        if(echipa01 == 0)
				{
				    for(new pla = 0; pla <= MAX_PLAYERS; pla++)
			        {
			            if(IsPlayerConnected(pla))
		    			{
		    			    SendClientMessage(pla, COLOR_WHITE, "Echipa numarul 2 a castigat eventul GunGame.");
		    			    if(JoinedGunGame[pla] == 2)
		    			    {
		    			        SendClientMessage(pla, COLOR_WHITE, "Felicitari! Ai primit 50.000$, deoarece echipa ta a castigat eventul GunGame si ai ramas in viata.");
	                            GivePlayerCash(pla,50000);
	                            ConsumingMoney[pla] = 1;
	                            new hour,minute,second;
								new year, month,day;
								gettime(hour,minute,second);
								getdate(year, month, day);
								format(string, sizeof(string), "%s a primit (winner gungame) $50.000  (%d/%d/%d ora: %d:%d:%d )", PlayerInfo[pla][pNume], day, month, year, hour,minute,second);
								PayLog(string);
							}
		    			}
					}
					OmoaraInvingatori();
					GunGame = 0;
				}
				if(echipa02 == 0)
				{
				    for(new pla = 0; pla <= MAX_PLAYERS; pla++)
			        {
			            if(IsPlayerConnected(pla))
		    			{
		    			    SendClientMessage(pla, COLOR_WHITE, "Echipa numarul 1 a castigat eventul GunGame.");
		    			    if(JoinedGunGame[pla] == 1)
		    			    {
		    			        SendClientMessage(pla, COLOR_WHITE, "Felicitari! Ai primit 50.000$, deoarece echipa ta a castigat eventul GunGame si ai ramas in viata.");
	                            GivePlayerCash(pla,50000);
	                            ConsumingMoney[pla] = 1;
	                            new hour,minute,second;
								new year, month,day;
								gettime(hour,minute,second);
								getdate(year, month, day);
								format(string, sizeof(string), "%s a primit (winner gungame) $50.000  (%d/%d/%d ora: %d:%d:%d )", PlayerInfo[pla][pNume], day, month, year, hour,minute,second);
								PayLog(string);
							}
		    			}
					}
					OmoaraInvingatori();
					GunGame = 0;
				}
	}

public SetPlayerSpawn(playerid)
{
    if(JoinedGunGame[playerid] > 0)
    {
	 		JoinedGunGame[playerid] = 0;
			SetPlayerSkin(playerid, PlayerInfo[playerid][pChar]);
			ResetPlayerWeapons(playerid);
		}

public OnPlayerDeath(playerid, killerid, reason)
{
    if(JoinedGunGame[killerid] == 1 || JoinedGunGame[killerid] == 2)
    {
	    return 1;
	}
	if(JoinedGunGame[playerid] > 0)
	{
 		JoinedGunGame[playerid] = 0;
		SetPlayerSkin(playerid, PlayerInfo[playerid][pChar]);
		ResetPlayerWeapons(playerid);
	}

public OnPlayerSpawn(playerid)
{   
    if(JoinedGunGame[playerid] > 0)
    {
 		JoinedGunGame[playerid] = 0;
		SetPlayerSkin(playerid, PlayerInfo[playerid][pChar]);
		ResetPlayerWeapons(playerid);
	}

public SyncTime()
{
    SetTimer("EventGunGame",120000,0);
    return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/eventgg", cmdtext, true, 9) == 0)
    {
        if(GunGame)
        {
            SendClientMessage(playerid, COLOR_WHITE, "Server: Nu poti folosi aceasta comanda in timpul unui event gungame");
            return 1;
		}
		if(PlayerInfo[playerid][pAdmin] >= 3)
		{
		    format(string, sizeof(string), "Admin %s a pornit un event: gun game",PlayerInfo[playerid][pNume]);
			ABroadCast(COLOR_LIGHTRED,string,1);
		    EventGunGame();
		    return 1;
		}
		else return 0;
	}
        else if(GunGame == 1 && JoinedGunGame[playerid] == 0 && WantedLevel[playerid] == 0)
	 			{
				    if(Echipa1 < Echipa2)
					{
						SetPlayerPos(playerid,-973.9688,1060.8028,1345.6762);
						Echipa1 += 1;
						JoinedGunGame[playerid] = 1;
						TogglePlayerControllable(playerid, 0);
						SetPlayerInterior(playerid, 10);
						PlayerInfo[playerid][pInt] = 10;
						SendClientMessage(playerid, COLOR_WHITE, "Ai intrat la event! Esti in echipa numarul 1.");
						SetPlayerSkin(playerid, 111);
						SetPlayerColor(playerid,0xFFFFFFAA00);
					}
					else
					{
					    SetPlayerPos(playerid,-1131.4752,1057.7475,1346.4156);
					    Echipa2 += 1;
					    JoinedGunGame[playerid] = 2;
					    TogglePlayerControllable(playerid, 0);
					    SetPlayerInterior(playerid, 10);
						PlayerInfo[playerid][pInt] = 10;
						SendClientMessage(playerid, COLOR_WHITE, "Ai intrat la event! Esti in echipa numarul 2.");
						SetPlayerSkin(playerid, 105);
						SetPlayerColor(playerid,0xFF634700);
					}
				}
Erorile:
Code:
C:\Documents and Settings\Administrator\Desktop\event sistem.pwn(3) : error 017: undefined symbol "MAX_PLAYERS"
C:\Documents and Settings\Administrator\Desktop\event sistem.pwn(3) : error 009: invalid array size (negative, zero or out of bounds)
C:\Documents and Settings\Administrator\Desktop\event sistem.pwn(13) : error 017: undefined symbol "Echipa1"
C:\Documents and Settings\Administrator\Desktop\event sistem.pwn(13) : warning 215: expression has no effect
C:\Documents and Settings\Administrator\Desktop\event sistem.pwn(14) : error 017: undefined symbol "Echipa2"
C:\Documents and Settings\Administrator\Desktop\event sistem.pwn(14) : warning 215: expression has no effect
C:\Documents and Settings\Administrator\Desktop\event sistem.pwn(15) : error 017: undefined symbol "MAX_PLAYERS"
C:\Documents and Settings\Administrator\Desktop\event sistem.pwn(17) : error 017: undefined symbol "IsPlayerConnected"
C:\Documents and Settings\Administrator\Desktop\event sistem.pwn(19) : error 017: undefined symbol "SendClientMessage"
C:\Documents and Settings\Administrator\Desktop\event sistem.pwn(20) : error 017: undefined symbol "SendClientMessage"
C:\Documents and Settings\Administrator\Desktop\event sistem.pwn(24) : error 017: undefined symbol "SetTimer"
C:\Documents and Settings\Administrator\Desktop\event sistem.pwn(30) : error 017: undefined symbol "EventRMotoCross"
C:\Documents and Settings\Administrator\Desktop\event sistem.pwn(30) : warning 215: expression has no effect
C:\Documents and Settings\Administrator\Desktop\event sistem.pwn(31) : error 017: undefined symbol "MAX_PLAYERS"
C:\Documents and Settings\Administrator\Desktop\event sistem.pwn(33) : error 017: undefined symbol "IsPlayerConnected"
C:\Documents and Settings\Administrator\Desktop\event sistem.pwn(35) : error 017: undefined symbol "SendClientMessage"
C:\Documents and Settings\Administrator\Desktop\event sistem.pwn(36) : error 017: undefined symbol "SendClientMessage"
C:\Documents and Settings\Administrator\Desktop\event sistem.pwn(37) : error 017: undefined symbol "JoinedMotoCross"
C:\Documents and Settings\Administrator\Desktop\event sistem.pwn(37) : warning 215: expression has no effect
C:\Documents and Settings\Administrator\Desktop\event sistem.pwn(37) : error 001: expected token: ";", but found "]"
C:\Documents and Settings\Administrator\Desktop\event sistem.pwn(37) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Administrator\Desktop\event sistem.pwn(37) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


18 Errors.
Help ? Dau 2x rep.
Reply
#2

#include <a_samp>

?
Reply
#3

Quote:
Originally Posted by RaZVaN ^ xD
View Post
#include <a_samp>

?
Mda nu are #include <a_samp> in gm
Reply
#4

Bun, am adaugat acel include, acum am 7 erori.
Quote:

C:\Documents and Settings\Administrator\Desktop\event sistem.pwn(20) : error 017: undefined symbol "Echipa1"
C:\Documents and Settings\Administrator\Desktop\event sistem.pwn(20) : warning 215: expression has no effect
C:\Documents and Settings\Administrator\Desktop\event sistem.pwn(21) : error 017: undefined symbol "Echipa2"
C:\Documents and Settings\Administrator\Desktop\event sistem.pwn(21) : warning 215: expression has no effect
C:\Documents and Settings\Administrator\Desktop\event sistem.pwn(36) : error 017: undefined symbol "Echipa1"
C:\Documents and Settings\Administrator\Desktop\event sistem.pwn(77) : error 017: undefined symbol "PlayerInfo"
C:\Documents and Settings\Administrator\Desktop\event sistem.pwn(77) : warning 215: expression has no effect
C:\Documents and Settings\Administrator\Desktop\event sistem.pwn(77) : error 001: expected token: ";", but found "]"
C:\Documents and Settings\Administrator\Desktop\event sistem.pwn(77) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Administrator\Desktop\event sistem.pwn(77) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


7 Errors.

Reply
#5

Pune asa unde mai ai cu define:
Quote:

#define Echipa1
#define Echipa1

si dane linia 77
Reply
#6

Quote:
Originally Posted by IuLyAnBoSs
View Post
Pune asa unde mai ai cu define:

si dane linia 77
LOL, poi si ca ce le defineste?
Reply
#7

pai si atuncea cum scapi de ele mai desteptule?
Reply
#8

Desteptule poate ca acele randuri au o functie in tot scriptul, iar daca tu pui #define si atat le anulezi si nu ai facut nimic. Asa ca Addons mai bine ataseaza aici pwn-ul si ti-l rezolv eu
Reply
#9

http://www.solidfiles.com/d/0a97afd1b4/
Reply
#10

Asta era inclus in gm-ul tau, sau este FS?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)