Sign in to follow this  
Followers 0
Guest stibs

Анимация с первого раза + синхронизация

1 post in this topic

Многие наверняка замечали, что анимации срабатывают ТОЛЬКО после повторого их использования. Сегодня будем исправлять данный косяк ;)

В паблик OnPlayerConnect:
 

PreloadAnimLibs(playerid);

Ко всем стокам / в конец мода:
 

stock PreloadAnimLibs(playerid) 
{ 
    static animlibs[131][] = { 
    "AIRPORT", "Attractors", "BAR", "BASEBALL", "BD_FIRE", "BEACH", "benchpress", "BF_injection", 
    "BIKED", "BIKEH", "BIKELEAP", "BIKES", "BIKES", "BIKEV", "BIKE_DBZ", "BLOWJOBZ", "BMX", 
    "BOMBER", "BOX", "BSKTBALL", "BUDDY", "BUS", "CAMERA", "CAR", "CARRY", "CAR_CHAT", "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", "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", "RUSTLER", "RYDER", "SCRATCHING", 
    "SEX", "SHAMAL", "SHOP", "SHOTGUN", "SILENCED", "SKATE", "SMOKING", "SNIPER", "SPRAYCAN", 
    "STRIP", "SUNBATHE", "SWAT", "SWEET", "SWIM", "SWORD", "TANK", "TATTOOS", "TEC", "TRAIN", 
    "TRUCK", "UZI", "VAN", "VENDING", "VORTEX", "WAYFARER", "WEAPONS", "WUZI"}; 
    for(new i = 0; i < 131; i++) ApplyAnimation(playerid, animlibs[i][0], "null", 0.0, 0, 0, 0, 0, 0); 
    return 1; 
}

Все, фикс готов. 

Теперь профиксим асинхронность анимаций. В a_players.inc (/pawno/include) найдите эту строку:

native ApplyAnimation(playerid, animlib[], animname[], Float:fDelta, loop, lockx, locky, freeze, time, forcesync = 0);

И замените на эту:
 

native ApplyAnimation(playerid, animlib[], animname[], Float:fDelta, loop, lockx, locky, freeze, time, forcesync = 1);

После этого обязательно сохраните инклуд и скомпилируйте мод. 

А на этом все.

Автор фиксов: неизвестен. 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Novaro.Vaiper
      By Novaro.Vaiper
      Приветствую.

      Условия:

      - Если вы надежный человек
      - Можете выходить на связь [Говорить, скайп дискорд.]
      - Если вы продуктивный и пунктуальный

      Обязанности:
      - Просто написать мод с нуля. [Естественно для начала просто под основу. На Основе самый новых и полезных плагинов которые могут быть]
      - Мы должны с вами сообщиться, понравится друг другу в делом подходе к нашему делу. То есть мы должны вызывать самое главное, доверие друг у друга.

      К слову.


      Безусловно большим плюсом в нашей с вами кампании будет ваше портфолио проделанной работы.
      Мы можем найди вам помощника. Одна голова хорошо, а две еще лучше!
      Естественно оплата будет оплачена после работы. Примечание, выплата может быть осуществлена два раза в месяц. Горы не обещаю конечно, для начала поработаем. На первое время помогу материально в случае прогресса развития мода.
      На момент работы будут оплачен хостинг самого сервера, для того, что бы мы могли еще с вами тестировать наш с вами сервер.
      Что входит под сленгам "Под основу" Я хочу видеть:
      Регистрацию: Тз есть
      Фракции: Тз будет ! 

      Работа есть!
      Пишите по делу! https://vk.com/sailencer
    • KAIF
      By KAIF


      Просмотр файла [0.3.7]GTA RolePlay-
      Здравствуйте, хотел бы продать переделанный игровой мод всем знакомого проекта GTA RolePlay
      Фракции:
      1)Правительство
      2)ГИБДД
      3)Полиция Южного
      4)ФСБ
      5)ЦГБ-А
      6)Автошкола
      7)ВВС
      8)СМИ
      9)ОМОН
      10)опг.Тукаевские
      11)опг.Тяп-Ляп
      12)Чеченская Мафия
      13)Американская Мафия
      14)Якудза
      15)Русская Мафия
      16)Итальянская Мафия
      Добавлено/исправлено:
      1)Добавлен ВЕСЬ ОПТИМИЗИРОВАННЫЙ маппинг GTA ROLEPLAY.(2018-2019г)
      2)Добавлены организации мафий.
      3)Перенесены все чекпоинты как на GTA ROLEPLAY.
      4)Добавил в донат покупку военного билета.
      5)Изменил название рангов во фракциях как на GTA ROLEPLAY/
      6)Изменен логотип GTA ROLEPLAY
      7)Переделан весь GPS, изменены все координаты.
      В моде - 6 уровней администрации.(если хотите можете увелить кол-во админок)
      Имеется фуллдоступ, выдаётся в pawno.
      Так же в комплекте будет идти мод-пак к серверу.
      После покупки вы получите архив с модом, а в самом архиве будет текстовый файл с ссылкой на скачивание модпака.
      Добавил KAIF Добавлено 27.12.2020 Категория Моды Автор Kytip  
    • Sergey_Turner
      By Sergey_Turner
      Добрый вечер!
      Писал функцию для отображения над головой актёра текста, но столкнулся с такой проблемой. Он исчезает через 0.5 - 2 секунды, хотя установленное время 5 секунд. Ниже предоставляю код, кто знает решение прошу помочь, ибо я не понимаю.
      stock SetActorChatBubble(actorid, text[], color, Float:drawdistance, expiretime) { new Float:aPos[3]; GetActorPos(actorid, aPos[0], aPos[1], aPos[2]); Delete3DTextLabel(ActorInfo[actorid][ActorsText]), KillTimer(ActorInfo[actorid][aTimer]); ActorInfo[actorid][ActorsText] = Create3DTextLabel(text, color, aPos[0], aPos[1], aPos[2]+1.1, drawdistance, 0); ActorInfo[actorid][aTimer] = SetTimer("ClearActorChatBubble", expiretime * 1000, false, "d", actorid); } forward ClearActorChatBubble(actorid); public ClearActorChatBubble(actorid) { Delete3DTextLabel(ActorInfo[actorid][ActorsText]), KillTimer(ActorInfo[actorid][aTimer]); } enum actor_info { Text3D:ActorsText, aTimer } new Masha; new ActorInfo[MAX_ACTORS][actor_info]; Masha = CreateActor(11,832.6710,-510.1648,996.6475,91.7613); if(newkeys == KEY_WALK && IsPlayerInRangeOfPoint(playerid, 1.0, 832.6710,-510.1648,996.6475)) { SetActorChatBubble(Masha, "Текст", 0xC0C0C0FF, 10.0, 5); }  
    • Dworkin
      By Dworkin
      Привет. Мне тяжело дается понимание строк в pawn из за не динамических массивов.
      #include enum pInfo { pRangName[25] } new players[MAX_PLAYERS][pInfo]; new string[20]; main() { format(string, sizeof(string), "Салага"); printf(string); players[0][pRangName] = string; } выдает ошибку "error 047: array sizes do not match, or destination array is too small" на строку "players[0][pRangName] = string;"
      Я понимаю что в ошибке говорится что размер не совпадает, но не могу понять как это сделать в павне