respawn
#1

hola tengo una pequeсa duda resulta que cuando a un jugador lo matan algunas ocaciones no vuelve a respawnear que podra server espero y me ayuden gracias

esto es loq ue tengo en la linea de codigo lo siento

pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    IsInShml[playerid] = 0;

    if(killerid != INVALID_PLAYER_ID)
      {

      //[PARAMETROS PARA EL ASESINO]
       GivePlayerMoney(killerid, GANANCIA_MUERTE);a.
       SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);

       SetPlayerScore(playerid,GetPlayerScore(playerid)-1);
       ResetPlayerWeapons(playerid);
       GivePlayerMoney(playerid,- PERDIDA_MUERTE);
       SetPlayerWantedLevel(playerid,0);

       Spawn[playerid]= 1;

    }

    SetPlayerScore(playerid,GetPlayerScore(playerid)-1);
    ResetPlayerWeapons(playerid);
    GivePlayerMoney(playerid, -PERDIDA_MUERTE);
    SendDeathMessage(killerid, playerid, reason);
    Spawn[playerid]= 1;

    new
    name[24],
    string[71];

    Kills[playerid] = 0;
    if(killerid != INVALID_PLAYER_ID)
    {
        Kills[killerid] ++;
        GetPlayerName(killerid, name, sizeof(name));
        switch(Kills[killerid])
        {
            case 2:
            {
                format(string, sizeof(string), "%s)", name);
                SendClientMessageToAll(COLOR_GREEN2, string);
                GivePlayerMoney(killerid,2500);
            }
            case 3:
            {
                format(string, sizeof(string), "%s )", name);
                SendClientMessageToAll(COLOR_GREEN2, string);
                GivePlayerMoney(killerid,3500);
            }
            case 5:
            {
                format(string, sizeof(string), "%s T", name);
                SendClientMessageToAll(COLOR_AMARILLO, string);
                GivePlayerMoney(killerid,4000);
            }
            case 8:
            {
                format(string, sizeof(string), "%s E", name);
                SendClientMessageToAll(COLOR_AMARILLO, string);
                GivePlayerMoney(killerid,5500);
            }
            case 12:
            {
                format(string, sizeof(string), "%s )", name);
                SendClientMessageToAll(COLOR_NARANJA, string);
                GivePlayerMoney(killerid,6500);
            }
            case 18:
            {
                format(string, sizeof(string), "%s le! (", name);
                SendClientMessageToAll(COLOR_NARANJA, string);
                GivePlayerMoney(killerid,7500);
            }
            case 25:
            {
                format(string, sizeof(string), "%sal! ", name);
                SendClientMessageToAll(COLOR_NARANJA, string);
                GivePlayerMoney(killerid,8500);
            }
            case 35:
            {
                format(string, sizeof(string), "%s (+ 12000)", name);
                SendClientMessageToAll(COLOR_ROJO2, string);
                GivePlayerMoney(killerid,12000);
            }
        }
    }

    for(new i=0; i<19; i++) TextDrawHideForPlayer(playerid,HealthBar[i]);



        if(Team[playerid] != -1){
        SetTimerEx("StopFlash", 120000, false, "i", Team[playerid]);
        return GangZoneFlashForAll(Gang[Team[playerid]][Zone], Gang[Team[killerid]][Flash]);
    }return 1;
}

forward StopFlash(gangid);
public StopFlash(gangid)
{
    GangZoneStopFlashForAll(Gang[gangid][Zone]);
        return 1;
   }
Reply
#2

Te recomiendo que cuando tengas un problema, postees toda la callback donde tengas el problema y asi poder ayudarte. En este caso OnPlayerDeath
Reply
#3

Exacto.
Tambiйn puede setear una variable cuando el jugador muere (OnPlayerDeath) y al spawnear (OnPlayerSpawn) "active" esa tal variable y bugea.
O puede ser otro bug tambien, por que no xD
Reply
#4

ya puse los codigos
Reply
#5

Pruebalo asн.. y me dices
pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    IsInShml[playerid] = 0;

    if(killerid != INVALID_PLAYER_ID)
      {

      //[PARAMETROS PARA EL ASESINO]
       GivePlayerMoney(killerid, GANANCIA_MUERTE);a.
       SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);

       SetPlayerScore(playerid,GetPlayerScore(playerid)-1);
       ResetPlayerWeapons(playerid);
       GivePlayerMoney(playerid,- PERDIDA_MUERTE);
       SetPlayerWantedLevel(playerid,0);

    }

    SetPlayerScore(playerid,GetPlayerScore(playerid)-1);
    ResetPlayerWeapons(playerid);
    GivePlayerMoney(playerid, -PERDIDA_MUERTE);
    SendDeathMessage(killerid, playerid, reason);
    Spawn[playerid]= 1;

    new
    name[24],
    string[71];

    Kills[playerid] = 0;
    if(killerid != INVALID_PLAYER_ID)
    {
        Kills[killerid] ++;
        GetPlayerName(killerid, name, sizeof(name));
        switch(Kills[killerid])
        {
            case 2:
            {
                format(string, sizeof(string), "%s)", name);
                SendClientMessageToAll(COLOR_GREEN2, string);
                GivePlayerMoney(killerid,2500);
            }
            case 3:
            {
                format(string, sizeof(string), "%s )", name);
                SendClientMessageToAll(COLOR_GREEN2, string);
                GivePlayerMoney(killerid,3500);
            }
            case 5:
            {
                format(string, sizeof(string), "%s T", name);
                SendClientMessageToAll(COLOR_AMARILLO, string);
                GivePlayerMoney(killerid,4000);
            }
            case 8:
            {
                format(string, sizeof(string), "%s E", name);
                SendClientMessageToAll(COLOR_AMARILLO, string);
                GivePlayerMoney(killerid,5500);
            }
            case 12:
            {
                format(string, sizeof(string), "%s )", name);
                SendClientMessageToAll(COLOR_NARANJA, string);
                GivePlayerMoney(killerid,6500);
            }
            case 18:
            {
                format(string, sizeof(string), "%s le! (", name);
                SendClientMessageToAll(COLOR_NARANJA, string);
                GivePlayerMoney(killerid,7500);
            }
            case 25:
            {
                format(string, sizeof(string), "%sal! ", name);
                SendClientMessageToAll(COLOR_NARANJA, string);
                GivePlayerMoney(killerid,8500);
            }
            case 35:
            {
                format(string, sizeof(string), "%s (+ 12000)", name);
                SendClientMessageToAll(COLOR_ROJO2, string);
                GivePlayerMoney(killerid,12000);
            }
        }
       Spawn[playerid]= 1;
    }

    for(new i=0; i<19; i++) TextDrawHideForPlayer(playerid,HealthBar[i]);



        if(Team[playerid] != -1){
        SetTimerEx("StopFlash", 120000, false, "i", Team[playerid]);
        return GangZoneFlashForAll(Gang[Team[playerid]][Zone], Gang[Team[killerid]][Flash]);
    }return 1;
}

forward StopFlash(gangid);
public StopFlash(gangid)
{
    GangZoneStopFlashForAll(Gang[gangid][Zone]);
        return 1;
   }
Reply
#6

amm no ya lo puse igual y nada sigue igual
Reply
#7

postea el callback OnPlayerSpaw(playerid)
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)