[Problema] Crash
#1

Bueno, resulta que puse un sistema de mapchange en mi gamemode, y cuando lo testeo con otro jugador mбs, al pasar al segundo mapa aparecemos en una posiciуn distinta, se nos 'traba' el juego y tenemos que reloguear..

PD: Con testeo yo sуlo sн funciona bien..

їAlguna soluciуn?
Reply
#2

Quote:
Originally Posted by Loox
Посмотреть сообщение
Bueno, resulta que puse un sistema de mapchange en mi gamemode, y cuando lo testeo con otro jugador mбs, al pasar al segundo mapa aparecemos en una posiciуn distinta, se nos 'traba' el juego y tenemos que reloguear..

PD: Con testeo yo sуlo sн funciona bien..

їAlguna soluciуn?
Quizбs se te podrнa ayudar si dejaras un cуdigo.
Reply
#3

El problema supongo que debe estar en el mapchange, asн que dejo ese code:

Код:
public LoadingandRound()
{
	for(new i=0;i<MAX_PLAYERS;i++)
	{
	    TogglePlayerControllable(i, 0);
	}
	MapChange++;
    GameTextForAll("~b~Loading New Map", 4000, 3);
	SetTimer("StartedNewRound", 4000, false);
	return 1;
}

public StartedNewRound()
{
	for(new i=0;i<MAX_PLAYERS;++i)
	{
	    SpawnPlayer(i);
	    
	    switch ( MapChange ) {
            case 0:
            {
                TextDrawSetString(mapname, "house");
                SendRconCommand("mapname house");
            }
            case 1:
            {
                TextDrawSetString(mapname, "storehouse");
                SendRconCommand("mapname storehouse");
            }
            case 2:
            {
                TextDrawSetString(mapname, "cargoboat");
                SendRconCommand("mapname cargoboat");
            }
            case 3:
            {
                TextDrawSetString(mapname, "desert glory");
                SendRconCommand("mapname desert glory");
            }
            case 4:
            {
                TextDrawSetString(mapname, "military area");
                SendRconCommand("mapname milutary area");
            }
            case 5:
            {
                TextDrawSetString(mapname, "area 69");
                SendRconCommand("mapname area 69");
            }
            case 6:
            {
                TextDrawSetString(mapname, "power station");
                SendRconCommand("mapname power station");
            }
            case 7:
            {
                TextDrawSetString(mapname, "bridge");
                SendRconCommand("mapname bridge");
            }
            case 8:
            {
                TextDrawSetString(mapname, "trucks park");
                SendRconCommand("mapname trucks park");
            }
        }
	    TogglePlayerControllable(i, 0);
	    GameTextForAll("Loading Objects", 3000, 3);
	    SetTimer("Unfreeze", 3000, false);
	}
	return 1;
}

public Unfreeze(playerid)
{
	if(FirstTimeSpawn[playerid] == 1)
	{
		GameTextForPlayer(playerid, "Loaded Objects. Let's Play", 1000, 3);
		TogglePlayerControllable(playerid, 1);
	}
	else
	{
		
		GameTextForAll("Loaded. Let's Play", 1000, 3);
		for(new i=0;i<MAX_PLAYERS;i++)
		{
		    TogglePlayerControllable(i, 1);
		    SpawnPlayer(i);
		}
		Team1Kills = 0;
		Team2Kills = 0;
		SetTimer("NewMapTimer", 300000, false);
	}
	return 1;
}

public OnPlayerSpawn(playerid)
{
    
    new randwep1 = random(sizeof(RandomWeapons));
    new randwep2 = random(sizeof(RandomWeapons));
    new randwep3 = random(sizeof(RandomWeapons));
    
    new infostring[128];
    
	switch(MapChange){
	
		case 0:
		{
		    if(gTeam[playerid] == TEAM1)
	        {
	            SetPlayerPos(playerid, 1240.3066, 4341.9624, 2.5898);
			}
			else if(gTeam[playerid] == TEAM2)
			{
	            SetPlayerPos(playerid, 1290.3386, 4343.4155, 2.5883);
			}
		}
		case 1:
		{
		    if(gTeam[playerid] == TEAM1)
	        {
	            SetPlayerPos(playerid, -63.8785, 4680.5112, 11.3832);
			}
			else if(gTeam[playerid] == TEAM2)
			{
	            SetPlayerPos(playerid, -114.0042, 4668.1294, 15.5458);
			}
		}
		case 2:
		{
		    if(gTeam[playerid] == TEAM1)
	        {
	            SetPlayerPos(playerid, 1843.5316, 4251.0527, 2.6160);
			}
			else if(gTeam[playerid] == TEAM2)
			{
	            SetPlayerPos(playerid, 1781.2714, 4252.6714, 2.2542);
			}
		}
		case 3:
		{
		    if(gTeam[playerid] == TEAM1)
	        {
	            SetPlayerPos(playerid, -1536.3937, -481.2590, 266.0542);
			}
			else if(gTeam[playerid] == TEAM2)
			{
	            SetPlayerPos(playerid, -1633.3785, -275.1972, 265.6801);
			}
		}
		case 4:
		{
		    if(gTeam[playerid] == TEAM1)
	        {
	            SetPlayerPos(playerid, 134.0694, 1936.3267, 19.3264);
			}
			else if(gTeam[playerid] == TEAM2)
			{
	            SetPlayerPos(playerid, 281.6670, 1820.9208, 17.3568);
			}
		}
		case 5:
		{
		    if(gTeam[playerid] == TEAM1)
	        {
	            SetPlayerPos(playerid, 213.3071, 1872.4205, 12.8660);
			}
			else if(gTeam[playerid] == TEAM2)
			{
	            SetPlayerPos(playerid, 247.8166, 1803.3370, 7.5085);
			}
		}
		case 6:
		{
		    if(gTeam[playerid] == TEAM1)
	        {
	            SetPlayerPos(playerid, 283.9412, 1410.5369, 10.4799);
			}
			else if(gTeam[playerid] == TEAM2)
			{
	            SetPlayerPos(playerid, 114.8953, 1410.7888, 10.6788);
			}
		}
		case 7:
		{
		    if(gTeam[playerid] == TEAM1)
	        {
	            SetPlayerPos(playerid, -426.3439, 1029.0262, 11.1297);
			}
			else if(gTeam[playerid] == TEAM2)
			{
	            SetPlayerPos(playerid, -531.7137, 1085.2672, 11.1273);
			}
		}
		case 8:
		{
		    if(gTeam[playerid] == TEAM1)
	        {
	            SetPlayerPos(playerid, 1652.8119, 889.5319, 10.7663);
			}
			else if(gTeam[playerid] == TEAM2)
			{
	            SetPlayerPos(playerid, 1667.5327, 1086.7762, 10.8779);
			}
		}
	}
	
	if(FirstTimeSpawn[playerid] == 1)
	{
	    TogglePlayerControllable(playerid, 0);
		GameTextForPlayer(playerid, "Loading Objects", 3000, 3);
		SetTimerEx("Unfreeze", 3000, false, "i", playerid);
	}
	else
	{
		for(new i=0;i<MAX_PLAYERS;i++)
		{
			TogglePlayerControllable(i, 0);
	    	GameTextForAll("Loading Objects", 3000, 3);
	   	 	SetTimerEx("Unfreeze", 3000, false, "i", playerid);
		}
	}
	
	GivePlayerWeapon(playerid, RandomWeapons[randwep1][0], RandomWeapons[randwep1][1]);
	GivePlayerWeapon(playerid, RandomWeapons[randwep2][0], RandomWeapons[randwep2][1]);
	GivePlayerWeapon(playerid, RandomWeapons[randwep3][0], RandomWeapons[randwep3][1]);
	
	TextDrawShowForPlayer(playerid, Countdown);
	
	SetTimerEx("updateinfo", 1000, true, "i", playerid);
	
	TextDrawShowForPlayer(playerid, Rango[playerid]);
    TextDrawShowForPlayer(playerid, Asesinatos[playerid]);
    TextDrawShowForPlayer(playerid, nombre[playerid]);
	TextDrawShowForPlayer(playerid, Kill1);
	TextDrawShowForPlayer(playerid, Kill2);
	TextDrawShowForPlayer(playerid, guion);
	TextDrawShowForAll(mapname);
	return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)