[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум » Моддинг » Скриптинг » Вопросы по скриптингу (Задавайте здесь интересующие вас вопросы.)
Вопросы по скриптингу
SKV1991Дата: Понедельник, 28.12.2009, 13:01 | Сообщение # 1
Ранг: Лейтенант
Группа: Администраторы
Сообщений: 65
Награды: 1
Репутация: 2
Статус: Offline
Можно даже прицеплять скриншоты, я постараюсь вам помочь чем смогу happy

Кухня от Мэрдока,профессиональная кухня,пальчики оближешь!


 
AlexДата: Понедельник, 28.12.2009, 13:39 | Сообщение # 2
Ранг: Рядовой
Группа: Проверенные
Сообщений: 10
Награды: 2
Репутация: 1
Статус: Offline
Привет!
1. Вопрос. На GTA VC cleo 3 отличается от обычного клео которое ставиться на gta sa?
2.Создал первый скрипт на Grand Theft Auto vice city - Liberty City так что опкоды могут
отличаться на них особого вним. не уделять))
Скрипт рабочий только хочу узнать всё ли там правильно написано или может быть там что то можно удалить
лишнее!))

код:

:NONAME_1
wait 0
Model.Load(#CBB)
Model.Load(#RUGER)
Model.Load(#COP)
038B: load_requested_models

:NONAME_1_19
wait 0
if
Model.Available(#CBB)
Model.Available(#RUGER)
Model.Available(#COP)
jf @NONAME_1_19
wait 0
$MYACT = Actor.Create(CivMale, #CBB, -123.2376, -1055.694, 26.1682)
$ACTMARK = Marker.CreateAboveActor($MYACT)
Marker.SetColor($ACTMARK, 1)
Marker.Disable($MARK)
01B2: give_actor $MYACT weapon 27 ammo 9999 // Load the weapon model before using this
01CA: actor $MYACT kill_player $PLAYER_CHAR
$MYAC = Actor.Create(Cop, #COP, -134.9035, -1068.965, 29.6682)
Actor.Angle($MYAC) = 180.5
wait 0
014B: $CAR = init_parked_car_generator #ADMIRAL 8 8 0 alarm 0 door_lock 0 0 40000 at -116.4753 -1048.891 25.8562 angle 120.0
014C: set_parked_car_generator $CAR cars_to_generate_to 101
039D: scatter_particles 17 0.2 0 0 0 30000 at -137.8108 -1052.031 26.1682 0.05 0.05 0.05
wait 0
Model.Load(#CBB)
Model.Load(#RUGER)
Model.Load(#COP)
038B: load_requested_models

:NONAME_1_270
wait 0
if
Actor.Dead($MYACT)
jf @NONAME_1_270
Marker.Disable($ACTMARK)

:NONAME_1_295
wait 0
if
Model.Available(#CBB)
Model.Available(#RUGER)
Model.Available(#COP)
jf @NONAME_1_295


Увлекаюсь фотошопом;
------------------------------
Изучаю gta скриптинг;
------------------------------
Cоздаем модель бруклинского моста для игры :)


Сообщение отредактировал Alex - Понедельник, 28.12.2009, 13:41
 
SKV1991Дата: Понедельник, 28.12.2009, 13:55 | Сообщение # 3
Ранг: Лейтенант
Группа: Администраторы
Сообщений: 65
Награды: 1
Репутация: 2
Статус: Offline
Quote (Alex)
Вопрос. На GTA VC cleo 3 отличается от обычного клео которое ставиться на gta sa?

Вообще алгоритмы почти одинаковые но опкоды различаются.

На счет скрипта я б наверн так написал на клео(именно на клео):

Code

{$CLEO .cs}
0000: NOP

:NONAME_1    
wait 0    
Model.Load(#CBB)    
Model.Load(#RUGER)    
Model.Load(#COP)    
038B: load_requested_models

:NONAME_1_19    
if and
Model.Available(#CBB)    
Model.Available(#RUGER)    
Model.Available(#COP)    
jf @NONAME_1_19     
1@ = Actor.Create(CivMale, #CBB, -123.2376, -1055.694, 26.1682)    
2@ = Marker.CreateAboveActor(1@)    
Marker.SetColor(2@, 1)    
//Marker.Disable(2@) // эт зачем? создал маркер и удалил его сразу)))    
01B2: give_actor 1@ weapon 27 ammo 9999 // Load the weapon model before using this    
01CA: actor 1@ kill_player $PLAYER_CHAR    
3@ = Actor.Create(Cop, #COP, -134.9035, -1068.965, 29.6682)    
Actor.Angle(3@) = 180.5    
014B: $CAR = init_parked_car_generator #ADMIRAL 8 8 0 alarm 0 door_lock 0 0 40000 at -116.4753 -1048.891 25.8562 angle 120.0    
014C: set_parked_car_generator $CAR cars_to_generate_to 101    
039D: scatter_particles 17 0.2 0 0 0 30000 at -137.8108 -1052.031 26.1682 0.05 0.05 0.05    

:NONAME_1_270    
Actor.Dead(1@)  //опкод сам по себе является условием, если условие одинарное то можно if не писать.
jf @NONAME_1_270    
Marker.Disable(2@)
Model.Destroy(#CBB) //ток я не помню, можно ли так делать если актёр умер или нет)))
Model.Destroy(#COP)
Model.Destroy(#RUGER)
//либо ес актёр не умер мона просто Actor.RemoveReference(переменная)
// и тут нужен опкод на конец custom скрипта либо jump на начало, но тогда скрипт как цикл будет.

{
:NONAME_1_295     
if and
Model.Available(#CBB)    
Model.Available(#RUGER)    
Model.Available(#COP)    
jf @NONAME_1_295    
} //это тебе то для чего?


Кухня от Мэрдока,профессиональная кухня,пальчики оближешь!


 
SKV1991Дата: Понедельник, 28.12.2009, 13:57 | Сообщение # 4
Ранг: Лейтенант
Группа: Администраторы
Сообщений: 65
Награды: 1
Репутация: 2
Статус: Offline
В клео скриптах в некоторых местах можно wait'ы не ставить и if'ы smile

Кухня от Мэрдока,профессиональная кухня,пальчики оближешь!


 
AlexДата: Понедельник, 28.12.2009, 14:00 | Сообщение # 5
Ранг: Рядовой
Группа: Проверенные
Сообщений: 10
Награды: 2
Репутация: 1
Статус: Offline
Вот всё что я понимаю.
Code
{$CLEO .cs} //это обьявляем что именно это клео скрипт
0000: NOP //это для того что бы не вылетело!

:NONAME_1 //начинаем наш первый лабел
wait 0 // для того что бы не вылетела игра
Model.Load(#CBB) //обьявляем модель
Model.Load(#RUGER) //обьявляем модель
Model.Load(#COP) //обьявляем модель
038B: load_requested_models //а это загружает модели вро де бы так!))

:NONAME_1_19 //начинаем новый лабел
if and //как точно это назвать??
Model.Available(#CBB) //проверка модели
Model.Available(#RUGER) //проверка модели
Model.Available(#COP) //проверка модели
jf @NONAME_1_19 //если не нашло, то проверяем ещё раз пока их не загрузит
1@ = Actor.Create(CivMale, #CBB, -123.2376, -1055.694, 26.1682) //создаём актёра
2@ = Marker.CreateAboveActor(1@) //делаем мактер над ним
Marker.SetColor(2@, 1) //задаем НАШЕМУ маркеру колёр
// и это всё а конец как обьявить? или это уже рабочий скрипт!?)
// jump @LABLE_1 повторяет скрипт

надеюсь я всё правильно понял? biggrin smile


Увлекаюсь фотошопом;
------------------------------
Изучаю gta скриптинг;
------------------------------
Cоздаем модель бруклинского моста для игры :)


Сообщение отредактировал Alex - Понедельник, 28.12.2009, 14:14
 
SKV1991Дата: Понедельник, 28.12.2009, 14:04 | Сообщение # 6
Ранг: Лейтенант
Группа: Администраторы
Сообщений: 65
Награды: 1
Репутация: 2
Статус: Offline
По идее должна подойти =)
Я честно не пробовал))
Посмотри в нете))
в клео скриптах обязательно директиву с расширением указывать, хотя по дефолту она в cs сохраняет. и опкод нулевой 0000: NOP а мона NOOB написать xD
ну в общем:
Code
{$CLEO .cs}
0000: NOP

:LABLE_1
....
jump @LABLE_1

или конец скрипта =)


Кухня от Мэрдока,профессиональная кухня,пальчики оближешь!


 
SKV1991Дата: Понедельник, 28.12.2009, 14:22 | Сообщение # 7
Ранг: Лейтенант
Группа: Администраторы
Сообщений: 65
Награды: 1
Репутация: 2
Статус: Offline
Quote (Alex)
wait 0 // для того что бы не вылетела игра

Можно вроде и не ставить =)) Это в обычных скриптах в мэйне перед проверкой ставится...

Quote (Alex)
if and //как точно это назвать??

проверка которая возвращает значение true если все условия выполняются. то что ты ставил - одинарная, она выполнится если хоть одна из моделей загрузилась а та что я написал тока ес все модели загрузились.

Кстати заметь, я тебе глобальные переменные на локальные изменил, лучше не засоряй глобальными память, тем более в некоторых моментах с ними конфликтует игра из-за того что скрипт клео.

Quote (Alex)
// и это всё а конец как обьявить? или это уже рабочий скрипт!?)

не знаю как в вайсе а в са такой опкод есть:
Code
0A93: end_custom_thread


Кухня от Мэрдока,профессиональная кухня,пальчики оближешь!


 
AlexДата: Понедельник, 28.12.2009, 14:48 | Сообщение # 8
Ранг: Рядовой
Группа: Проверенные
Сообщений: 10
Награды: 2
Репутация: 1
Статус: Offline
Сасибо большое за инфу, я бы не научился так быстро писать клео скрипты, если бы не этот форум!
Кста вот скрины всё синим обведено то что создал мой скрипт, а жёлтым то так я где то коорды машины изменил (вроде бы раньше я появлялся на мосу как у гта 3) а я PLAYER'a и машину поставил что бы стояи теперь не там, а тут ну это такое так баловалсо )) потому что всегда какая то машина мою машину на мосту коцает пока сяду в неё))
И ещё забыл там на заднем плане дым(на первом скрине), тож его создал, то не с машины дым идёт а так на траве))
Ну это был тестовый мой скрипт теперь буду стараться что то создавать нормальное своё и если пойдёт клео библиотека то будет вообще круто!)))



Увлекаюсь фотошопом;
------------------------------
Изучаю gta скриптинг;
------------------------------
Cоздаем модель бруклинского моста для игры :)


Сообщение отредактировал Alex - Понедельник, 28.12.2009, 14:49
 
SKV1991Дата: Понедельник, 28.12.2009, 15:02 | Сообщение # 9
Ранг: Лейтенант
Группа: Администраторы
Сообщений: 65
Награды: 1
Репутация: 2
Статус: Offline
Молодец =)
Пиши если что ещё не понятно =)


Кухня от Мэрдока,профессиональная кухня,пальчики оближешь!


 
SKV1991Дата: Понедельник, 28.12.2009, 18:26 | Сообщение # 10
Ранг: Лейтенант
Группа: Администраторы
Сообщений: 65
Награды: 1
Репутация: 2
Статус: Offline
Кстати на Вайс клео нет =)
вот так вот нечестно вышло xD


Кухня от Мэрдока,профессиональная кухня,пальчики оближешь!


 
AlexДата: Понедельник, 28.12.2009, 20:41 | Сообщение # 11
Ранг: Рядовой
Группа: Проверенные
Сообщений: 10
Награды: 2
Репутация: 1
Статус: Offline
хехе, не говори)) а я думаю чё я такого не находил))) придётся писать в майне))) ну ничего всё равно там мисий нету в той моей игре)) не много теряю)
Кстати делаю разработку над скриптом!
Суть заключается в том что создаются 2 актёры. Один стоит, а второй на растояннии от него и если я убью первого актёра второй начнёт меня валить с пушки ))
Вот такой маленький скриптик кста вот уже шаблон готовый проверь плизз что там нужно, а что не))
он работает на моей Grand Theft Auto vice city - Liberty City , а на саню мать не подойдут опкоды..
Code

create_thread @terrorist


Code

:Terrorist
wait 0  
    Model.Load(#CBB)
    Model.Load(#CBA)
    Model.Load(#RUGER)
038B: load_requested_models  

:terrorist_1
wait 0
if and //спс SKV1991 понял что это означает
    Model.Available(#CBB)
    Model.Available(#CBA)
    Model.Available(#RUGER)
else_jump @terrorist_1
wait 0
009A: $TROP = create_actor 4 #CBB at -2.7458 -991.0856 33.1802
0173: set_actor $TROP 210.5  
009A: $TROP1 = create_actor 4 #CBA at -29.3391 -995.3143 26.1322
0173: set_actor $TROP1 90.5
01B2: give_actor $TROP1 weapon 27 ammo 9999  
wait 0
    Model.Load(#CBB)
    Model.Load(#CBA)
    Model.Load(#RUGER)
038B: load_requested_models  

:terrorist_2
wait 0  
if  
    Model.Available(#CBB)
    Model.Available(#CBA)
    Model.Available(#RUGER)
else_jump @terrorist_2  


Увлекаюсь фотошопом;
------------------------------
Изучаю gta скриптинг;
------------------------------
Cоздаем модель бруклинского моста для игры :)
 
SKV1991Дата: Понедельник, 28.12.2009, 21:01 | Сообщение # 12
Ранг: Лейтенант
Группа: Администраторы
Сообщений: 65
Награды: 1
Репутация: 2
Статус: Offline
Хм, васи нет...типа того:
Code


:Terrorist  
wait 0   
     Model.Load(#CBB)  
     Model.Load(#CBA)  
     Model.Load(#RUGER)  
038B: load_requested_models   

:terrorist_1  
wait 0  
if and
     Model.Available(#CBB)  
     Model.Available(#CBA)  
     Model.Available(#RUGER)  
else_jump @terrorist_1  
009A: 1@ = create_actor 4 #CBB at -2.7458 -991.0856 33.1802  
0173: set_actor 1@ 210.5   
009A: 2@ = create_actor 4 #CBA at -29.3391 -995.3143 26.1322  
0173: set_actor 2@ 90.5  
01B2: give_actor 2@ weapon 27 ammo 9999     

:terrorist_2  
wait 0   
if or  
051A:   actor 1@ damaged_by_actor $PLAYER_ACTOR
Actor.Dead(1@)  
else_jump @terrorist_2
01CC: actor 2@ kill_player $PLAYER_CHAR    

:terrorist_3
wait 0
if
Actor.Dead(2@)
jf @terrorist_4
Model.Destroy(#CBA)
Model.Destroy(#CBB)
Model.Destroy(#RUGER)
0109: player $PLAYER_CHAR money += 1000  
jump @terrorist_5

:terrorist_4
wait 0
if or
0112:   wasted_or_busted
80F2:   not actor 2@ near_actor $PLAYER_ACTOR radius 50.0 50.0 0
jf @terrorist_3  
Model.Destroy(#CBA)
Model.Destroy(#CBB)
Model.Destroy(#RUGER)

:terrorist_5
wait 0
004E: end_thread  

   


Кухня от Мэрдока,профессиональная кухня,пальчики оближешь!


 
AlexДата: Понедельник, 28.12.2009, 23:12 | Сообщение # 13
Ранг: Рядовой
Группа: Проверенные
Сообщений: 10
Награды: 2
Репутация: 1
Статус: Offline
спс, значит это хорошо буду дальше голову ломать над ним))

Увлекаюсь фотошопом;
------------------------------
Изучаю gta скриптинг;
------------------------------
Cоздаем модель бруклинского моста для игры :)
 
SKV1991Дата: Понедельник, 28.12.2009, 23:13 | Сообщение # 14
Ранг: Лейтенант
Группа: Администраторы
Сообщений: 65
Награды: 1
Репутация: 2
Статус: Offline
Quote (Alex)
спс, значит это хорошо буду дальше голову ломать над ним))

Я тебе пример написал, протестируй если можешь biggrin


Кухня от Мэрдока,профессиональная кухня,пальчики оближешь!


 
AlexДата: Вторник, 29.12.2009, 00:44 | Сообщение # 15
Ранг: Рядовой
Группа: Проверенные
Сообщений: 10
Награды: 2
Репутация: 1
Статус: Offline
smile щас а то немного отец сидел я отходил, ещё немного отвлёкся от скриптинга был щас постараюсь протестить) я даж не заметил что там что то изменилось)) как то на актёров не обратил внимание щас опкоды проверю)

добавлено 1:
хаха кулл я такой результат хотел только не всё знал как зделать, спс большое щас ещё посмотрю и мой старый удалю скрипт а то как то не очень смотрится))) и тебе скрин покажу результата))) прикольно с коордами придумал)))

добавленно 2:
Ну что ж показал всё на скринах думаю если буду розмещать так картинки типо прервью, то надеюсь удобно будет и читать и смотреть картинки)
Что ж смотри что вышло из твоего скрипта:





в последнем скрине я говорил об футболке "RUSSIA" та что на нигеру CJ одета))

Всё что я хотел удалось даже опкоды сошлись)))
только ещё одно как зделать что бы если я ударю его кулаками он начнёт мя тож лупашить а то подошел к тому что с пухой валю, а он не реагирует вот мне интересно как зделать что бы он реагировал))
я так шарил по опкодам вро де бы нету ну я кароче ещё буду пробовать)
Щас ещё на твой пример посмотрю что не понятно тогда сюда обращусь как всегда))))

