Странно, что могая не добавил эту функу :) Когда предлагал эту идею, указал её.Могай, а можно как нибудь изменить время уже существующего таймера?
Странно, что могая не добавил эту функу :) Когда предлагал эту идею, указал её.Могай, а можно как нибудь изменить время уже существующего таймера?
Странно, что могая не добавил эту функу :) Когда предлагал эту идею, указал её.
Никто не хочет идей накинуть?
можно сделать, но для этого надо намутить регистрацию данной функции из другого потокатипа вызов из какого-нить потока функцию по метке, как 0AD1
Как поздно ко мне пришла одна хорошая идея.
Суть заключается в том, что бы плагин создавал файл в папке cleo, с названием к примеру Myopcodes.txt. В который можно было бы писать свои опкоды исходя из других.
0000: register_global_func @func with_name "funcname" args_num 3
:func
//тело функции
0000: global_return
//Из скрипта "вызывальщика"
if
0000: 1@ = call_global_func "funcname" 2@ 3@ 6@//работает как call_scm_func но возвращает только 1 значение
then
//профит
else
//нет такого
end
Скорость работы такого чуда будет не большой, + там возникают проблемы с использованием меток, т.к. для скрипта они отсчитываются относительно его base
Есть выход, но смысл работы будет другой.
Скрипты вызывает
Кто заинтерисован, предлагайте свои варианты, может у вас получше идея будетКод:0000: register_global_func @func with_name "funcname" args_num 3 :func //тело функции 0000: global_return //Из скрипта "вызывальщика" if 0000: 1@ = call_global_func "funcname" 2@ 3@ 6@//работает как call_scm_func но возвращает только 1 значение then //профит else //нет такого end
Слушай, а то что я предлогал. Его же можно написать на клео, если не задавать отдельный опкод, и вместо 0@ и 1@, использовать $NullForMyScript и $OneForMyScript. Он тогда по идее должен вызываться из клео. Правда это немного бесполезно и никому не нужно
Ты не можешь просто так безнаказанно вызвать scm функу, или госуб из другого скрипта
Как только встретится любой опкод, который прыгает на метку (jump, jf, goto), то будет краш
{$CLEO .cs}
0000: NOP "Первый скрипт"
0001: wait 3000 ms
$MyScriptSave = 0
$MyScriptCall = 0
:Check
wait 0
if and
0AB0: 17
0AB0: 76
jf @Check
0A92: create_custom_thread "Function.f"
$MyScriptCall = 1
:Searsh
wait 10
if
not $MyScriptLoad == 0
jf @Searsh
$MyScriptSave = 1
//Продолжение скрипта пока не важно
{$CLEO .f}
0000: NOP "Второй скрипт"
0001: wait 3000 ms
0@ = -1
$MyScriptLoad = 0
if
$MyScriptCall == 1
jf @StartTwo
:Start
wait 0
0@ += 1
if
not 0@ > 1000
jf @end
samp 1@ = car_handle_from_samp_carid 0@
if
car 1@ defined
jf @Start
$MyScriptLoad = 1@
:waiting
wait 10
if
$MyScriptSave == 1
jf @waiting
$MyScriptCall = 0
0A93: end_custom_thread
:StartTwo
wait 0
if
$MyScriptCall == 2
jf @StartThree
// и так далее по анологии, для вызова разных функций.
Скорость работы такого чуда будет не большой, + там возникают проблемы с использованием меток, т.к. для скрипта они отсчитываются относительно его base
Есть выход, но смысл работы будет другой.
Скрипты вызывает
Кто заинтерисован, предлагайте свои варианты, может у вас получше идея будетКод:0000: register_global_func @func with_name "funcname" args_num 3 :func //тело функции 0000: global_return //Из скрипта "вызывальщика" if 0000: 1@ = call_global_func "funcname" 2@ 3@ 6@//работает как call_scm_func но возвращает только 1 значение then //профит else //нет такого end
{$CLEO}
{$O inc/mgf_opcodes.ini}
const
TIME_FLOOD = 2250
end
thread 'legend2360'
0662: "by legend2360"
0662: "BlastHack - cheating is art"
if 8AF7: get_samp_base_to 33@
then 0A93: end_custom_thread
end
repeat
wait 400
until 0AFA: is_samp_structures_available
0D96: 1@ = timer_every TIME_FLOOD ms callback_to_label @timer_callback active false
reg_cmd "fedit" @cmd
while true
wait 0
end
:cmd
0@++
if 0@ > 1
then 0@ = 0
end
if 0@ <> 0
then
0B35: samp 2@ = get_last_command_params
chat "Тэг: {FFFF00}%s" 0xFFFFFF 2@
end
0D97: timer 1@ set_active 0@
SAMP.CmdRet()
:timer_callback
if and
not SAMP.ChatInputOpened()
not SAMP.IsDialogActive(-1)
then
say "/edit"
wait 300
if SAMP.IsDialogActive(224)
then 0B4B: samp set_current_dialog_editbox_text 2@
end
end
0D98: callback_retn