Такая штука, писал скрипт на бинды (дабы упростить себе геймплей) /clist 0 + /stats, встретился с проблемой того что забинженые клавиши работают и во время написания какого либо сообщения с их участием + при смерти какая то команда в скрипте вводится слишком часто, ну то есть в секунду где то 3-4 раза, из-за чего происходит клоусэд зэ конэкшн, но вот что странно, после смерти оно именно что автоматично срабатывает(ТО БИШЬ Я ВООБЩЕ НЕ ТРОГАЮ КЛАВИШИ КОТОРЫЕ ЗАБИНДИЛ). прошу помочь знающих людей. Спойлер: вот как выглядит скрипт: {$CLEO} 0000: :1 wait 0 if 0AB0: key_pressed 50 jf @2 wait 1000 0AF9: samp say_msg "/clist 0" jump @1 :2 if 0AB0: key_pressed 51 jf @1 wait 1000 0AF9: samp say_msg "/stats" jump @1
У тебя какие то странные проверки, сделай 2 бесконечных цикла, зачем ты их между собой связал? И нафига тебе после нажатия клавиш задержка 1к? Поставь wait после if и после опкода 0AF9 wait 1000 чтобы флуда не было от нажатия, потому что пока ты 1 раз нажал на кнопку твой цикл прошёл 100 раз, я думаю понял. Добавь проверку на открытый чат, а то когда ты в чат что то пишешь у тебя будет срабатывать проверка нажатия клавиши
{$CLEO} 0000: :1 wait 0 if and 0AB0: key_pressed 50 0256: player $PLAYER_CHAR defined jf @2 wait 500 0AF9: samp say_msg "/mn" jump @1 :3 wait 0 8AB0: key_pressed 50 jf @3 jump @1 :2 if and 0AB0: key_pressed 51 0256: player $PLAYER_CHAR defined jf @1 wait 500 0AF9: samp say_msg "/clist 12" jump @1 :4 wait 0 8AB0: key_pressed 50 jf @4 jump @2
{$CLEO} 0000: 0C6A: 0@ = create_custom_thread_at_label @LabelTwo :LabelOne wait 0 if and 8118: not actor $PLAYER_ACTOR dead 8821: not samp is_chat_opened 8B4C: not samp is_dialog_active -1 0C89: key_just_pressed 50 jf @LabelOne wait 1000 0AF9: samp say_msg "/clist 0" jump @LabelOne :LabelTwo wait 0 if and 0C89: key_just_pressed 51 8118: not actor $PLAYER_ACTOR dead 8821: not samp is_chat_opened 8B4C: not samp is_dialog_active -1 jf @LabelTwo wait 1000 0AF9: samp say_msg "/stats" jump @LabelTwo Ну, всё очень сложно, я думаю.
{$CLEO} 0000: while not Samp.Available() wait 0 end while true wait 0 if and 0AB0: key_pressed 50 8B21: not samp is_chat_opened 8118: not actor $PLAYER_ACTOR dead then say "/clist 0" repeat wait 0 until 8AB0: not key_pressed 50 end if and 0AB0: key_pressed 51 8B21: not samp is_chat_opened 8118: not actor $PLAYER_ACTOR dead then say "/stats" repeat wait 0 until 8AB0: not key_pressed 51 end end
Ну, 1к это же одна секунда, я поставил её, дабы избежать флуда в чат, потому что мне показалось это поможет, ибо одна секунда, а значит не будет этого по сто раз в секунду "не флуди" но в целом, если ты спрашиваешь почему у меня такой код, то это всего навсего отсутствие практики, вся моя база, это видосики даркпикселя, которые я смотрю 1 день, да и то кодером я никогда не был, чисто энтузиазм и желание чему то научится, что то познать, ну и личное желание что то написать по этому именно скрипт на /clist 0 и /stats. я думаю я ответил на вопрос о странных проверках, я пока не шарю какие и на что именно существуют\нужно в конкретном месте их делать (по просту не знаю опкодов, что и говорит о не знании их функций(определенных функций)
господи, то ли лыжи не едут то ли я, не могу понять, я уже и добавил проверку: "8118: not actor $PLAYER_ACTOR dead" но все равно когда умираю оно само по себе активирует скрипт, я не вдупляю, почему так господи, то ли лыжи не едут то ли я, не могу понять, уже и добавил проверку: "8118: not actor $PLAYER_ACTOR dead" но все равно когда умираю оно само по себе активирует скрипт, я не вдупляю, почему так, и еще, что это делает: "while not Samp.Available()" приблизительно понимаю, но хочу убедится хеллоу, может ли кто то ответить на мой вопрос, а не кидать правельный\переправленный код, почему оно автоматически юзает скрипт после смерти? я этого понять не могу