[Ajuda] O jogador fica preso/freeze apуs a morte
#1

Yo!
Tenho um problema, no qual, quando vocк й morto vocк nasce parado como se tivesse tido freeze. Й impossivel andar ou escrever, mas ve-se os outros jogadores a jogarem e a escreverem. A unica soluзгo de sair do jogo й apertando CTRL+ALT+DEL ou terminando sessгo. Alguйm sabe o que estб a provocar este bug?

Aqui tкm o OnPlayerDeath: http://pastebin.com/985yt90u

OnPlayerSpawn: http://pastebin.com/vxTLHTvP

E aqui fica os codigos com as coordinadas e com o que faz spawnar os jogadores humanos, zombies, infectados e de facхes: http://pastebin.com/5361YBxk

O gamemode tem 4 tipos de spawn: Spawn de Humanos, spawn de zombies, spawn de infectados e spawn de membros de faccхes no qual estб desativado.
Obrigado!
Reply
#2

Tenta assim:

pawn Код:
public OnPlayerSpawn(playerid)
{
    if(IsPlayerNPC(playerid))
    {
        new npcname[MAX_PLAYER_NAME];
        GetPlayerName(playerid, npcname, sizeof(npcname));
        if(!strcmp(npcname, "Zombie_1", true))
        {
            SetPlayerSkin(playerid, 162);
            SetPlayerPos(playerid, 1776.4562,-1895.7217,13.3867);
            TogglePlayerControllable(playerid, 1);
                        SetPlayerColor(playerid, BLANCO2);
                        gTeam[playerid] = EZOMBIE;
                }
                if(!strcmp(npcname, "Zombie_2", true))
        {
            SetPlayerSkin(playerid, 162);
            SetPlayerPos(playerid, 1507.4354,-1730.9388,13.3828);
            TogglePlayerControllable(playerid, 1);
                        SetPlayerColor(playerid, BLANCO2);
                        gTeam[playerid] = EZOMBIE;
                }
                if(!strcmp(npcname, "Zombie_3", true))
        {
            SetPlayerSkin(playerid, 162);
            SetPlayerPos(playerid, 1776.4562,-1895.7217,13.3867);
            TogglePlayerControllable(playerid, true);
                        SetPlayerColor(playerid, BLANCO2);
                        gTeam[playerid] = EZOMBIE;
                }
                if(!strcmp(npcname,"Bot_intro",true))
                {
                PutPlayerInVehicle(playerid,63, 0);
                new coche = GetPlayerVehicleID(playerid);
                        SetVehicleParamsEx(coche, 1, 0, -1, 0, 0, 0, 0);
                        TogglePlayerControllable(playerid, 1);
                        SetPlayerColor(playerid, BLANCO2);
                        gTeam[playerid] = EHUMANO;
        }
                else
                {
                    new which_spawn = random(4);
                        if(which_spawn == 0)
                        {
                            SetPlayerSkin(playerid, 162);
                                SetPlayerPos(playerid,1138.4512,-1385.9067,13.7797);
                                SetPlayerInterior(playerid,0);
                                TogglePlayerControllable(playerid, 1);
                        }
                        else if(which_spawn == 1)
                        {
                            SetPlayerSkin(playerid, 162);
                                SetPlayerPos(playerid,1543.7426,-1305.9878,16.1152);
                            SetPlayerInterior(playerid,0);
                            TogglePlayerControllable(playerid, 1);
                        }
                        else if(which_spawn == 2)
                        {
                            SetPlayerSkin(playerid, 162);
                                SetPlayerPos(playerid,2578.9900,-1412.2079,24.4618);
                                SetPlayerInterior(playerid,0);
                        TogglePlayerControllable(playerid, 1);
                        }
                        else if(which_spawn == 3)
                        {
                            SetPlayerSkin(playerid, 162);
                                SetPlayerPos(playerid,2578.9900,-1412.2079,24.4618);
                                SetPlayerInterior(playerid,0);
                                TogglePlayerControllable(playerid, 1);
                        }
                }
        return 1;
        }
Reply
#3

Quote:
Originally Posted by Spectral
Посмотреть сообщение
Tenta assim:

pawn Код:
public OnPlayerSpawn(playerid)
{
    if(IsPlayerNPC(playerid))
    {
        new npcname[MAX_PLAYER_NAME];
        GetPlayerName(playerid, npcname, sizeof(npcname));
        if(!strcmp(npcname, "Zombie_1", true))
        {
            SetPlayerSkin(playerid, 162);
            SetPlayerPos(playerid, 1776.4562,-1895.7217,13.3867);
            TogglePlayerControllable(playerid, 1);
                        SetPlayerColor(playerid, BLANCO2);
                        gTeam[playerid] = EZOMBIE;
                }
                if(!strcmp(npcname, "Zombie_2", true))
        {
            SetPlayerSkin(playerid, 162);
            SetPlayerPos(playerid, 1507.4354,-1730.9388,13.3828);
            TogglePlayerControllable(playerid, 1);
                        SetPlayerColor(playerid, BLANCO2);
                        gTeam[playerid] = EZOMBIE;
                }
                if(!strcmp(npcname, "Zombie_3", true))
        {
            SetPlayerSkin(playerid, 162);
            SetPlayerPos(playerid, 1776.4562,-1895.7217,13.3867);
            TogglePlayerControllable(playerid, true);
                        SetPlayerColor(playerid, BLANCO2);
                        gTeam[playerid] = EZOMBIE;
                }
                if(!strcmp(npcname,"Bot_intro",true))
                {
                PutPlayerInVehicle(playerid,63, 0);
                new coche = GetPlayerVehicleID(playerid);
                        SetVehicleParamsEx(coche, 1, 0, -1, 0, 0, 0, 0);
                        TogglePlayerControllable(playerid, 1);
                        SetPlayerColor(playerid, BLANCO2);
                        gTeam[playerid] = EHUMANO;
        }
                else
                {
                    new which_spawn = random(4);
                        if(which_spawn == 0)
                        {
                            SetPlayerSkin(playerid, 162);
                                SetPlayerPos(playerid,1138.4512,-1385.9067,13.7797);
                                SetPlayerInterior(playerid,0);
                                TogglePlayerControllable(playerid, 1);
                        }
                        else if(which_spawn == 1)
                        {
                            SetPlayerSkin(playerid, 162);
                                SetPlayerPos(playerid,1543.7426,-1305.9878,16.1152);
                            SetPlayerInterior(playerid,0);
                            TogglePlayerControllable(playerid, 1);
                        }
                        else if(which_spawn == 2)
                        {
                            SetPlayerSkin(playerid, 162);
                                SetPlayerPos(playerid,2578.9900,-1412.2079,24.4618);
                                SetPlayerInterior(playerid,0);
                        TogglePlayerControllable(playerid, 1);
                        }
                        else if(which_spawn == 3)
                        {
                            SetPlayerSkin(playerid, 162);
                                SetPlayerPos(playerid,2578.9900,-1412.2079,24.4618);
                                SetPlayerInterior(playerid,0);
                                TogglePlayerControllable(playerid, 1);
                        }
                }
        return 1;
        }
Sу adicionas-te o return 1; certo? Continua igual.. e aparece 1 warning.
Reply
#4

Quote:
Originally Posted by Spectral
Посмотреть сообщение
Tenta assim:

pawn Код:
public OnPlayerSpawn(playerid)
{
    if(IsPlayerNPC(playerid))
    {
        new npcname[MAX_PLAYER_NAME];
        GetPlayerName(playerid, npcname, sizeof(npcname));
        if(!strcmp(npcname, "Zombie_1", true))
        {
            SetPlayerSkin(playerid, 162);
            SetPlayerPos(playerid, 1776.4562,-1895.7217,13.3867);
            TogglePlayerControllable(playerid, 1);
                        SetPlayerColor(playerid, BLANCO2);
                        gTeam[playerid] = EZOMBIE;
                }
                if(!strcmp(npcname, "Zombie_2", true))
        {
            SetPlayerSkin(playerid, 162);
            SetPlayerPos(playerid, 1507.4354,-1730.9388,13.3828);
            TogglePlayerControllable(playerid, 1);
                        SetPlayerColor(playerid, BLANCO2);
                        gTeam[playerid] = EZOMBIE;
                }
                if(!strcmp(npcname, "Zombie_3", true))
        {
            SetPlayerSkin(playerid, 162);
            SetPlayerPos(playerid, 1776.4562,-1895.7217,13.3867);
            TogglePlayerControllable(playerid, true);
                        SetPlayerColor(playerid, BLANCO2);
                        gTeam[playerid] = EZOMBIE;
                }
                if(!strcmp(npcname,"Bot_intro",true))
                {
                PutPlayerInVehicle(playerid,63, 0);
                new coche = GetPlayerVehicleID(playerid);
                        SetVehicleParamsEx(coche, 1, 0, -1, 0, 0, 0, 0);
                        TogglePlayerControllable(playerid, 1);
                        SetPlayerColor(playerid, BLANCO2);
                        gTeam[playerid] = EHUMANO;
        }
                else
                {
                    new which_spawn = random(4);
                        if(which_spawn == 0)
                        {
                            SetPlayerSkin(playerid, 162);
                                SetPlayerPos(playerid,1138.4512,-1385.9067,13.7797);
                                SetPlayerInterior(playerid,0);
                                TogglePlayerControllable(playerid, 1);
                        }
                        else if(which_spawn == 1)
                        {
                            SetPlayerSkin(playerid, 162);
                                SetPlayerPos(playerid,1543.7426,-1305.9878,16.1152);
                            SetPlayerInterior(playerid,0);
                            TogglePlayerControllable(playerid, 1);
                        }
                        else if(which_spawn == 2)
                        {
                            SetPlayerSkin(playerid, 162);
                                SetPlayerPos(playerid,2578.9900,-1412.2079,24.4618);
                                SetPlayerInterior(playerid,0);
                        TogglePlayerControllable(playerid, 1);
                        }
                        else if(which_spawn == 3)
                        {
                            SetPlayerSkin(playerid, 162);
                                SetPlayerPos(playerid,2578.9900,-1412.2079,24.4618);
                                SetPlayerInterior(playerid,0);
                                TogglePlayerControllable(playerid, 1);
                        }
                }
        return 1;
        }
Arghhh, esqueci-me disto: http://pastebin.com/5361YBxk
Й a linha de coding no qual tem o spawn dos players... ele fica em cima de OnPlayerDeath.
Desculpem pelo erro :S
Reply
#5

Ok.. Tenta isso:
pawn Код:
//TextDrawShowForPlayer(playerid,Dinero[playerid]); // jdinheiroo - estava desativado
        new tmphour;
        new tmpminute;
        new tmpsecond;
        gettime(tmphour, tmpminute, tmpsecond);
        if (realtime)
        {
                SetWorldTime(tmphour);
        }
        PlayerPlaySound(playerid, 1069, 0.0, 0.0, 0.0);
        SetPlayerDrunkLevel(playerid, 0);
        if(JugadorInfo[playerid][jEstiloPelea] == 1)
        {
                SetPlayerFightingStyle(playerid, FIGHT_STYLE_BOXING);
        }
        else if(JugadorInfo[playerid][jEstiloPelea] == 2)
        {
                SetPlayerFightingStyle(playerid, FIGHT_STYLE_KNEEHEAD);
        }
        else if(JugadorInfo[playerid][jEstiloPelea] == 3)
        {
                SetPlayerFightingStyle(playerid, FIGHT_STYLE_KUNGFU);
        }
        if(JugadorInfo[playerid][jArma] != 0)
        {
                GivePlayerWeapon(playerid, JugadorInfo[playerid][jArma], JugadorInfo[playerid][jMunicion]);
        }
        if(JugadorInfo[playerid][jArma2] != 0)
        {
                GivePlayerWeapon(playerid, JugadorInfo[playerid][jArma2], JugadorInfo[playerid][jMunicion2]);
        }
        if(JugadorInfo[playerid][jArma3] != 0)
        {
                GivePlayerWeapon(playerid, JugadorInfo[playerid][jArma3], JugadorInfo[playerid][jMunicion3]);
        }
        if(JugadorInfo[playerid][jSpawn] == 1)
        {
                new which_spawn = random(4);
                if(which_spawn == 0)
                {
                        if(gTeam[playerid] == EHUMANO) //1464.92, 2235.93, 33.11 - Bandits baseball camp LV
                        {
                                JugadorInfo[playerid][jPos_x] = 1464.92;
                                JugadorInfo[playerid][jPos_y] = 2235.93;
                                JugadorInfo[playerid][jPos_z] = 33.11;
                                SetPlayerInterior(playerid,0);
                                SetPlayerWeather(playerid, ClimaDefault);
                                SetPlayerSkin(playerid, JugadorInfo[playerid][jRopa]);
                }
                        else if(gTeam[playerid] == EZOMBIE) //2876.73, 1608.65, 10.67 - Estacionamento de comboios LV
                        {
                                SetPlayerPos(playerid,2876.73, 1608.65, 10.67);
                                SetPlayerInterior(playerid,0);
                                SetPlayerWeather(playerid, ClimaDefault);
                                new rnd = random(sizeof(ZombieSkin));
                                SetPlayerSkin(playerid, ZombieSkin[rnd][0]);
                        }
                }
                else if(which_spawn == 1)
                {
                        if(gTeam[playerid] == EHUMANO) //1869.16, 2396.06, 22.15 - Predio abatido ao pe da autoestrada
                {
                        JugadorInfo[playerid][jPos_x] = 1869.16;
                        JugadorInfo[playerid][jPos_y] = 2396.06;
                        JugadorInfo[playerid][jPos_z] = 22.15;
                        SetPlayerInterior(playerid,0);
                        SetPlayerWeather(playerid, ClimaDefault);
                        SetPlayerSkin(playerid, JugadorInfo[playerid][jRopa]);
                }
                        else if(gTeam[playerid] == EZOMBIE)
                        {
                                SetPlayerPos(playerid, 2603.93, 792.83, 5.32); // 2603.93, 792.83, 5.32 - spawn zona construзao
                            SetPlayerInterior(playerid,0);
                            SetPlayerWeather(playerid, ClimaDefault);
                            new rnd = random(sizeof(ZombieSkin));
                            SetPlayerSkin(playerid, ZombieSkin[rnd][0]);
                        }
                }
                else if(which_spawn == 2)
                {
                        if(gTeam[playerid] == EHUMANO)
                {
                        JugadorInfo[playerid][jPos_x] = 1464.92;
                        JugadorInfo[playerid][jPos_y] = 2235.93;
                        JugadorInfo[playerid][jPos_z] = 33.11;
                        SetPlayerInterior(playerid,0);
                        SetPlayerWeather(playerid, ClimaDefault);
                        SetPlayerSkin(playerid, JugadorInfo[playerid][jRopa]);
                }
                        else if(gTeam[playerid] == EZOMBIE)
                        {
                        SetPlayerPos(playerid,2603.93, 792.83, 5.32);
                        SetPlayerInterior(playerid,0);
                        SetPlayerWeather(playerid, ClimaDefault);
                        new rnd = random(sizeof(ZombieSkin));
                        SetPlayerSkin(playerid, ZombieSkin[rnd][0]);
                        }
                }
                else if(which_spawn == 3)
                {
                        if(gTeam[playerid] == EHUMANO)
                        {
                                JugadorInfo[playerid][jPos_x] = 1869.16;
                                JugadorInfo[playerid][jPos_y] = 2396.06;
                                JugadorInfo[playerid][jPos_z] = 22.15;
                                SetPlayerInterior(playerid,0);
                                SetPlayerWeather(playerid, ClimaDefault);
                                SetPlayerSkin(playerid, JugadorInfo[playerid][jRopa]);
                }
                        else if(gTeam[playerid] == EZOMBIE)
                        {
                                SetPlayerPos(playerid,2876.73, 1608.65, 10.67);
                                SetPlayerInterior(playerid,0);
                                SetPlayerWeather(playerid, ClimaDefault);
                                new rnd = random(sizeof(ZombieSkin));
                                SetPlayerSkin(playerid, ZombieSkin[rnd][0]);
                        }
                }
                if(JugadorInfo[playerid][jInfectado] >= 1)
                {
                    SafeSetPlayerPos(playerid,JugadorInfo[playerid][jPos_x],JugadorInfo[playerid][jPos_y],JugadorInfo[playerid][jPos_z]);
                    ZombieTeam(playerid);
                    new rnd = random(sizeof(ZombieSkin));
                        SetPlayerSkin(playerid, ZombieSkin[rnd][0]);
                    JugadorInfo[playerid][jInfectado] = 0;
                    JugadorInfo[playerid][jZombie] = 1;
                    TogglePlayerControllable(playerid, 1);
                }
                else if(JugadorInfo[playerid][jInfectado] == 0 && JugadorInfo[playerid][jZombie] == 0)
                {
                        SafeSetPlayerPos(playerid,JugadorInfo[playerid][jPos_x],JugadorInfo[playerid][jPos_y],JugadorInfo[playerid][jPos_z]);
                        SetPlayerSkin(playerid, JugadorInfo[playerid][jRopa]);
                        SetTimerEx("Desmayar", 2000, 0, "d", playerid);
                } /*
                else if(JugadorInfo[playerid][jLider] == 1)
                {
                    SetPlayerPos(playerid,225.6344,1909.2631,17.6406);
                    Militar(playerid);
                }
                else if(JugadorInfo[playerid][jLider] == 2)
                {
                    TogglePlayerControllable(playerid, 1);
                    SetTimerEx("Desfrizear", 6000, 0, "d", playerid);
                    SetPlayerPos(playerid,1833.8231,-1299.1377,22.2039);
                    Conspirador(playerid);
                }
                else if(JugadorInfo[playerid][jMiembro] == 3)
                {
                    SetPlayerPos(playerid,2759.2126,-2436.4126,13.5050);
                    Militar(playerid);
                }
                else if(JugadorInfo[playerid][jMiembro] == 2)
                {
                    TogglePlayerControllable(playerid, 1);
                    SetTimerEx("Desfrizear", 6000, 0, "d", playerid);
                    SetPlayerPos(playerid,1833.8231,-1299.1377,22.2039);
                    Conspirador(playerid);
                }
                else if(JugadorInfo[playerid][jMiembro] == 1)
                {
                    SetPlayerPos(playerid,110.2537,1901.6782,10.0955);
                    Militar(playerid);
                } */

        }
        else if(JugadorInfo[playerid][jSpawn] == 0)
        {
                if(JugadorInfo[playerid][jEncarcelado] == 0)
                {
                    SafeSetPlayerInterior(playerid,JugadorInfo[playerid][jInt]);
                        SafeSetPlayerPos(playerid,JugadorInfo[playerid][jPos_x],JugadorInfo[playerid][jPos_y],JugadorInfo[playerid][jPos_z]);
                        SetPlayerHealth(playerid,JugadorInfo[playerid][jVida]);
                        SetPlayerSkin(playerid,JugadorInfo[playerid][jRopa]);
                        SetPlayerArmour(playerid,JugadorInfo[playerid][jArmadura]);
                        TogglePlayerControllable(playerid, 1);
                        JugadorInfo[playerid][jSpawn] = 1;
                        return 1;
                }
                else if(JugadorInfo[playerid][jEncarcelado] >= 1)
                {
                    SetPlayerVirtualWorld(playerid, 0);
                        SetPlayerPos(playerid, 2448.2351,-1977.7130,13.5938);
                        SendClientMessage(playerid, ROJO_OSCURO, "Tu condena no ha terminado!.");
                        SetPlayerSkin(playerid,JugadorInfo[playerid][jRopa]);
                        return 1;
                }
        }
        return 1;
}
Vai dar Warning: Loose Identation, aн vocк identa que some. Blz?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)