Среда, 24.04.2024, 20:25
Качественные скрипты, моды и дополнения для GTA без регистрации
Главная Регистрация Вход
Приветствую Вас, Гость · RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум » Игры серии ГТА » Скриптинг » Вопросы по созданию КЛЕО-скриптов (Вопросы по опкодам, кодингу и др.)
Вопросы по созданию КЛЕО-скриптов
Den_spbДата: Понедельник, 05.04.2010, 23:27 | Сообщение # 151
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Помню этот вопрос, но где сейчас находится эта тема - не знаю.
 
CripZДата: Среда, 07.04.2010, 17:14 | Сообщение # 152
Группа: Проверенные
Сообщений: 23
Статус: Offline
Den_spb, помоги плиззз с миссией

нужно так:
если все актёры умерли,то миссия выполнена,а если время таймера истекло и актёры живы,то миссия провалена,не как не получается(
вот скрипт:

Code
$c1 = Actor.Create(6, #LAPD1, 360.865, -2280.84, 7.5)
Actor.Angle($c1) = 359.71
$I2 = Marker.CreateIconAndSphere(30, 360.865, -2280.84, 7.5)
          0639: AS_actor $c1 rotate_to_actor $PLAYER_ACTOR
          0631: put_actor $c1 in_group $PLAYER_GROUP   
:NONAME_275
wait 0     
if     
0101:   actor $PLAYER_ACTOR in_sphere 360.865 -2279.84 7.5 radius 3.0 3.0 100.0 sphere 1 stopped     
else_jump @NONAME_275     
wait 0   
1@ = Car.Create(#COPCARLA, 367.865, -2280.84, 7.5197)
0657: car 1@ open_component 2   
marker.CreateAboveCar($M2,1@)
marker.SetColor($M2,104)
car.Angle(1@) = 180.0
Marker.Disable($I2)
:NONAME_231
wait 0     
if     
       Actor.InCar($PLAYER_ACTOR, 1@)
else_jump @NONAME_231
   Marker.Disable($M2)    
        $Z1 = Object.Create(17533, 126.18, -2762.1382, -2.51)
        object.Angle($Z1) = 90.0
        marker.CreateAboveObject($m1,$z1)
        marker.SetColor($M1,6)   
        $532 = 100000    
014E: set_timer_to $532 type 1 // global_variable
$ter1 = Actor.Create(20, #HMYDRUG, 145.617, -2760.8, 7.5)
$ter2 = Actor.Create(20, #HMYCR, 139.896, -2760.8, 7.5)
$ter3 = Actor.Create(20, #SWMYHP2, 133.814, -2760.8, 7.5)
$ter4 = Actor.Create(20, #SBMYCR, 109.665, -2760.8, 7.5)
$ter5 = Actor.Create(20, #BMYCR, 104.665, -2760.8, 7.5)
$ter6 = Actor.Create(20, #WMYAMMO, 97.3634, -2760.8, 7.5)
$ter7 = Actor.Create(20, #HMYCM, 118.451, -2734.26, 7.5)
$ter8 = Actor.Create(20, #WMYAMMO, 135.51, -2734.97, 7.5)
actor.Health($ter1) = 500
actor.Health($ter2) = 500
actor.Health($ter3) = 500
actor.Health($ter4) = 500
actor.Health($ter5) = 500
actor.Health($ter6) = 500
actor.Health($ter7) = 500
actor.Health($ter8) = 500

:NONAME_230
wait 0     
if   
00FE:   actor $PLAYER_ACTOR sphere 0 in_sphere 145.617 -2760.8 7.5 radius 60.0 60.0 50.0   
jf @NONAME_230   
05E2: actor $ter1 kill_actor $PLAYER_ACTOR   
05E2: actor $ter2 kill_actor $PLAYER_ACTOR   
05E2: actor $ter3 kill_actor $PLAYER_ACTOR   
05E2: actor $ter4 kill_actor $PLAYER_ACTOR   
05E2: actor $ter5 kill_actor $PLAYER_ACTOR   
05E2: actor $ter6 kill_actor $PLAYER_ACTOR   
05E2: actor $ter7 kill_actor $PLAYER_ACTOR   
05E2: actor $ter8 kill_actor $PLAYER_ACTOR   
01B2: give_actor $ter1 weapon 28 ammo 2000
01B2: give_actor $ter2 weapon 27 ammo 2000
01B2: give_actor $ter3 weapon 34 ammo 2000
01B2: give_actor $ter4 weapon 26 ammo 2000
01B2: give_actor $ter5 weapon 24 ammo 2000
01B2: give_actor $ter6 weapon 30 ammo 2000
01B2: give_actor $ter7 weapon 17 ammo 2000    
01B2: give_actor $ter8 weapon 18 ammo 2000    
 
Den_spbДата: Среда, 07.04.2010, 19:30 | Сообщение # 153
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Ну а что тут сложного? Просто надо правильно записать условия. Будет что-то вроде этого:
Code
:METKA
wait 0
if or
     8118:   not actor 1 dead
     8118:   not actor 2 dead   
     ...
     8118:   not actor 3 dead
jf @MISSIA_PROIDENA
if
     // время таймера истекло
jf @METKA
:MISSIA_PROVALENA
...
:MISSIA_PROIDENA  
 
CripZДата: Среда, 07.04.2010, 20:37 | Сообщение # 154
Группа: Проверенные
Сообщений: 23
Статус: Offline
Den_spb, что то не работает(((,либо вылитает,либо сразу пишет миссия выполнена без всяких условий(
 
Den_spbДата: Среда, 07.04.2010, 21:10 | Сообщение # 155
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Покажи куда ты вставил эти условия.
 
CripZДата: Среда, 07.04.2010, 21:14 | Сообщение # 156
Группа: Проверенные
Сообщений: 23
Статус: Offline
вот,а то я вооще не соображаю что то
Code
[$c1 = Actor.Create(6, #LAPD1, 360.865, -2280.84, 7.5)
Actor.Angle($c1) = 359.71
$I2 = Marker.CreateIconAndSphere(30, 360.865, -2280.84, 7.5)
0639: AS_actor $c1 rotate_to_actor $PLAYER_ACTOR
0631: put_actor $c1 in_group $PLAYER_GROUP
:NONAME_275
wait 0
if
0101: actor $PLAYER_ACTOR in_sphere 360.865 -2279.84 7.5 radius 3.0 3.0 100.0 sphere 1 stopped
else_jump @NONAME_275
wait 0
1@ = Car.Create(#COPCARLA, 367.865, -2280.84, 7.5197)
0657: car 1@ open_component 2
marker.CreateAboveCar($M2,1@)
marker.SetColor($M2,104)
car.Angle(1@) = 180.0
Marker.Disable($I2)
:NONAME_231
wait 0
if
Actor.InCar($PLAYER_ACTOR, 1@)
else_jump @NONAME_231
Marker.Disable($M2)
$Z1 = Object.Create(17533, 126.18, -2762.1382, -2.51)
object.Angle($Z1) = 90.0
marker.CreateAboveObject($m1,$z1)
marker.SetColor($M1,6)
$532 = 100000
014E: set_timer_to $532 type 1 // global_variable

$ter1 = Actor.Create(20, #HMYDRUG, 145.617, -2760.8, 7.5)
$ter2 = Actor.Create(20, #HMYCR, 139.896, -2760.8, 7.5)
$ter3 = Actor.Create(20, #SWMYHP2, 133.814, -2760.8, 7.5)
$ter4 = Actor.Create(20, #SBMYCR, 109.665, -2760.8, 7.5)
$ter5 = Actor.Create(20, #BMYCR, 104.665, -2760.8, 7.5)
$ter6 = Actor.Create(20, #WMYAMMO, 97.3634, -2760.8, 7.5)
$ter7 = Actor.Create(20, #HMYCM, 118.451, -2734.26, 7.5)
$ter8 = Actor.Create(20, #WMYAMMO, 135.51, -2734.97, 7.5)
actor.Health($ter1) = 500
actor.Health($ter2) = 500
actor.Health($ter3) = 500
actor.Health($ter4) = 500
actor.Health($ter5) = 500
actor.Health($ter6) = 500
actor.Health($ter7) = 500
actor.Health($ter8) = 500
:NONAME_230
wait 0
if
00FE: actor $PLAYER_ACTOR sphere 0 in_sphere 145.617 -2760.8 7.5 radius 70.0 70.0 70.0
jf @NONAME_230
05E2: actor $ter1 kill_actor $PLAYER_ACTOR
05E2: actor $ter2 kill_actor $PLAYER_ACTOR
05E2: actor $ter3 kill_actor $PLAYER_ACTOR
05E2: actor $ter4 kill_actor $PLAYER_ACTOR
05E2: actor $ter5 kill_actor $PLAYER_ACTOR
05E2: actor $ter6 kill_actor $PLAYER_ACTOR
05E2: actor $ter7 kill_actor $PLAYER_ACTOR
05E2: actor $ter8 kill_actor $PLAYER_ACTOR
01B2: give_actor $ter1 weapon 28 ammo 2000
01B2: give_actor $ter2 weapon 27 ammo 2000
01B2: give_actor $ter3 weapon 34 ammo 2000
01B2: give_actor $ter4 weapon 26 ammo 2000
01B2: give_actor $ter5 weapon 24 ammo 2000
01B2: give_actor $ter6 weapon 30 ammo 2000
01B2: give_actor $ter7 weapon 17 ammo 2000
01B2: give_actor $ter8 weapon 18 ammo 2000
:NONAME_366
wait 0
if
Actor.Dead($ter1)
Actor.Dead($ter2)
Actor.Dead($ter3)
Actor.Dead($ter4)
Actor.Dead($ter5)
Actor.Dead($ter6)
Actor.Dead($ter7)
A ctor.D ead($ter8)
jf @NONAME_367
01E3: show_text_1number_styled GXT 'M_PASS' number 2000 time 5000 style 1 // M?CC?• Bf’O‚HEHA!
Player.Money($PLAYER_CHAR) += 250000
:NONAME_367
wait 0
if
$532 < 1
jf @NONAME_367
00BA: text_styled 'M_FAIL' 5000 ms 1
0A93: end_custom_thread


Сообщение отредактировал CripZ - Среда, 07.04.2010, 21:16
 
Den_spbДата: Среда, 07.04.2010, 21:44 | Сообщение # 157
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
:NONAME_366
wait 0
if and // если условий несколько, то должно быть if and или if or. Максимальное количество условий - 7
Actor.Dead($ter1)
Actor.Dead($ter2)
Actor.Dead($ter3)
Actor.Dead($ter4)
Actor.Dead($ter5)
Actor.Dead($ter6)
Actor .Dead( $ter7)
jf @NONAME_367
Actor.Dead($ter8)
jf @NONAME_367
01E3: show_text_1number_styled GXT 'M_PASS' number 2000 time 5000 style 1 // M?CC?• Bf’O‚HEHA!
Player.Money($PLAYER_CHAR) += 250000
jump @Metka
:NONAME_367
wait 0
if
$532 < 1
jf @NONAME_366
00BA: text_styled 'M_FAIL' 5000 ms 1
:Metka
004E: // в миссиях используем только этот опкод

Ошибки исправил и выделил курсивом. Учись писать конструкциями, а не метками - код будет более наглядным и разбираться в нём легче. Прежде чем забивать код в билдер можно прикинуть общую схему работы на бумаге.

 
CripZДата: Четверг, 08.04.2010, 16:28 | Сообщение # 158
Группа: Проверенные
Сообщений: 23
Статус: Offline
Quote (Den_spb)
Ошибки исправил и выделил курсивом. Учись писать конструкциями, а не метками - код будет более наглядным и разбираться в нём легче. Прежде чем забивать код в билдер можно прикинуть общую схему работы на бумаге.

спасибо,пожелания приму к сведению))

Добавлено (08.04.2010, 16:28)
---------------------------------------------
а можешь ещё подсказать опкод что бы актёра закрепить в конкретных координатах,что бы там всегда стоял,а то когда стреляет то движется

 
Den_spbДата: Четверг, 08.04.2010, 18:50 | Сообщение # 159
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
У меня только одна идея есть - вместо actor_kill использовать:
Code
0668: AS_actor 35@ rotate_and_shoot_at 374.2905 -125.681 1001.308 2000 ms  

В опкод следует записать координаты расположения актёра, который должен быть атакован.
 
CripZДата: Вторник, 27.04.2010, 07:39 | Сообщение # 160
Группа: Проверенные
Сообщений: 23
Статус: Offline
Den_spb, я тут добавил новые модели людей(не заменённые а новые)
и пытаюсь прописать в скрипте
Code
023C: load_special_actor 'mon1' as 1
023C: load_special_actor 'mon2' as 2
038B: load_requested_models  
:NONAME_16
wait 0  
if   
023D:   special_actor 1 loaded  
023D:   special_actor 2 loaded  
$m1 = Actor.Create(Special, #SPECIAL01, 500.213, -2680.06, 7.5)
$m2 = Actor.Create(Special, #SPECIAL02, 477.089, -2675.25, 7.5)
0A93: end_custom_thread

но игра зависает при загрузке в чём проблема?
 
Den_spbДата: Вторник, 27.04.2010, 17:45 | Сообщение # 161
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Во-первых, в коде были ошибки:
{$CLEO}
023C: load_special_actor 'mon1' as 1
023C: load_special_actor 'mon2' as 2
038B: load_requested_models
:NONAME_16
wait 0
if and
023D:   special_actor 1 loaded
023D:   special_actor 2 loaded
jf @NONAME_16
0@ = Actor.Create(Special, #SPECIAL01, 500.213, -2680.06, 7.5)
1@ = Actor.Create(Special, #SPECIAL02, 477.089, -2675.25, 7.5)
0A93: end_custom_thread

Во-вторых: как ты добавил в игру специальных актёров?

 
CripZДата: Вторник, 27.04.2010, 20:58 | Сообщение # 162
Группа: Проверенные
Сообщений: 23
Статус: Offline
Quote (Den_spb)
как ты добавил в игру специальных актёров?

я в Имдж архив добавил новые модели и их названия прописал в
Code
023C: load_special_actor 'mon1' as 1

тем самым новые модели без замены старых
 
Den_spbДата: Вторник, 27.04.2010, 22:39 | Сообщение # 163
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Как добавлять новых актёров в игру (тем более специальных) я не знаю, но по-моему одного добавления моделей в img-архив недостаточно.
 
CripZДата: Среда, 28.04.2010, 13:41 | Сообщение # 164
Группа: Проверенные
Сообщений: 23
Статус: Offline
Quote (Den_spb)
Как добавлять новых актёров в игру (тем более специальных) я не знаю, но по-моему одного добавления моделей в img-архив недостаточно.

у меня всё работает,просто модели в архив,а специальные это для того так как это не оригиналы и не замена,вообщем так я добавляю новых педов без замены
 
d88Дата: Среда, 28.04.2010, 13:52 | Сообщение # 165
Группа: Проверенные
Сообщений: 113
Статус: Offline
Quote (Den_spb)
одного добавления моделей в img-архив недостаточно.

Достаточно. Если модель есть в img-архиве, то можно создать спец-актёра с этой моделью.
 
Форум » Игры серии ГТА » Скриптинг » Вопросы по созданию КЛЕО-скриптов (Вопросы по опкодам, кодингу и др.)
Поиск: