forward AnimacaoEmComa(playerid);
new animacao_forcada3[MAX_PLAYERS];
animacao_forcada3[playerid] = SetTimerEx("AnimacaoEmComa", 4000, true, "i", playerid); //Quanto tudo inicia, a anim й chamada.. e congela o jogador a cada 4 segundos;
public AnimacaoEmComa(playerid)
{
    TogglePlayerControllable(playerid, 0); //congela o paciente
    ApplyAnimation(playerid, "CRACK", "crckdeth2", 4.1 , 0, 1, 1, 0, 4000, 0) ; //anim que cansei de mexer ae..afs meses e meses
}
public FuncaoHospital(id) //funзгo chama para quando o paciente receber alta, ae tem mais cуdigo, coloque apenas o que precisa no momento
{
  KillTimer(animacao_forcada3[id]); SetPlayerSpecialAction(id, 0); ClearAnimations(id); //Essa funзгo(linha) й onde era para desligar o Timer e animaзхes, e nada, continua do mesmo modo;
}Â
    KillTimer(animacao_forcada3[id]); SetPlayerSpecialAction(id, 0); ClearAnimations(id);
    SpawnPlayer(id);Â
forward AnimacaoEmComa(playerid);
new animacao_forcada3[MAX_PLAYERS];
animacao_forcada3[playerid] = SetTimerEx("AnimacaoEmComa", 4000, true, "i", playerid); //Quanto tudo inicia, a anim й chamada.. e congela o jogador a cada 4 segundos;
public AnimacaoEmComa(playerid)
{
  TogglePlayerControllable(playerid, 0); //congela o paciente
  ApplyAnimation(playerid, "CRACK", "crckdeth2", 4.1 , 0, 1, 1, 0, 4000, 0) ; //anim que cansei de mexer ae..afs meses e meses
  SetTimerEx("FuncaoHospital", 4001, false, "i", playerid); // Chamar a Funзгo
}
public FuncaoHospital(id) //funзгo chama para quando o paciente receber alta, ae tem mais cуdigo, coloque apenas o que precisa no momento
{
 KillTimer(animacao_forcada3[id]); SetPlayerSpecialAction(id, 0); ClearAnimations(id); //Essa funзгo(linha) й onde era para desligar o Timer e animaзхes, e nada, continua do mesmo modo;
}
Onde posso colocar o SpawnPlayer?
@Edit Nгo deu certo aqui.. PHP Code:
|
SetSpawnInfo(id, 1, pInfo[playerid][Skin], X, Y, Z, Angle, 0, 0, 0, 0, 0, 0); KillTimer(animacao_forcada3[id]); SetPlayerSpecialAction(id, 0); ClearAnimations(id); SpawnPlayer(id);
Й aн mesmo cara, sу que vocк tem que por onde ele vai dar o spawn agora, tipo:
Altera o X,Y,Z,Angle para a posiзгo de onde ele vai dar o spawn e troque esse pInfo pelo nome da variбvel correta que й a do salvamento da skin. Code:
SetSpawnInfo(id, 1, pInfo[playerid][Skin], X, Y, Z, Angle, 0, 0, 0, 0, 0, 0); KillTimer(animacao_forcada3[id]); SetPlayerSpecialAction(id, 0); ClearAnimations(id); SpawnPlayer(id); |
public FuncaoHospital(id)
{
    new string[256], ContaBancaria = PlayerInfo[id][pAccount];
    new Quantia = PlayerInfo[id][pWantedLevel];
    Hospital[id] = 0; MedicTime[id] = 0; NeedMedicTime[id] = 0;
    PlayerInfo[id][pMuted] = 0; TextDrawHideForPlayer(id, Alta[id]);
    SetPlayerVirtualWorld(id, 0); SetCameraBehindPlayer(id);
    if (PlayerInfo[id][pJailed] == 1 || PlayerInfo[id][pWantedLevel] != 0)
    {
        PlayerInfo[id][pJailTime] = Quantia * 300;
        PlayerInfo[id][pWantedLevel] = 0;
        SetPlayerInterior(id, 6);
        PlayerInfo[id][pJailed] = 1;
        SetSpawnInfo(id, 1, PlayerInfo[id][pChar], 264.6288, 77.5742, 1001.0391, 267.7704, 0, 0, 0, 0, 0, 0);
        KillTimer(animacao_forcada3[id]); SetPlayerSpecialAction(id, 0); ClearAnimations(id);
        SpawnPlayer(id);
        format(string, sizeof(string), "<!> Vocк estб preso por %d segundos.", PlayerInfo[id][pJailTime]);
        SendClientMessage(id, COLOR_LIGHTBLUE, string);
        SendClientMessage(id, 0xFFFFFFFA, "<!> Use /serviзo advogado para chamar um advogado.");
        SendClientMessage(id, 0xFFFFFFFA, "<!> Para pagar sua fianзa (digite: /pagarfianзa).");
        Telefoneoff[id] = 1;
    }
    else if (PlayerInfo[id][pJailed] == 2 || PlayerInfo[id][pWantedLevel] != 0)
    {
        PlayerInfo[id][pJailTime] = Quantia * 300;
        PlayerInfo[id][pWantedLevel] = 0;
        SetPlayerInterior(id, 3);
        PlayerInfo[id][pJailed] = 2;
        SetSpawnInfo(id, 1, PlayerInfo[id][pChar], 197.2555, 174.8881, 1003.0234, 267.7704, 0, 0, 0, 0, 0, 0);
        KillTimer(animacao_forcada3[id]); SetPlayerSpecialAction(id, 0); ClearAnimations(id);
        SpawnPlayer(id);
        format(string, sizeof(string), "Vocк estб preso por %d segundos.", PlayerInfo[id][pJailTime]);
        SendClientMessage(id, COLOR_LIGHTBLUE, string);
        SendClientMessage(id, 0xFFFFFFFA, "<!> Use /serviзo advogado para chamar um advogado.");
        SendClientMessage(id, 0xFFFFFFFA, "<!> Para pagar sua fianзa (digite: /pagarfianзa).");
        Telefoneoff[id] = 1;
    }
    else if (PlayerInfo[id][pJailed] == 3000)
    {
        LoadInterior(id);
        SetPlayerInterior(id, 0);
        SetSpawnInfo(id, 1, 42, -1974.5168, 323.3834, 1556.1825, 267.7704, 0, 0, 0, 0, 0, 0);
        KillTimer(animacao_forcada3[id]); SetPlayerSpecialAction(id, 0); ClearAnimations(id);
        SpawnPlayer(id);
        PlayerInfo[id][pJailTime] = Quantia * 300;
        PlayerInfo[id][pWantedLevel] = 0;
        Telefoneoff[id] = 1;
    }
    else if (PlayerInfo[id][pJailed] == 4)
    {
        format(string, sizeof(string), "* Ainda faltam %d segundos no cativeiro.", PlayerInfo[id][pJailTime]);
        SendClientMessage(id, COLOR_WHITE, string);
        PlayerInfo[id][pPnumber] = 0;
        SetSpawnInfo(id, 1, PlayerInfo[id][pChar], -1104.1200, -1664.0133, 76.4672, 267.7704, 0, 0, 0, 0, 0, 0);
        KillTimer(animacao_forcada3[id]); SetPlayerSpecialAction(id, 0); ClearAnimations(id);
        SpawnPlayer(id);
        Telefoneoff[id] = 1;
    }
    else
    {
        new bill,tax,hour,minuite,second,year,month,day,sendername[MAX_PLAYER_NAME];
        gettime(hour,minuite,second), getdate(year, month, day), FixHour(hour), hour = shifthour;
        format(sendername, sizeof(sendername), "%s", PlayerName(id)), GiveNameSpace(sendername);
        bill = 120, tax = 17;
        SendClientMessage(id,COLOR_SAMU,"==============================");
        SendClientMessage(id,COLOR_WHITE,"            Recibo Hospitalar:");
        format(string, sizeof(string),"Nome: %s Data: %d/%d/%d", sendername, day, month, year);
        SendClientMessage(id,COLOR_WHITE,string);
        format(string, sizeof(string),"Conta Hospitalar: $%d Taxa: $%d", bill, tax);
        SendClientMessage(id,COLOR_WHITE,string);
        bill+=tax;
        format(string, sizeof(string),"Valor Total: $%d", bill);
        SendClientMessage(id,COLOR_WHITE,string);
        if (ContaBancaria >= bill)
        {
            PlayerInfo[id][pAccount] = ContaBancaria - bill;
            DepositarGranaOrg(7, bill);
        }
        if(GetPlayerOrg(id) == 3 || GetPlayerOrg(id) == 6)
        {
            SetSpawnInfo(id, 1, PlayerInfo[id][pChar], 1580.5143,1769.1255,10.8203, 87.6485, 0, 0, 0, 0, 0, 0);
            KillTimer(animacao_forcada3[id]); SetPlayerSpecialAction(id, 0); ClearAnimations(id);
            SpawnPlayer(id);
            SendClientMessage(id, COLOR_WHITE,"Localidade: Las Venturas");
        }
        else
        {
            SetSpawnInfo(id, 1, PlayerInfo[id][pChar], 1183.3290,-1325.6658,13.5777, 267.7704, 0, 0, 0, 0, 0, 0);
            KillTimer(animacao_forcada3[id]); SetPlayerSpecialAction(id, 0); ClearAnimations(id);
            SpawnPlayer(id);
            SendClientMessage(id, COLOR_WHITE,"Localidade: Los Santos");
        }
        SendClientMessage(id,COLOR_SAMU,"==============================");
        SetPlayerInterior(id, 0);
        SetPlayerVirtualWorld(id, 0);
        PlayerPlaySound(id, 1150, 0.0, 0.0, 0.0);
    }
    return true;
}Â
Tenta isso:
pawn Code:
|
Nгo deu certo nгo, o spawn atй ficou mais rapido e taus, mais o bug da animaзгo no chгo persiste..
PHP Code:
pensei que ia funfa Up... |
        new bill,tax,hour,minuite,second,year,month,day,sendername[MAX_PLAYER_NAME];Â
        gettime(hour,minuite,second), getdate(year, month, day), FixHour(hour), hour = shifthour;Â
        format(sendername, sizeof(sendername), "%s", PlayerName(id)), GiveNameSpace(sendername);Â
        bill = 120, tax = 17;Â
        SendClientMessage(id,COLOR_SAMU,"==============================");Â
        SendClientMessage(id,COLOR_WHITE,"            Recibo Hospitalar:");Â
        format(string, sizeof(string),"Nome: %s Data: %d/%d/%d", sendername, day, month, year);Â
        SendClientMessage(id,COLOR_WHITE,string);Â
        format(string, sizeof(string),"Conta Hospitalar: $%d Taxa: $%d", bill, tax);Â
        SendClientMessage(id,COLOR_WHITE,string);Â
        bill+=tax;Â
        format(string, sizeof(string),"Valor Total: $%d", bill);Â
        SendClientMessage(id,COLOR_WHITE,string);Â
        if (ContaBancaria >= bill)Â
        {Â
            PlayerInfo[id][pAccount] = ContaBancaria - bill;Â
            DepositarGranaOrg(7, bill);Â
        }Â
        if(GetPlayerOrg(id) == 3 || GetPlayerOrg(id) == 6)Â
        {Â
            SetSpawnInfo(id, 1, PlayerInfo[id][pChar], 1580.5143,1769.1255,10.8203, 87.6485, 0, 0, 0, 0, 0, 0);Â
            KillTimer(animacao_forcada3[id]); SetPlayerSpecialAction(id, 0); ClearAnimations(id);Â
            SpawnPlayer(id);Â
            SendClientMessage(id, COLOR_WHITE,"Localidade: Las Venturas");Â
        }Â
        elseÂ
        {Â
            SetSpawnInfo(id, 1, PlayerInfo[id][pChar], 1183.3290,-1325.6658,13.5777, 267.7704, 0, 0, 0, 0, 0, 0);Â
            KillTimer(animacao_forcada3[id]); SetPlayerSpecialAction(id, 0); ClearAnimations(id);Â
            SpawnPlayer(id);Â
            SendClientMessage(id, COLOR_WHITE,"Localidade: Los Santos");Â
        }Â
        SendClientMessage(id,COLOR_SAMU,"==============================");Â
        SetPlayerInterior(id, 0);Â
        SetPlayerVirtualWorld(id, 0);Â
        PlayerPlaySound(id, 1150, 0.0, 0.0, 0.0);Â