[CLEO] Помощь по редактированию скриптов
|
|
MelomanCool |
Дата: Суббота, 05.09.2015, 20:31 | Сообщение # 136
|
Советник
Сообщений: 757
Статус: Offline
|
Код {$CLEO}
0000: NOP
thread 'TEST'
:TEST_13
wait 0
if 0AB0: key_pressed 105
else_jump @TEST_13
:TEST_14
Actor.PutAt($PLAYER_ACTOR, 496.6906, 792.3008, -21.8118)
wait 2000
Actor.PutAt($PLAYER_ACTOR, 578.8381, 798.0106, -29.1205)
wait 1500 Actor.PutAt($PLAYER_ACTOR, 629.7269, 792.7391, -30.8763)
wait 1500 if 0AB0: key_pressed 105 // кнопка выключения else_jump @TEST_14 wait 1000
jump @TEST_13 Вроде так. Но выключить можно будет только в самом конце цикла, так что кнопку нужно зажать, а лучше поставить другую, ибо вовремя не отпустишь - заново начнется.
Ушел
Сообщение отредактировал MelomanCool - Суббота, 12.01.2013, 20:00 |
|
|
|
Moze |
Дата: Суббота, 05.09.2015, 20:31 | Сообщение # 137
|
Новичок
Сообщений: 22
Статус: Offline
|
Цитата (Navigator) Я новечёк в клео мне нужно сделать кнопку отключения клео т.е чтоб при нажатии клео активировалось и повторялось доя того момента пока не нажмёшь кнопку. а то я устал зажимать кнопку на клаве =))
Код {$VERSION 3.1.0027} {$CLEO .cs}
//-------------MAIN--------------- 0000: NOP thread 'TEST'
:TEST_13 wait 0 if 0AB0: key_pressed 105 else_jump @TEST_13
:1 wait 0 Actor.PutAt($PLAYER_ACTOR, 496.6906, 792.3008, -21.8118) wait 2000 Actor.PutAt($PLAYER_ACTOR, 578.8381, 798.0106, -29.1205) wait 1500 Actor.PutAt($PLAYER_ACTOR, 629.7269, 792.7391, -30.8763) wait 1500
:2 wait 0 if 0AB0: 107 // При нажатии NUM+ проходим дальше jf @1 // Иначе продолжаем телепорт jump @TEST_13
Скрипт можно завершить только после 3-его телепорта. Num+ Нужно зажать что бы не пропустить момент Добавлено (12.01.2013, 20:46) --------------------------------------------- Если тебе нужно что бы каждого телепорта можно было остановить то:
Код {$VERSION 3.1.0027} {$CLEO .cs}
//-------------MAIN--------------- 0000: NOP thread 'TEST'
:TEST_13 wait 0 if 0AB0: key_pressed 105 else_jump @TEST_13
:tp1 wait 0 Actor.PutAt($PLAYER_ACTOR, 496.6906, 792.3008, -21.8118) wait 2000
:2 wait 0 if 0AB0: 107 jf @tp2
jump @TEST_13
:tp2 wait 0 Actor.PutAt($PLAYER_ACTOR, 578.8381, 798.0106, -29.1205) wait 1500
:3 if 0AB0: 107 jf @tp3
jump @TEST_13
:tp3 wait 0 Actor.PutAt($PLAYER_ACTOR, 629.7269, 792.7391, -30.8763) wait 1500
:4 wait 0 if 0AB0: 107 jf @tp1 jump @TEST_13
Дезактивация так же на Num + После телепорта можно ЗАЖАТЬ num+ и телепорты прекратятся.
|
|
|
|
Navigator |
Дата: Суббота, 05.09.2015, 20:31 | Сообщение # 138
|
Боец
Сообщений: 67
Статус: Offline
|
дэл
Сообщение отредактировал Navigator - Суббота, 12.01.2013, 20:49 |
|
|
|
lexo |
Дата: Суббота, 05.09.2015, 20:31 | Сообщение # 139
|
Боец
Сообщений: 188
Статус: Offline
|
Как скомпилировать этот скрипт в формат .cs?
Код 0000: NOP thread 'LEXO_22'
:LEXO_22 wait 0 if and 0AB0: key_pressed 189 0AB0: key_pressed 187 else_jump @LEXO_22 Actor.PutAt($PLAYER_ACTOR, -2655.11, 640.17, 14.46) jump @LEXO_22
Я пробовал компилировать, но получал форматы .txt и .scm, а как получить формат .cs?
Все. Проблема решена. Забыл в начале добавить {$CLEO}
Сообщение отредактировал lexo - Понедельник, 21.01.2013, 19:37 |
|
|
|
MindFreak |
Дата: Суббота, 05.09.2015, 20:31 | Сообщение # 140
|
Боец
Сообщений: 117
Статус: Offline
|
Решил сделать скрипт, который при снятии ХП создает сердечко надо головой, но почему-то не работает Код {$CLEO}
0000: while true wait 0 1@ = Actor.Health($PLAYER_ACTOR) Model.Load(1240) if model.Available(1240) then 2@ = Actor.Health($PLAYER_ACTOR) if 001D: 1@ > 2@ then 2@ = Actor.Angle($PLAYER_ACTOR) 04C4: store_coords_to 11@ 12@ 13@ from_actor $PLAYER_ACTOR with_offset 0.0 -0.2 1.3 1@ = Object.Create(1242, 11@, 12@, 13@) 069B: attach_object 1@ to_actor $PLAYER_ACTOR with_offset 0.0 -0.1 1.3 rotation 0.0 0.0 0.0 Object.Angle(1@) = 2@ 08D2: object 1@ scale_model 1.0 wait 3500 Object.Destroy(1@) wait 3500 Object.RemoveReferences(1@) end end end
Сообщение отредактировал MindFreak - Четверг, 24.01.2013, 21:02 |
|
|
|
MindFreak |
Дата: Суббота, 05.09.2015, 20:32 | Сообщение # 141
|
Боец
Сообщений: 117
Статус: Offline
|
Поставил задержку после 1@ = Actor.Health($Player_Actor) разницы.
|
|
|
|
MelomanCool |
Дата: Суббота, 05.09.2015, 20:32 | Сообщение # 142
|
Советник
Сообщений: 757
Статус: Offline
|
Код 1@ = Actor.Health($Player_Actor) wait 100 2@ = Actor.Health($Player_Actor) if 1@ > 2@ // опкод для int поищи then // создать сердце end
Ушел
|
|
|
|
Espira |
Дата: Суббота, 05.09.2015, 20:32 | Сообщение # 143
|
Любитель
Сообщений: 39
Статус: Offline
|
Цитата (MelomanCool) опкод для int поищи Зачем? Код var 1@ : int 2@ : int end
|
|
|
|
MindFreak |
Дата: Суббота, 05.09.2015, 20:32 | Сообщение # 144
|
Боец
Сообщений: 117
Статус: Offline
|
Работает, спасибо. Решил его чуть модифицировать, чтобы создавалось надо игроков в которого я попадаю. Он работает, когда по кому я целюсь мертв и при этом почему-то крашить. Код {$CLEO} if not 29@ = SAMP.Base() else_jump @DOTAKILL_37 0A93: end_custom_thread
:DOTAKILL_37 wait 400 SAMP.Available else_jump @DOTAKILL_37
:1 wait 0 Model.Load(1240) if model.Available(1240) then goto @2 else goto @1 end :2
while true wait 0 if 0AD2: 0@ = player $PLAYER_CHAR targeted_actor //IF and SET then 1@ = Actor.Health(0@) wait 100 2@ = Actor.Health(0@) if 001D: 1@ > 2@ then 0AF8: samp add_message_to_chat "ÓÐÀ ÐÀÁÎÒÀÅÒ ÑÓÊÀ" color 0xFF61BB 2@ = Actor.Angle(0@) 04C4: store_coords_to 11@ 12@ 13@ from_actor 0@ with_offset 0.0 -0.2 1.3 1@ = Object.Create(1240, 11@, 12@, 13@) 069B: attach_object 1@ to_actor 0@ with_offset 0.0 -0.1 1.0 rotation 0.0 0.0 0.0 Object.Angle(1@) = 2@ 08D2: object 1@ scale_model 1.0 wait 3500 Object.Destroy(1@) wait 3500 Object.RemoveReferences(1@) end end end
Добавлено (25.01.2013, 14:05) --------------------------------------------- Зачем писать еще 4 лишние строки, если можно через одну?
Сообщение отредактировал MindFreak - Пятница, 25.01.2013, 14:14 |
|
|
|
MelomanCool |
Дата: Суббота, 05.09.2015, 20:32 | Сообщение # 145
|
Советник
Сообщений: 757
Статус: Offline
|
Espira, кому как удобнее Цитата (MindFreak) Зачем писать еще 4 лишние строки, если можно через одну? dry чисто для компилятора, в скрипте их не будет. Ведь он не знает, что за 1@ > 2@ - не знает, float там или int будет.
насчет крашей - они происходят, если актер уже удален, а ты пытаешься что-то с ним с делать. Или объект прицепил к мертвому, а он исчез. Короче - потому что он мертв. ХП у любого актера в сампе (кроме тебя) всегда равно 100, а когда мертв - 0 нужно получать хп через SampFuncs - там есть опкод для получения сампового хп.
Ушел
|
|
|
|
Serega978 |
Дата: Суббота, 05.09.2015, 20:32 | Сообщение # 146
|
Боец
Сообщений: 96
Статус: Offline
|
блин, не в ту тему написал
Нужны идеи для клео скриптов, пишите в скайп serega.9781
Сообщение отредактировал Serega978 - Пятница, 25.01.2013, 18:18 |
|
|
|
Somiwe |
Дата: Суббота, 05.09.2015, 20:33 | Сообщение # 147
|
Бывалый
Сообщений: 327
Статус: Offline
|
Код {$VERSION 3.1.0027} {$CLEO .cs}
0000: NOP
:Health // 100 wait 0 // if // 0AB0: key_pressed 106 // jf @Health // Actor.Health($PLAYER_ACTOR) = 100 // jump @Health // Даёт 100 ХП нажатием Num* Но, ХП отбавляется обратно, в чём проблема?
|
|
|
|
MindFreak |
Дата: Суббота, 05.09.2015, 20:33 | Сообщение # 148
|
Боец
Сообщений: 117
Статус: Offline
|
Защита на сервере.
|
|
|
|
Somiwe |
Дата: Суббота, 05.09.2015, 20:33 | Сообщение # 149
|
Бывалый
Сообщений: 327
Статус: Offline
|
Цитата (MindFreak) Защита на сервере. Понятно, спасибо большое.
|
|
|
|
Cocuco4ka |
Дата: Суббота, 05.09.2015, 20:33 | Сообщение # 150
|
Новичок
Сообщений: 27
Статус: Offline
|
Код // This file was decompiled using SASCM.INI published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007
{$VERSION 3.1.0027} {$CLEO .cs}
//-------------MAIN--------------- 03A4: name_thread "PLAYERWH" 0000: NOP 00D6: if 8AF7: not get_samp_base_to 29@ 004D: jump_if_false @PLAYERWH_32 0A93: end_custom_thread
:PLAYERWH_32 0001: wait 400 ms 0AFA: is_samp_structures_available 004D: jump_if_false @PLAYERWH_32 0B34: samp 0@ = register_client_command "m"
:PLAYERWH_64 0001: wait 0 ms 00D6: if and 0256: player $PLAYER_CHAR defined 80DF: not actor $PLAYER_ACTOR driving 004D: jump_if_false @PLAYERWH_86
:PLAYERWH_86 0001: wait 0 00D6: if and 0B35: samp is_command_typed 0@ params 1@ 03EE: player $PLAYER_CHAR controllable 004D: jump_if_false @PLAYERWH_86 0AF8: samp add_message_to_chat "Миниган получен." 12256260 5@ 00D6: if 0247: load_model #MINIGUN 00D6: if 0248: model #MINIGUN available 01B2: give_actor $PLAYER_ACTOR weapon 38 ammo 1000 // Load the weapon model before using this 0001: wait 100 ms 0249: release_model #MINIGUN 0002: jump @PLAYERWH_64
Нужна помощь. Вот написал скрипт на дачу минигана игроку, у которого активация через чат. Долго думал, рассуждал как да что. Сначала не существовало команды, потом исправил, но оружия всё равно не давало. И всё таки я дошёл до ума и оружие даётся через команду в чате, но один нюанс: когда даю вот таким образом себе оружие, с него возможно вести стрельбу, то есть при прицеливании игрок просто напросто стоит на месте и не может пошевелится. И так же интересует, как можно сделать, чтобы при получении оружия в чате писало не Caps? Вообщем жду поддержки.
Сообщение отредактировал Cocuco4ka - Воскресенье, 27.01.2013, 02:17 |
|
|
|