почему крашит ? помогите с кодом
{$CLEO}
{$INCLUDE Sf}
0000:
repeat
wait 0
until Samp.Available()
0B34: samp register_client_command "uv" to_label @un
0B34: samp register_client_command "fskin" to_label @fskin
0B34: samp register_client_command "tpgo" to_label @tpgo
0B34: samp register_client_command "goto" to_label @goto
0B34: samp register_client_command "scar" to_label @scar
0B34: samp register_client_command "cmds" to_label @cmds
:un
wait 0
if 10@ == 1
then
samp.IsCommandTyped(0@)
if 0AD4: 5@ = scan_string 0@ format "%d" 10@
then
say "/uninvite %d Выселен" 10@
0AF8: samp add_message_to_chat " {FFFFFF}Игроk был уволен - {10EF1F}Выполнено" color 10@
end
20@ = 0
end
:unn
10@ = 1
Samp.CmdRet()
while true
wait 0
if 0@ == 1
then
SAMP.IsCommandTyped(1@)
0AD4: 1@ = scan_string 1@ format "%d" 2@
if not 2@ > 311
then
Model.Load(2@)
if Model.Available(2@)
then
09C7: change_player $PLAYER_CHAR model_to 2@
Player.CanMove($PLAYER_CHAR) = True
Model.Destroy(2@)
0@ = 0
end
end
end
end
:fskin
wait 0
0@ = 1
samp.CmdRet()
repeat
wait 0
if
0@ == 1
then
0AB6: store_target_marker_coords_to 1@ 2@ 3@
if
0AB6: store_target_marker_coords_to 1@ 2@ 3@
then
Actor.PutAt($player_actor, 1@ ,2@, 3@)
0@ = 0
else
0AF8: samp add_message_to_chat "Ошибка! Не найдена метка!" color 0x69AA30
0@ = 0
end
end
until false
:tpgo
wait 0
if
0@ == 0
then
0@ = 1
end
Samp.CmdRet()
{
"bhcmd" - Это ваша команда, запомните туда не нужно указывать /
to_label @new_cmd - Отправляем к началу скрипта new_cmd
}
while true // Цикл
wait 0 // Ожидание 0
end // Конец цикла
:goto // Начало метки
0B35: samp 0@ = get_last_command_params // Параметры
if 0AD4: 1@ = scan_string 0@ format "%d" 2@ // Сканируем число которое было введено в параметр
{
1@ - Переменная в которой хранится всё это дело
0@ - Переменная которая сканируется из параметра
2@ - Это число которое было введено в параметр команды
}
then // Тогда
0B20: samp 4@ = actor_handle_by_samp_player_id 2@ // Узнаём хендл игрока по его иду
if 0B23: samp is_player_connected 2@ // Если игрок подключен
{
2@ = Это ид игрока
}
then // Тогда
if 056D: actor 4@ defined // Если актёр(игрок) существует
{
4@ = Это сам актёр
}
then // Тогда
00A0: store_actor 4@ position_to 5@ 6@ 7@ // Сохраняем позицию актёра(игрока) в переменные 5@ 6@ 7@ (X, Y, Z)
00A1: put_actor $PLAYER_ACTOR at 5@ 6@ 7@ // Отправляем актёра(игрока) в переменные которые были сохранены с помощью store_actor 5@ 6@ 7@ (X, Y, Z)
0B36: samp 3@ = get_player_nickname 2@ // Получаем ник жертвы
{
3@ = Хранится его ник
2@ = Хранится его ид
}
0AF9: samp say_msg "мда %s[%d] :)" params 3@ 2@ // Когда мы телепортировались к игроку, то отправляем это сообщение в чат
else 0AF8: samp add_message_to_chat "[error] Игрок не найден" color -1 // Иначе если игрок не существует то уж отправим это сообщение
end // Конец if 056D: actor 4@ defined
else 0AF8: samp add_message_to_chat "[error] Игрок не подключен" color -1 // Иначе отправляем то что игрок не подключен
end // Конец if 0B23: samp is_player_connected 2@
else 0AF8: samp add_message_to_chat "[error] /tp4 [playerid]" color -1 // Если команды была введена без каких либо параметров, то выводим это сообщение
end // Конец самого первого if(если)
0B43: samp cmd_ret // Конец команды
0BE2: raknet setup_outcoming_packet_hook @scar2
While true
repeat
wait 0
until 31@ == 1
if 00DF: actor $PLAYER_ACTOR driving
then
Actor.StorePos($PLAYER_ACTOR, 15@ 16@ 17@)
17@ += 2.0
0362: remove_actor $PLAYER_ACTOR from_car_and_place_at 15@ 16@ 17@
wait 200
end
0B30: samp send_enter_vehicle 1@ as_passenger 0
wait 350
036A: put_actor $PLAYER_ACTOR in_car 2@
31@ = 0
end
:scar2
0BE5: raknet 10@ = get_hook_param PARAM_PACKETID
if and
10@ == 200
31@ == 1
then
0BE0: raknet hook_ret 0
end
0BE0: raknet hook_ret 1
:scar
0B35: samp 20@ = get_last_command_params
0AD4: 20@ = scan_string 20@ format "%d" 1@
0AFF: samp 2@ = car_handle_by_samp_vehicle_id 1@
if 056E: car 2@ defined
then
31@ = 1
end
Samp.CmdRet()
:cmds
0AC6: 0@ = label @cmds1 offset
0B3B: samp show_dialog id 1447 caption "Cmds By sss" text 3@ button_1 "Ok" button_2 "" style 0
0B43: samp cmd_ret
:cmds1
HEX
"{10EF1F}>>>>>>>>>>>>>>>>>>>>>>>>>> <<<<<<<<<<<<<<<<<<<<<<<<<<<>"A
"{10EF1F} "
"{10EF1F} "
"{10EF1F} "
"{10EF1F} /Fskin сминить себе скинь визуально" A "
"{10EF1F} /uv id - Увал игрока" A "
"{10EF1F} /cs id - /changeskin id" A "
"{10EF1F} /tpgo Телепорт по метке. " A "
"{10EF1F} /goto Телепорт к игроку. " A "
"{10EF1F} /dl и ид машины и /scar (ид тачки) " A "
"{10EF1F} "
"{10EF1F}>>>>>>>>>>>>>>>>>>Автор SSS <<<<<<<<<<<<<<<<<<<<<<<<<<<"
END
Может потому что говнокод ?!
1) У тебя после обьявления команд хуй пойми что начинается, стоит метка :un , которая вроде как должна выполнять какую-то функцию, если переменная 10@ = 1 , а ниже метка :unn с кмд.ретом, которая как бы должна вызываться командой в чат, но до нее просто очередь не доходит и команды которая ее вызывает ПО-факту в коде нету.
2) Дальше идёт кучу меток связанных с командой и кмд ретом, а потом кучу циклов в которых выполняется код, но до них не дойдет очередь никогда потому, что после регистрации команд, опять же идёт метка :un , которая всё блочит.
Дальше можно не продолжать, смотря на код могу предположить, что ты вообще не тестил его работу, а всё написал за один раз и потом удивляешься какого хуя он не работает. Если нету опыта в работе с КЛЕО или вообще со скриптингом или программированием, то могу дать СОВЕТ:
1) пиши скрипт постепенно написал одну-две функции и пытайся тестить их в игре
2) Создай один цикл while true и поставь первые N кол-во проверок в зависимости от того сколько у тебя функций в скрипте должно быть и каждой проверке поставь значение на проверку определнной переменной, которую ты будешь менять внутри тел команд путём их вызова.