Вопросы по CLEO-скриптингу

OtherWeather

Новичок
39
2
PHP:
{$CLEO}
{$INCLUDE SF}

0000:NOP

if not 31@ = samp.Base()
then
end_thread
else
    while not samp.Available()
    wait 100
    end
end

wait 0
while true
    wait 0
    if
        not player.defined($player_char)
    then
        continue
    end
    if
        0AB0:  key_pressed 0x23
    then
        actor.PutAt($player_actor -1131.20,1050.10,1345.74)
        0860: link_actor $PLAYER_ACTOR to_interior 10
        wait 1000
    end
end

Когда телепортируешься, то вокруг всё серое, что я делаю не так?
 

DubStep_

Известный
292
52
PHP:
{$CLEO}
{$INCLUDE SF}

0000:NOP

if not 31@ = samp.Base()
then
end_thread
else
    while not samp.Available()
    wait 100
    end
end

wait 0
while true
    wait 0
    if
        not player.defined($player_char)
    then
        continue
    end
    if
        0AB0:  key_pressed 0x23
    then
        actor.PutAt($player_actor -1131.20,1050.10,1345.74)
        0860: link_actor $PLAYER_ACTOR to_interior 10
        wait 1000
    end
end

Когда телепортируешься, то вокруг всё серое, что я делаю не так?
04BB: select_interior 10
 

Enjoy

Новичок
Проверенный
164
11
Можно ведь поменять score игрока в табе? Если да, киньте опкод, плес)
визуально оф корс
 

cover

Известный
Проверенный
245
268
Как мне определённый кар тпхнуть в определённое место?
Сделать команду, про сканировать информацию что вводится после команды(Ид машины) получить ёё хендл, записать свои координаты, телепортироватся в машину, телепортировать куда ёё надо, выбросить игрока из машины на те координаты где начинал.
 
Последнее редактирование:
  • Нравится
Реакции: Ne0phYte

cover