Добавлено 4:

Code

:Terrorist //понятно  
wait 0   //понятно
      Model.Load(#CBB)  //понятно
      Model.Load(#CBA)  //понятно
      Model.Load(#RUGER)  //понятно
038B: load_requested_models   //понятно

:terrorist_1  //понятно
wait 0  //понятно
if and //понятно
      Model.Available(#CBB)  //понятно
      Model.Available(#CBA)  //понятно
      Model.Available(#RUGER)  //понятно
else_jump @terrorist_1  //понятно
009A: 1@ = create_actor 4 #CBB at -2.7458 -991.0856 33.1802  //понятно
0173: set_actor 1@ 210.5   //понятно
009A: 2@ = create_actor 4 #CBA at -29.3391 -995.3143 26.1322  //понятно
0173: set_actor 2@ 90.5  //понятно
01B2: give_actor 2@ weapon 27 ammo 9999     //понятно

:terrorist_2  //понятно
wait 0   //понятно
if or  //почему if or тоисть что это обозначает
051A:   actor 1@ damaged_by_actor $PLAYER_ACTOR //PLAYER бьёт(забирает жизни) у актора 1
Actor.Dead(1@)  //понятно
else_jump @terrorist_2 //понятно(если не выполнилось это то вертаемся terrorist_2 а почему else_jump)
01CC: actor 2@ kill_player $PLAYER  //тогда актор 2 нападает на PLAYER'a и по возможности убивает     

:terrorist_3 //понятно
wait 0 //понятно
if //понятно
Actor.Dead(2@) //понятно
jf @terrorist_4 //понятно если актор 2 мёртвый, то идём на terrorist_4  
Model.Destroy(#CBA) //как я понял удаляет модели из памьяти
Model.Destroy(#CBB) //как я понял удаляет модели из памьяти
Model.Destroy(#RUGER) //как я понял удаляет модели из памьяти
0109: player $PLAYER_CHAR money += 1000  // даёт 1000 бабла мнеееее=)))
jump @terrorist_5 //идём на :terrorist_5  

:terrorist_4 //как я понял в этом лабели идёт проверка.))
wait 0 //понятно
if or // -? то же самое
0112:   wasted_or_busted // какой то опкод
80F2:   not actor 2@ near_actor $PLAYER_ACTOR radius 50.0 50.0 0 //на скоко я понимаю что то проверяем))
jf @terrorist_3  //идём на :terrorist_3
Model.Destroy(#CBA) // удаляем модели из памьяти скрипта
Model.Destroy(#CBB) // удаляем модели из памьяти скрипта
Model.Destroy(#RUGER) // удаляем модели из памьяти скрипта

:terrorist_5 // в этом лабели обьявляем конец скрипта
wait 0 //понятно
004E: end_thread //понятно

ну как?=)))
скрипт удался, первое задание выполнено)) я его розобрал осталось только подобавлять актёров и зделать более реальнее)) не так что тот смотрит в стену кстати смотрит он туда потому что почему то у меня не узнаётся угол игрока, но как хорошо что координаты узнаются приходится угол самому делать))


Увлекаюсь фотошопом;
------------------------------
Изучаю gta скриптинг;
------------------------------
Cоздаем модель бруклинского моста для игры :)


Сообщение отредактировал Alex - Вторник, 29.12.2009, 01:40
 
Форум » Моддинг » Скриптинг » Вопросы по скриптингу (Задавайте здесь интересующие вас вопросы.)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: