You are not logged in.
Берём например полосу ХП, её значение можно узнать (ну и собсна записать) опкодом 0226, а как узнать запас воздуха игрока?
И как можно поменять его значение?
Пытался найти что либо на эту тему в инете, по поиску опкодов SB тоже лазил, но как видите ничего я не нашёл.
Offline
Вариант #1 (самый простой и самый быстрый) - написать свой опкод, используя CLEO SDK и plugin-sdk.
Самое главное преимущество такого подхода, относительно скрипта - то, что скрипт остается "чистым" и понятным.
{$CLEO}
{$OPCODE 1A04=2,%2d% = get_player %1d% breath_percentage}
0000:
while true
wait 0
if
0256: is_player_playing 0
then
1A04: 0@ = get_player 0 breath_percentage
0AD1: print_formatted_now "%.2f" time 100 0@
end
endКод опкода
// 1A04: 0@ = get_player 0 breath_percentage
static OpcodeResult WINAPI Opcode_GetPlayerBreathPercentage(CScriptThread *thread) {
int playerId = CLEO_GetIntOpcodeParam(thread);
if ((playerId == 0 || playerId == 1) && CWorld::Players[playerId].m_pPed)
CLEO_SetFloatOpcodeParam(thread, CWorld::Players[playerId].m_pPed->m_pPlayerData->m_fBreath / CallAndReturn<float, 0x559AF0>(8));
else
CLEO_SetFloatOpcodeParam(thread, 0.0f);
return OR_CONTINUE;
}Вариант #2 (для извращенцев)
{$CLEO}
0AC6: get_label_pointer @pop_float store_to 31@
while true
wait 0
if
0256: is_player_playing 0
then
01F5: get_player_char 0 store_to 0@
0A96: get_char_pointer 0@ store_to 1@
1@ += 0x480
0A8D: read_memory 1@ size 4 vp 0 store_to 1@
1@ += 0x44
0A8D: read_memory 1@ size 4 vp 0 store_to 1@
0AA5: call_function 0x559AF0 num_params 1 pop 1 params 8
0AC7: get_var_pointer 2@ store_to 3@
0AA5: call_function 31@ num_params 1 pop 1 params 3@
0073: 1@ /= 2@
0AD1: print_formatted_now "%.2f" time 100 1@
end
end
:pop_float
hex
8B 44 24 04 // mov eax, [esp + 4]
D9 18 // fstp [eax]
C3 // retn
endВариант #3 (для психопатов)
UP: Передумал писать... 
Last edited by DK22Pac (04-03-2017 14:28)
Plugin-SDK https://github.com/DK22Pac/plugin-sdk
Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv
Offline
Придётся пока что быть извращенцем и сидеть понимать что тут к чему :с
Ну ничего, выйдет скоро полноценная VS2017 вот тогда и попробую установить ещё разок
Опять же - спасибо, какой раз уже хорошие, развёрнутые ответы
Last edited by Zin_869731 (04-03-2017 18:55)
Offline