Известный
Проверенный
245
268
У SR_team`а есть спавн машин , мне таким же образом надо тпхнуть её на определённое место.
Это не как в SR_team, но типа телепортирует, самый простой и самый банальный способ.

Код:
{$CLEO .cs}
0000:

repeat
wait 300
until 0AFA:  is_samp_available

while true
wait 0
    if 0@ == true
    then
    0AFF: samp 4@ = car_handle_by_samp_vehicle_id 2@
        if 056E:   car 4@ defined
        then
        Actor.StorePos($player_actor, 5@ 6@ 7@)
        0B30: samp send_enter_vehicle 2@ as_passenger false
        036A: put_actor $player_actor in_car 4@
        wait 100
        Car.PutAt($player_actor, 0.0 0.0 0.0) // Коордынаты телепорта
        wait 100
        0362: remove_actor $PLAYER_ACTOR from_car_and_place_at 5@ 6@ 7@
        0@ = false
        else 0AF8: samp add_message_to_chat "Машина не существует, или находится вне зоны стрима!" color -1
        end
    end
end

:new_label

0B35: samp 1@ = get_last_command_params
if 0AD4: 3@ = scan_string 1@ format "%d" 2@ //IF and SET
then
0@ = true
else 0AF8: samp add_message_to_chat "Ошибка ввода!" color -1
end
0B43: samp cmd_ret
 

cover

Известный
Проверенный
245
268
Забыл) вот

Код:
{$CLEO .cs}
0000:

repeat
wait 300
until 0AFA:  is_samp_available

0B34: samp register_client_command "cmd" to_label @new_label

while true
wait 0
    if 0@ == true
    then
    0AFF: samp 4@ = car_handle_by_samp_vehicle_id 2@
        if 056E:   car 4@ defined
        then
        Actor.StorePos($player_actor, 5@ 6@ 7@)
        0B30: samp send_enter_vehicle 2@ as_passenger false
        036A: put_actor $player_actor in_car 4@
        wait 100
        Car.PutAt($player_actor, 0.0 0.0 0.0) // Коордынаты телепорта
        wait 100
        0362: remove_actor $PLAYER_ACTOR from_car_and_place_at 5@ 6@ 7@
        0@ = false
        else 0AF8: samp add_message_to_chat "Машина не существует, или находится вне зоны стрима!" color -1
        end
    end
end

:new_label

0B35: samp 1@ = get_last_command_params
if 0AD4: 3@ = scan_string 1@ format "%d" 2@ //IF and SET
then
0@ = true
else 0AF8: samp add_message_to_chat "Ошибка ввода!" color -1
end
0B43: samp cmd_ret
 

cover

Известный
Проверенный
245
268
Лол, я не говорил что не будет кикать, я тебе дал пример, правда тут 1 ошибка, замени $player_actor вот тут на
Car.PutAt($player_actor, 0.0 0.0 0.0) // Коордынаты телепорта. замени на
Car.PutAt(4@, 0.0 0.0 0.0) // Коордынаты телепорта
 

OtherWeather

Новичок
39
2
Код:
    // DIALOG_STYLE_LIST
    if 0B3C: samp is_dialog_responded id 47 button 1@ list_item 3@ input_text 0
    then
        if 1@ == 1
        then
   0af8: chat "Был выбран элемент: {ffff00}%d" -1 3@
  if 3@ == 0
  then
  0af8: chat "Был выбран пункт: {ffff00}Пункт 1" -1
  end

Как можно избавиться от выделенной строки без потери работоспособности скрипта?
 

DubStep_

Известный
292
52
Че за хрень ты написал?

Вот готовый
PHP:
call @Send_CarNewPos 4 {CarId} 0@ {Pos} 1@ 2@ 3@

:Send_CarNewPos
alloc 14@ 63
0C0D: struct 14@ offset 0 size 2 = 0@ //id car
0C0D: struct 14@ offset 24 size 4 = 1@ //x
0C0D: struct 14@ offset 28 size 4 = 2@ //y
0C0D: struct 14@ offset 32 size 4 = 3@ //z          
0C0D: struct 14@ offset 48 size 4 = 1000.0 //hp car (float)
0226: 16@ = actor $Player_Actor health
0C0D: struct 14@ offset 52 size 4 = 16@ //hp actor (int)
15@ = RakNet.NewBitStream()
BitStream.Write(15@, 219, BS_TYPE_BYTE, 1)
BitStream.Write(15@, 14@, BS_TYPE_ARRAY, 63)
RakNet.LiteSend(15@)
RakNet.DeleteBitStream(15@)
free 14@   
ret 0
 

DubStep_

Известный
292
52
Только визуально ты будешь видеть машину на преждем месте, фиксится так: выйти и зайти в любой интеръер, или просто

PHP:
:Send_CarNewPos
alloc 14@ 63
0C0D: struct 14@ offset 0 size 2 = 0@ //id car
0C0D: struct 14@ offset 24 size 4 = 1@ //x
0C0D: struct 14@ offset 28 size 4 = 2@ //y
0C0D: struct 14@ offset 32 size 4 = 3@ //z         
0C0D: struct 14@ offset 48 size 4 = 1000.0 //hp car (float)
0226: 16@ = actor $Player_Actor health
0C0D: struct 14@ offset 52 size 4 = 16@ //hp actor (int)
15@ = RakNet.NewBitStream()
BitStream.Write(15@, 219, BS_TYPE_BYTE, 1)
BitStream.Write(15@, 14@, BS_TYPE_ARRAY, 63)
RakNet.LiteSend(15@)
RakNet.DeleteBitStream(15@)
free 14@  
11@ = samp.GetVehicleHandleBySAMPVehicleID(0@)
car.PutAt(11@, 0@ 1@ 2@)
ret 0
 

DubStep_

Известный
292
52
Сделай мне из этого сразу готовый.
Код:
{$CLEO .cs}
0000:

repeat
wait 300
until 0AFA:  is_samp_available

0B34: samp register_client_command "tpcar" to_label @new_label

while true
wait 0
    if 0@ == true
    then
    0AFF: samp 4@ = car_handle_by_samp_vehicle_id 2@
        if 056E:   car 4@ defined
        then
        00AB: put_car 4@ at 2635.7744 2323.9695 17.8145
        call @Send_CarNewPos 4 {CarId} 0@ {Pos} 1@ 2@ 3@      
        0@ = false
        else 0AF8: samp add_message_to_chat "Ìàøèíà íå ñóùåñòâóåò, èëè íàõîäèòñÿ âíå çîíû ñòðèìà!" color -1
        end
    end
end

:new_label

0B35: samp 1@ = get_last_command_params
if 0AD4: 3@ = scan_string 1@ format "%d" 2@ //IF and SET
then
0@ = true
else 0AF8: samp add_message_to_chat "Îøèáêà ââîäà!" color -1
end
0B43: samp cmd_ret

:Send_CarNewPos
alloc 14@ 63
0C0D: struct 14@ offset 0 size 2 = 0@ //id car
0C0D: struct 14@ offset 24 size 4 = 1@ //x
0C0D: struct 14@ offset 28 size 4 = 2@ //y
0C0D: struct 14@ offset 32 size 4 = 3@ //z       
0C0D: struct 14@ offset 48 size 4 = 1000.0 //hp car (float)
0226: 16@ = actor $Player_Actor health
0C0D: struct 14@ offset 52 size 4 = 16@ //hp actor (int)
15@ = RakNet.NewBitStream()
BitStream.Write(15@, 219, BS_TYPE_BYTE, 1)
BitStream.Write(15@, 14@, BS_TYPE_ARRAY, 63)
RakNet.LiteSend(15@)
RakNet.DeleteBitStream(15@)
free 14@
11@ = samp.GetVehicleHandleBySAMPVehicleID(0@)
car.PutAt(11@, 0@ 1@ 2@)
ret 0
PHP:
{$CLEO .cs}
0000:

repeat
wait 300
until 0AFA:  is_samp_available

0B34: samp register_client_command "tpcar" to_label @new_label

while true
wait 0
    if 0@ == true
    then
    0AFF: samp 4@ = car_handle_by_samp_vehicle_id 2@
        if 056E:   car 4@ defined
        then
        call @Send_CarNewPos 4 {CarId} 2@ {Pos}  2635.7744 2323.9695 17.8145    
        0@ = false
        else 0AF8: samp add_message_to_chat "Ìàøèíà íå ñóùåñòâóåò, èëè íàõîäèòñÿ âíå çîíû ñòðèìà!" color -1
        end
    end
end

:new_label

0B35: samp 1@ = get_last_command_params
if 0AD4: 3@ = scan_string 1@ format "%d" 2@ //IF and SET
then
0@ = true
else 0AF8: samp add_message_to_chat "Îøèáêà ââîäà!" color -1
end
0B43: samp cmd_ret

:Send_CarNewPos
alloc 14@ 63
0C0D: struct 14@ offset 0 size 2 = 0@ //id car
0C0D: struct 14@ offset 24 size 4 = 1@ //x
0C0D: struct 14@ offset 28 size 4 = 2@ //y
0C0D: struct 14@ offset 32 size 4 = 3@ //z       
0C0D: struct 14@ offset 48 size 4 = 1000.0 //hp car (float)
0226: 16@ = actor $Player_Actor health
0C0D: struct 14@ offset 52 size 4 = 16@ //hp actor (int)
15@ = RakNet.NewBitStream()
BitStream.Write(15@, 219, BS_TYPE_BYTE, 1)
BitStream.Write(15@, 14@, BS_TYPE_ARRAY, 63)
RakNet.LiteSend(15@)
RakNet.DeleteBitStream(15@)
free 14@
11@ = samp.GetVehicleHandleBySAMPVehicleID(0@)
car.PutAt(11@, 0@ 1@ 2@)
ret 0
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,460
Обычный автоконнект, но такой вопрос, как сделать что бы после ввода команды , проверялась строка чата все время (пока не дезактивируешь), если появился текст, значит продолжаем выполнять функцию.
Попробуй не перезаписывать переменную 5@, должно получиться.
И не работай так, работай лучше в таком направлении: http://pastebin.com/thNVL9jv
Я не знаю, как тебе по душе, но так будет намного лучше.