Portal SAMP
[Ajuda] sistema de ficar caido no chao apos morrer - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] sistema de ficar caido no chao apos morrer (/showthread.php?tid=1227)



sistema de ficar caido no chao apos morrer - zBL4CK - 28/05/2021

eae pessoal blz bom eu fiz um sistema que quando o player morre ele fique caido no chao por um tem porem ele ta funcionando da forma que eu quero, o porem é que a animação que é setada para o player so aparece para o player que está caido para outros players aparece aquela animação do personagem de bruços sangrando e quando outros players saiem do local e vao pra longe e voltam o player aparece em pé:

Código PHP:
public OnPlayerDeath(playeridkilleridreason) {
    if(
FeridoChao[playerid] == false) {
        
FeridoChao[playerid] = true;
        new 
Float:Pos[3];
        
GetPlayerPos(playeridPos[0], Pos[1], Pos[2]);
        
SetPlayerPos(playeridPos[0], Pos[1], Pos[2]);
        
ApplyAnimation(playerid"CRACK""CRCKIDLE2"4.0100001); // maca
        
SendClientMessage(playeridVermelho"[ ~!~ ] Você está ferido aguarde o resgate chegar!");
        
FeridoTimer[playerid] = SetTimerEx("OnplayerFerido"1000true"i"playerid);
        
PlayerTextDrawShow(playeridTempCurando[playerid][0]);
        
//SetPlayerHealth(playerid, 2.0);
    
}    
    return 
1;


se alguem tiver uma base melhor de como fazer esse sistema

bom eu coloquei tb um sistema de pré carregar as animações eu peguei aki no forum

Código PHP:
stock PreloadAnimLib(playeridanimlib[]) ApplyAnimation(playerid,animlib,"null",0.0,0,0,0,0,0);
 
CarregarAnims(playerid) {
  new actorid;
  for(new 0sizeof(AnimLibs); i++) {
      ApplyAnimation(playeridAnimLibs[i], "null"4.0000001);
      ApplyDynamicActorAnimation(actoridAnimLibs[i], "null"4.100001);
  }
  return 1;
}


new const 
AnimLibs[][] = {
  "AIRPORT",      "ATTRACTORS",   "BAR",          "BASEBALL",     "BD_FIRE",
  "BEACH",        "BENCHPRESS",   "BF_INJECTION""BIKE_DBZ",     "BIKED",
  "BIKEH",        "BIKELEAP",     "BIKES",        "BIKEV",        "BLOWJOBZ",
  "BMX",          "BOMBER",       "BOX",          "BSKTBALL",     "BUDDY",
  "BUS",          "CAMERA",       "CAR",          "CAR_CHAT",     "CARRY",
  "CASINO",       "CHAINSAW",     "CHOPPA",       "CLOTHES",      "COACH",
  "COLT45",       "COP_AMBIENT",  "COP_DVBYZ",    "CRACK",        "CRIB",
  "DAM_JUMP",     "DANCING",      "DEALER",       "DILDO",        "DODGE",
  "DOZER",        "DRIVEBYS",     "FAT",          "FIGHT_B",      "FIGHT_C",
  "FIGHT_D",      "FIGHT_E",      "FINALE",       "FINALE2",      "FLAME",
  "FLOWERS",      "FOOD",         "FREEWEIGHTS",  "GANGS",        "GFUNK",
  "GHANDS",       "GHETTO_DB",    "GOGGLES",      "GRAFFITI",     "GRAVEYARD",
  "GRENADE",      "GYMNASIUM",    "HAIRCUTS",     "HEIST9",       "INT_HOUSE",
  "INT_OFFICE",   "INT_SHOP",     "JST_BUISNESS""KART",         "KISSING",
  "KNIFE",        "LAPDAN1",      "LAPDAN2",      "LAPDAN3",      "LOWRIDER",
  "MD_CHASE",     "MD_END",       "MEDIC",        "MISC",         "MTB",
  "MUSCULAR",     "NEVADA",       "ON_LOOKERS",   "OTB",          "PARACHUTE",
  "PARK",         "PAULNMAC",     "PED",          "PLAYER_DVBYS""PLAYIDLES",
  "POLICE",       "POOL",         "POOR",         "PYTHON",       "QUAD",
  "QUAD_DBZ",     "RAPPING",      "RIFLE",        "RIOT",         "ROB_BANK",
  "ROCKET",       "RUNNINGMAN",   "RUSTLER",      "RYDER",        "SCRATCHING",
  "SEX",          "SHAMAL",       "SHOP",         "SHOTGUN",      "SILENCED",
  "SKATE",        "SMOKING",      "SNIPER",       "SNM",          "SPRAYCAN",
  "STRIP",        "SUNBATHE",     "SWAT",         "SWEET",        "SWIM",
  "SWORD",        "TANK",         "TATTOOS",      "TEC",          "TRAIN",
  "TRUCK",        "UZI",          "VAN",          "VENDING",      "VORTEX",
  "WAYFARER",     "WEAPONS",      "WOP",          "WUZI"
}; 



RE: sistema de ficar caido no chao apos morrer - xbruno1000x - 28/05/2021

Não dá pra fazer o que você deseja na OnPlayerDeath, pois ela só é chamada quando o player está morto. Você deve criar esse sistema na public OnPlayerTakeDamage ou similar. Assim, poderá setar a animação com o player ainda vivo. Funciona basicamente como os sistemas de veículos quebrados, você precisa parar o carro quanto o life do carro está abaixo de 300, ele não chega a explodir(OnVehicleDeath).


RE: sistema de ficar caido no chao apos morrer - zBL4CK - 28/05/2021

(28/05/2021 15:54)xbruno1000x Escreveu: Não dá pra fazer o que você deseja na OnPlayerDeath, pois ela só é chamada quando o player está morto. Você deve criar esse sistema na public OnPlayerTakeDamage ou similar. Assim, poderá setar a animação com o player ainda vivo. Funciona basicamente como os sistemas de veículos quebrados, você precisa parar o carro quanto o life do carro está abaixo de 300, ele não chega a explodir(OnVehicleDeath).
bom eu coloquei assim em onplayertakedamage:

Código PHP:
public OnPlayerTakeDamage(playeridissueridFloat:amountweaponidbodypart) {
    new 
Float:pHealth;
    
GetPlayerHealth(playeridpHealth);
    if(
pHealth 4.0) {
        if(
FeridoChao[playerid] == false) {
            
FeridoChao[playerid] = true;
            new 
Float:Pos[3];
            
GetPlayerPos(playeridPos[0], Pos[1], Pos[2]);
            
SetPlayerPos(playeridPos[0], Pos[1], Pos[2]);
            
ApplyAnimation(playerid"CRACK""CRCKIDLE2"4.0100001); // maca
            
SendClientMessage(playeridVermelho"[ ~!~ ] Você está ferido aguarde o resgate chegar!");
            
FeridoTimer[playerid] = SetTimerEx("OnplayerFerido"1000true"i"playerid);
            
PlayerTextDrawShow(playeridTempCurando[playerid][0]);
            
SetPlayerHealth(playerid2.0);
        }
    } 
e não funcionou apareceu a animação do player morrendo de bruços e logo apos o player spawna no local onde nasceu


RE: sistema de ficar caido no chao apos morrer - ProKillerPa - 28/05/2021

Eu faço diferente o sistema de morte em diversos servidores:

Na OnPlayerDeath, eu coloco uma variavel Morto[playerid] = true; e, logo após no OnPlayerSpawn( que é chamada nessa ordem: onplayerdeath > onplayerrequestclass > onplayerspawn ), eu verifico se morto é true, e ai eu aplico a animacao de morto e faço todas as tratativas.

Abraços


RE: sistema de ficar caido no chao apos morrer - zBL4CK - 29/05/2021

(28/05/2021 18:26)ProKillerPa Escreveu: Eu faço diferente o sistema de morte em diversos servidores:

Na OnPlayerDeath, eu coloco uma variavel  Morto[playerid] = true; e, logo após no OnPlayerSpawn( que é chamada nessa ordem: onplayerdeath > onplayerrequestclass > onplayerspawn ), eu verifico se morto é true, e ai eu aplico a animacao de morto e faço todas as tratativas.

Abraços

haa fiz assim deu certo obgd +rep