Прошу помощь с UDF

Статус
В этой теме нельзя размещать новые ответы.

Kvisk

Известный
Автор темы
212
223
В общем такая ситуация, в sampUDF есть такая функция как
AutoHotKey:
getLastDamagePed(playerid, weapon)
она возвращает id игрока который последний нанёс нам урон.
Но если данный игрок пропадёт из зоны стрима(неважно вернётся он опять в зону стрима или нет), то функция сбрасывается и выдаёт стандартное значение -1.

Мой вопрос в следующем, можно ли сделать так, чтобы я сам мог сбрасывать значение?
Пример того что мне нужно:
AutoHotKey:
F1::
test := getLastDamagePed(playerid, weapon)
if test = -1
{
     addChatMessage("{ffffff}Никто больше не наносил урон")
     return
}
addChatMessage("{ffffff}Айди: " test)

*Здесь кусок чего угодна который делает так,
чтобы при повторной активации скрипта значение
"getLastDamagePed" было стандартное (-1),
а не запоминался ID игрока*

return
 
Последнее редактирование:

darksoor

Известный
679
355
В общем такая ситуация, в sampUDF есть такая функция как
AutoHotKey:
getLastDamagePed(playerid, weapon)
она возвращает id игрока который последний нанёс нам урон.
Но если данный игрок пропадёт из зоны стрима(неважно вернётся он опять в зону стрима или нет), то функция сбрасывается и выдаёт стандартное значение -1.

Мой вопрос в следующем, можно ли сделать так, чтобы я сам мог сбрасывать значение?
Пример того что мне нужно:
AutoHotKey:
F1::
test := getLastDamagePed(playerid, weapon)
if test = -1
{
     addChatMessage("{ffffff}Никто больше не наносил урон")
     return
}
addChatMessage("{ffffff}Айди: " test)

*Здесь кусок чего угодна который делает так,
чтобы при повторной активации скрипта значение
"getLastDamagePed" было стандартное (-1),
а не запоминался ID игрока*

return

Сейчас не дома, со 100-процентной уверенностью сказать не смогу, но попробуй так:
AutoHotKey:
test:=!test
;Ну или так
test := !getLastDamagePed(playerid, weapon)
;Или просто присваивай переменной значение
test := "-1"
 
Последнее редактирование:

Kvisk

Известный
Автор темы
212
223
Сейчас не дома, со 100-процентной уверенностью сказать не смогу, но попробуй так:
AutoHotKey:
test:=!test
;Ну или так
test := !getLastDamagePed(playerid, weapon)
;Или просто присваивай переменной значение
test := "-1"

Нет, это вообще не то. Посмотри внимательно, скрипт запускается заново, и заного записывает в переменную - функцию.

Тут скорее надо с памятью работать, как то сбросить её, я хз.. я не шарю
 
Последнее редактирование:

Kvisk

Известный
Автор темы
212
223
Записывай в ini, и читай с него / очищай.
Что именно!? Вы понимаете что функция
AutoHotKey:
getLastDamagePed(playerid, weapon)
каждый раз будет заново записывать старое или стандартное значение!? Мне не нужно работать с переменной, мне нужно работать с функцией, а именно с самим UDF сделать так что бы у меня в память гта "что-то" обновилась или сбросилось!
AutoHotKey:
getLastDamagePed(ByRef Ped := "", ByRef Weapon := "")
{
    if(!checkHandles())
        return -1
    if(!CPed := readDWORD(hGTA, ADDR_CPED_PTR))
        return -1
    if(!dwPed := readDWORD(hGTA, CPed + 0x764))
        return -1
    Ped := getIdByPed(dwPed)
    Weapon := readMem(hGTA, CPed + 0x760, 4, "int")
    return Ped
}
вот код данной функции, как сделать так что бы значение сбрасывалось, так же как если бы персонаж, который последний наносил урон, вышел бы из зоны стрима?

asdzxcjqwe скорей всего знает, но он уже не смотрит подобные темы..
 
Последнее редактирование:

Kvisk

Известный
Автор темы
212
223
Попробуй так.
C++:
F1::
test := getLastDamagePed(playerid, weapon)
IfInString, test, % test1
{
     addChatMessage("{ffffff}Никто больше не наносил урон")
     return
}
addChatMessage("{ffffff}Айди: " test)
test1 = % test

return
А смысл? Она не будет реагировать на последний id только на новый. Мне надо сбросить "память" функции, для того что бы если один и тот id мне несколько раз подряд нанёс урон, она реагировала на него каждый раз заново!

В общем, тему можно закрыть. Более не требуется, никто так и не помог( Но все ровно всем спасибо кто пытался
 

Kvisk

Известный
Автор темы
212
223
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.