Почему GetPlayerWeaponData не всегда находит патроны? ID оружия всегда.
Почему GetPlayerWeaponData не всегда находит патроны? ID оружия всегда.
Кончились патроны?
http://wiki.pro-pawn.ru/wiki/GetPlayerWeaponData
https://i.imgur.com/lyv39UH.png
Делаю выстрел и только потом GetPlayerWeaponData начинает выводить ammo. Выдаю через SetSpawnInfo.
Скорее всего очередной баг. Как вариант - пробовать выдавать оружие через GivePlayerWeapon при спавне.
Сделал. Так оно и есть. Тему закрыто.
Ну и, если что, можно так же саму SetSpawnInfo зафиксить при помощи перехвата, сохранения инфы об оружии и отслеживании первого выстрела/вызова GivePlayerWeapon. В случае выстрела/вызова - обнуление переменных. Ну и в GetPlayerWeaponData проверять значение переменных: не равны нулю - возвращать их значение вместо того, что выдаёт сама функция.
Не совсем понял о чём ты :)
Ты хочешь получать количество патрон при смене оружия или что?
Да. При смене вызывается в таймере:
stock UpdateHudWeapon(playerid, weaponid) { new slot = td_hud_weapon_slots[weaponid], weapon, ammo, string[6]; PlayerTextDrawSetString(playerid, td_hud_player_weapon_name[playerid], td_hud_weapon_name[weaponid]); td_hud_player_weapon_model[playerid] = CreatePlayerTextDraw(playerid, td_hud_weapon_model_position[weaponid][td_hud_weapon_pos_x], td_hud_weapon_model_position[weaponid][td_hud_weapon_pos_y], !""); PlayerTextDrawSetPreviewModel(playerid, td_hud_player_weapon_model[playerid], td_hud_weapon_model_position[weaponid][td_hud_weapon_modelid]); PlayerTextDrawSetPreviewRot(playerid, td_hud_player_weapon_model[playerid], 0.0000, td_hud_weapon_model_position[weaponid][td_hud_weapon_pot_y], 0.0000, td_hud_weapon_model_position[weaponid][td_hud_weapon_size]); return 1; }
Пробуй использовать GetPlayerWeapon + GetPlayerAmmo вместо GetPlayerWeaponData