server-beta icon indicating copy to clipboard operation
server-beta copied to clipboard

[BUG]: ApplyAnimation doesn't work on first use

Open 0xWhyd opened this issue 3 years ago • 3 comments

Description

I see that a fix was implemented to load the animation libraries from fixes.inc.

Well, I removed the code to preload the animations in my gamemode. I started the O:MP server and I see that both my player and the actors don't play the animation the first time, they need a second call.

How to re-produce this bug

  1. I've removed the code to preload the player animations in my gamemode

public OnPlayerSpawn(playerid)
{
    PreLoadAnims(playerid);
}

PreloadAnimLib(playerid, const animlib[]) ApplyAnimation(playerid, animlib, "null", 0.0, 0, 0, 0, 0, 0);

PreLoadAnims(playerid)
{
    PreloadAnimLib(playerid,"BLOWJOBZ");        PreloadAnimLib(playerid,"SNM");
    PreloadAnimLib(playerid,"AIRPORT");         PreloadAnimLib(playerid,"ATTRACTORS");
    PreloadAnimLib(playerid,"BAR");             PreloadAnimLib(playerid,"BASEBALL");
    PreloadAnimLib(playerid,"BD_FIRE");         PreloadAnimLib(playerid,"BEACH");
    PreloadAnimLib(playerid,"BENCHPRESS");      PreloadAnimLib(playerid,"BF_INJECTION");
    PreloadAnimLib(playerid,"BIKED");           PreloadAnimLib(playerid,"BIKEH");
    PreloadAnimLib(playerid,"BIKELEAP");        PreloadAnimLib(playerid,"BIKES");
    PreloadAnimLib(playerid,"BIKEV");           PreloadAnimLib(playerid,"BIKE_DBZ");
    PreloadAnimLib(playerid,"BMX");             PreloadAnimLib(playerid,"BOMBER");
    PreloadAnimLib(playerid,"BOX");             PreloadAnimLib(playerid,"BSKTBALL");
    PreloadAnimLib(playerid,"BUDDY");           PreloadAnimLib(playerid,"BUS");
    PreloadAnimLib(playerid,"CAMERA");          PreloadAnimLib(playerid,"CAR");
    PreloadAnimLib(playerid,"CARRY");           PreloadAnimLib(playerid,"CAR_CHAT");
    PreloadAnimLib(playerid,"CASINO");          PreloadAnimLib(playerid,"CHAINSAW");
    PreloadAnimLib(playerid,"CHOPPA");          PreloadAnimLib(playerid,"CLOTHES");
    PreloadAnimLib(playerid,"COACH");           PreloadAnimLib(playerid,"COLT45");
    PreloadAnimLib(playerid,"COP_AMBIENT");     PreloadAnimLib(playerid,"COP_DVBYZ");
    PreloadAnimLib(playerid,"CRACK");           PreloadAnimLib(playerid,"CRIB");
    PreloadAnimLib(playerid,"DAM_JUMP");        PreloadAnimLib(playerid,"DANCING");
    PreloadAnimLib(playerid,"DEALER");          PreloadAnimLib(playerid,"DILDO");
    PreloadAnimLib(playerid,"DODGE");           PreloadAnimLib(playerid,"DOZER");
    PreloadAnimLib(playerid,"DRIVEBYS");        PreloadAnimLib(playerid,"FAT");
    PreloadAnimLib(playerid,"FIGHT_B");         PreloadAnimLib(playerid,"FIGHT_C");
    PreloadAnimLib(playerid,"FIGHT_D");         PreloadAnimLib(playerid,"FIGHT_E");
    PreloadAnimLib(playerid,"FINALE");          PreloadAnimLib(playerid,"FINALE2");
    PreloadAnimLib(playerid,"FLAME");           PreloadAnimLib(playerid,"FLOWERS");
    PreloadAnimLib(playerid,"FOOD");            PreloadAnimLib(playerid,"FREEWEIGHTS");
    PreloadAnimLib(playerid,"GANGS");           PreloadAnimLib(playerid,"GHANDS");
    PreloadAnimLib(playerid,"GHETTO_DB");       PreloadAnimLib(playerid,"GOGGLES");
    PreloadAnimLib(playerid,"GRAFFITI");        PreloadAnimLib(playerid,"GRAVEYARD");
    PreloadAnimLib(playerid,"GRENADE");         PreloadAnimLib(playerid,"GYMNASIUM");
    PreloadAnimLib(playerid,"HAIRCUTS");        PreloadAnimLib(playerid,"HEIST9");
    PreloadAnimLib(playerid,"INT_HOUSE");       PreloadAnimLib(playerid,"INT_OFFICE");
    PreloadAnimLib(playerid,"INT_SHOP");        PreloadAnimLib(playerid,"JST_BUISNESS");
    PreloadAnimLib(playerid,"KART");            PreloadAnimLib(playerid,"KISSING");
    PreloadAnimLib(playerid,"KNIFE");           PreloadAnimLib(playerid,"LAPDAN1");
    PreloadAnimLib(playerid,"LAPDAN2");         PreloadAnimLib(playerid,"LAPDAN3");
    PreloadAnimLib(playerid,"LOWRIDER");        PreloadAnimLib(playerid,"MD_CHASE");
    PreloadAnimLib(playerid,"MD_END");          PreloadAnimLib(playerid,"MEDIC");
    PreloadAnimLib(playerid,"MISC");            PreloadAnimLib(playerid,"MTB");
    PreloadAnimLib(playerid,"MUSCULAR");        PreloadAnimLib(playerid,"NEVADA");
    PreloadAnimLib(playerid,"ON_LOOKERS");      PreloadAnimLib(playerid,"OTB");
    PreloadAnimLib(playerid,"PARACHUTE");       PreloadAnimLib(playerid,"PARK");
    PreloadAnimLib(playerid,"PAULNMAC");        PreloadAnimLib(playerid,"PED");
    PreloadAnimLib(playerid,"PLAYER_DVBYS");    PreloadAnimLib(playerid,"PLAYIDLES");
    PreloadAnimLib(playerid,"POLICE");          PreloadAnimLib(playerid,"POOL");
    PreloadAnimLib(playerid,"POOR");            PreloadAnimLib(playerid,"PYTHON");
    PreloadAnimLib(playerid,"QUAD");            PreloadAnimLib(playerid,"QUAD_DBZ");
    PreloadAnimLib(playerid,"RAPPING");         PreloadAnimLib(playerid,"RIFLE");
    PreloadAnimLib(playerid,"RIOT");            PreloadAnimLib(playerid,"ROB_BANK");
    PreloadAnimLib(playerid,"ROCKET");          PreloadAnimLib(playerid,"RUSTLER");
    PreloadAnimLib(playerid,"RYDER");           PreloadAnimLib(playerid,"SCRATCHING");
    PreloadAnimLib(playerid,"SHAMAL");          PreloadAnimLib(playerid,"SHOP");
    PreloadAnimLib(playerid,"SHOTGUN");         PreloadAnimLib(playerid,"SILENCED");
    PreloadAnimLib(playerid,"SKATE");           PreloadAnimLib(playerid,"SMOKING");
    PreloadAnimLib(playerid,"SNIPER");          PreloadAnimLib(playerid,"SPRAYCAN");
    PreloadAnimLib(playerid,"STRIP");           PreloadAnimLib(playerid,"SUNBATHE");
    PreloadAnimLib(playerid,"SWAT");            PreloadAnimLib(playerid,"SWEET");
    PreloadAnimLib(playerid,"SWIM");            PreloadAnimLib(playerid,"SWORD");
    PreloadAnimLib(playerid,"TANK");            PreloadAnimLib(playerid,"TATTOOS");
    PreloadAnimLib(playerid,"TEC");             PreloadAnimLib(playerid,"TRAIN");
    PreloadAnimLib(playerid,"TRUCK");           PreloadAnimLib(playerid,"UZI");
    PreloadAnimLib(playerid,"VAN");             PreloadAnimLib(playerid,"VENDING");
    PreloadAnimLib(playerid,"VORTEX");          PreloadAnimLib(playerid,"WAYFARER");
    PreloadAnimLib(playerid,"WEAPONS");         PreloadAnimLib(playerid,"WUZI");
    PreloadAnimLib(playerid,"WOP");             PreloadAnimLib(playerid,"GFUNK");
    PreloadAnimLib(playerid,"RUNNINGMAN");      PreloadAnimLib(playerid,"SEX");
}
  1. I started the O:MP server and logged into the game.
  2. I proceed to type a command with an animation and nothing happens.
CMD:haha(playerid, params[])
{
    ApplyAnimation(playerid, "RAPPING", "Laugh_01", 4.0, 0, 0, 0, 0,0); // Laugh
    return 1;
}
  1. I type the same command again and I see that it performs the animation successfully.

Relevant log output

-

open.mp server version

beta build2

Operating system or distribution

Windows 11 21H2

Contact information

Whyd#9999 on Discord

Additional information

I think it is a fixes.inc implementation bug for O:MP.

0xWhyd avatar Apr 22 '22 21:04 0xWhyd