Регистрация Главная Форум Файлы

Вернуться   Mafia-Game Forum > Mafia: The City Of Lost Heaven > Скриптинг
Расширенный поиск

 
 
Опции темы Опции просмотра
Старый 06.12.2018, 14:47   #1
El Padrino вне форума El Padrino
Аватар для El Padrino
Senior Member
Сообщений: 102
Репутация: 165
El Padrino has a spectacular aura aboutEl Padrino has a spectacular aura about
Judge
Информация о репутации (El Padrino)
×
За активное участие в жизни форума и помощь пользователям вы можете получить очки репутации. За определённое количество очков репутации вам будет присвоенно соответствующее звание. Полученное звание всегда будет отображаться в нижней части области Вашего профиля, слева от сообщения.
Detective
0
Gangster
55
Thug
100
El Padrino / 165
Judge
159
Enforcer
260
Priest
396
Snitch
780
Hitman
800
Councilor
1200
Deputy
2501
Overseer
4896
Press
6020
Don
20000

Part - I

Скрипт регенерации (EgoR[SLM])

Если вы играли в Мафию2, то видели, что Вито имел способность регенерации здоровья, что здорово облегчало игру. Благодаря этому скрипту, регерация доступна и в Мафии 1. Строка wait 2000, это скорость регенерации, если его уменшьить, то скорость восстановления будет больше, если увеличить, то соответственно меньше.

dim_act 1
dim_flt 1
getactiveplayer 0

label regen
human_getproperty 0,0, Energy
if flt[0]<100, -1, regen
wait 2000\\скорость регенерации
human_getproperty 0,0, Energy
let flt[0]=flt[0]+1
human_setproperty 0,flt[0],Energy
goto regen
[свернуть]


Скрипт ожидания смерти сразу нескольких enemy (EgoR[SLM])

dim_act 6
dim_flt 1
findactor 0, "enemy00"
findactor 1, "enemy01"
findactor 2, "enemy02"
findactor 3, "enemy03"
findactor 4, "enemy04"
findactor 5, "enemy05"
label 101
human_getproperty 0, 0, Energy
if flt[0] = 0, -1, 101
human_getproperty 1, 0, Energy
if flt[0] = 0, -1, 101
human_getproperty 2, 0, Energy
if flt[0] = 0, -1, 101
human_getproperty 3, 0, Energy
if flt[0] = 0, -1, 101
human_getproperty 4, 0, Energy
if flt[0] = 0, -1, 101
human_getproperty 5, 0, Energy
if flt[0] = 0, -1, 101
label dead
....//далее - действие которое выполняет скрипт после смерти enemy00-05.
[свернуть]


Скрипт рандомных характеристик у enemy (EgoR[SLM])

dim_flt 2
dim_act 1

findactor 0, ""

rnd 0, 8
let flt[0]=flt[0]+1
goto flt[0]

label 1
\\хар-ка_1
goto script

label 2
\\хар-ка_2
goto script

label 3
\\хар-ка_3
goto script

label 4
\\хар-ка_4
goto script

label 5
\\хар-ка_5
goto script

label 6
\\хар-ка_6
goto script

label 7
\\хар-ка_7
goto script

label 8
\\хар-ка_8
label script
goto script
[свернуть]


Cкрипт отключения/включения city music (EgoR[SLM])

При игре в Гонку Без Правил (FREERIDE), порой хочется отключить всю городскую музыку, спокойно ходить, ездить на поездах и трамваях. Если вы из такого типа людей, то вам наверняка понравится этот скрипт. По нажатию кнопки дополнительного свистка,отключается городская музыка. При повторном нажатии - включается обратно

dim_flt 1
//по нажатию кнопки дополнительного свистка
//отключается\включается городская музыка
label 1
ctrl_read 0,HORN1
if flt[0]=1, -1, 1
citymusic_off
console_addtext 229
wait 300
goto 2
label 2
ctrl_read 0,HORN1
if flt[0]=1, -1, 2
citymusic_on
console_addtext 228
wait 300
goto 1
[свернуть]


Вид от первого лица (EgoR[SLM])

Скрипт для игры от первого лица. First Person mode включается/отключается на кнопку HORN1 ("дополнительный свист", но можно заменить.) Работает нормально только тогда, когда игрок без оружия, или в машине.

dim_act 1
dim_frm 2
dim_flt 1
findactor 0, "Tommy"
getactivecamera 0
findframe 1, "Tommy.neck"
//вид от первого лица везде (работает нормально только когда томми без оружия)
//и в машине
label 1
ctrl_read 0,HORN1
if flt[0]=1, -1, 1
camera_lock 1
frm_seton 1, 0
frm_linkto 0,1
console_addtext 222
wait 300
goto 2
label 2
ctrl_read 0,HORN1
if flt[0]=1, -1, 2
camera_unlock
console_addtext 229
wait 300
goto 1
[свернуть]


Скрипт спринта (EgoR[SLM])

По нажатию кнопки "MAP" ("КАРТА", но можно поменять), персонаж ускоряется в 3 раза, при этом, бег сопровождается вытягиванием экрана, что придает ощущение скорости. Спустя несколько секунд эффект проходит и нужно некоторое время (от 1 секунды до 13-15) чтобы персонаж отдохнул и снова мог использовать спринт.

dim_act 1
dim_flt 3
getactiveplayer 0

label 156
ctrl_read 0, MAP
if flt[0]=1, -1, 156
camera_getfov 1
human_setproperty 0, 300, Speed

label 124
commandblock 0
commandblock 1
let flt[1] = flt[1] + 0.5
camera_setfov flt[1]
if flt[1]>110, -1, 124

label 182
commandblock 0
commandblock 1
let flt[1] = flt[1] - 0.4
camera_setfov flt[1]
if flt[1]<75, -1, 182
commandblock 0
wait 100
human_setproperty 0, 100, Speed
rnd 2,99
let flt[2] = flt[2] * 120
wait flt[2]
goto 156
[свернуть]


Скрипт моментальной смерти от выстрела в голову (EgoR[SLM])

В оригинальной Мафии, была такая недоработка (а может быть и специально), что выстрел в голову практически из всех пистолетов не убивал врага. Благодаря этому скрипту, это исправлено. Иногда противнику сносит голову от выстрела, сопровождаясь фонтаном крови. Вписывать не в актора-противника, а в отдельный скрипт! Иначе работать не будет.

dim_act 1
dim_flt 10
dim_frm 1

findactor 0, "actor"
findframe 0, "actor.neck"

human_setproperty 0, 60000, ENERGY

frm_getscale 0, 2

let flt[2] = 0.000001
let flt[3] = 0.000001
let flt[4] = 0.000001

label 303
commandblock 0
commandblock 1
human_getactanimid 0, 1
if flt[1]=204, neck1, -1
human_getactanimid 0, 1
if flt[1]=205, neck2, -1
goto 303

//==========================
//Голова, спереди.

label neck1
human_setproperty 0, 0, ENERGY
rnd 5,10
//freeride_scoreset flt[5]
if flt[5]<3, -1, 402
frm_setscale 0, 2
emitparticle 0,40, 0

//==========================
//Голова, сзади

label neck2
human_setproperty 0, 0, ENERGY
rnd 5,10
//freeride_scoreset flt[5]
if flt[5]<3, -1, 402
frm_setscale 0, 2
emitparticle 0,40, 0
goto 1001

label 402
wait 5000
end
[свернуть]


Новая версия телохранителя угоняющего автомобили (Atrox)

---------------------------------
Телохранитель угоняющий автомобили - V.4.
///programmed by Atrox (c)
///sergey.brusov@gmail.com

Что бы телохранитель угнал автомобиль, надо дать ему команду " стоять " и рядом с ним сесть в автомобиль и нажать на клаксон.
Если у Томми есть 500 игровых уе - то телохранитель начнет искать автомобиль для угона, исходя из ниже приведенных четырёх НО.

НО:
0. Угоняет только стоячие автомобили.
1. Если в них не сидит Томми!
2. Автомобили не шибко повреждены!
3. Автомобили не далее 96-ти игрометров!
PS: Угоняет даже автомобили, указанные на радаре красным цветом.

Если у Томми нет 500 игровых уе - то телохранитель намекнет Томми об этом.

Когда телохранитель поймает автомобиль, то, если Томми дальше 30-ти игрометров, то подгонит автомобиль к Томми и вылезет из автомобиля.
Если Томми ближе 30-ти игрометров, то телохранитель подождет Томми 20-ть секунд, и если Томми не сядет в его автомобиль, то телохранитель поедет в 3-тий фрейм, вылезет и пойдет в 4-ый фрейм.
PS: А так же выполняет команды " стоять " и " за мной ".

Рекомендуется ставиль на модель Полли (Paulie) с именем Paulie
Если не хотите, то в findactor 0, "***" и в findframe 0, "***",
между кавычек, вместо Paulie напишите имя ... любое.
Например Atrox.

------------------------------------------------------------

dim_act 10
dim_flt 10
dim_frm 10

findactor 0, "Paulie"
findactor 1, "Tommy"
findactor 2, "null"
///programmed by atrox (c)
///sergey.brusov@gmail.com
findframe 0, "Paulie"
findframe 1, "Tommy"
findframe 2, "null"
findframe 3, "taxi_point22"
findframe 4, "taxi_point21"

human_set8slot 0, 1
human_setproperty 0, 999, Energy
human_setproperty 0, 999, Intelligence
human_addweapon 0,12,2,8888
human_holster 0
enemy_blastfire
let flt[0]=1

label 1
if flt[0]=1, stopp, -1
let flt[1]=1
enemy_action_follow 1, 1, nonext, crouch, 1
enemy_followplayer yes
let flt[1]=0

label stopp
human_holster 0
setplayerhornevent 0, 1
goto 1

event use_ab,10970002
enemy_forcescript 0
enemy_actionsclear
enemy_brainwash
enemy_stop
detector_issignal 5, 65, -1
getactorsdist 0, 5, 2
if flt[2]<5, -1, 65

label 65
event_use_cb 1
if flt[0]=1, 2, -1
enemy_talk 1, 11990741
enemy_wait
human_looktoactor 0, 1, 1
enemy_talk 0, 950020
enemy_wait
enemy_talk 0, 950011
enemy_wait
human_looktoactor 0
enemy_forcescript 0
let flt[0]=1
return

label 2
enemy_talk 1, 11990731
enemy_wait
human_looktoactor 0, 1, 1
enemy_talk 0, 950008
enemy_wait
human_stoptalk 0
human_looktoactor 0
let flt[0]=0
return

label go
let flt[0]=0
return

event enemy_to_ai
event_use_cb 1
if flt[1]=1, ret, -1
enemy_talk 0, 950089
enemy_wait
label ret
human_holster 0
return

event 1
enemy_look 1
commandblock 1
getactorsdist 0, 1, 0
if flt[0]>9, ret, -1
commandblock 0
enemy_talk 1, 950106
enemy_wait
freeride_scoreget 0
if flt[0]<500,MALOPENEZ,-1
let flt[0]=flt[0]-500
freeride_scoreset flt[0]
human_getowner 1, 2
human_looktoactor 0, 1, 1
enemy_playanim "gestikulace03.i3d", 1, simple
enemy_talk 0, 19991497
enemy_wait
enemy_stopanim
enemy_talk 0, 950005
enemy_playanim "gestikulacenew02.i3d"
enemy_wait
enemy_stopanim
setnoanimhit 0, 1
human_looktoactor 0
label 202
findnearactor 0, 3, car
car_getspeed 3, 3
if flt[3]>0.05, -1, 212
goto 202
label 212
car_switchshowenergy 3, 1
getcardamage 3, 3
if flt[3]<0.7, -1, 222
goto 202
label 222
getactorsdist 1, 3, 1
if flt[1]<3, -1, 232
goto 202
label 232
getactorsdist 3, 0, 3
if flt[3]>96, -1, 242
goto 202
label 242
car_getspeed 3, 3
if flt[3]>0.05, -1, 252
goto 202
label 252
car_lock_all 3, 1
human_holster 0
enemy_move_to_car 3, 0, run
enemy_look 3
human_holster 0
playsound "carunlock3.wav", -1, 12, 1
enemy_playanim "KradeniAuta.i3d", 1
let flt[1]=flt[1]-83
wait flt[1]
enemy_usecar 3, 0
car_lock_all 3, 0
label 262
human_getowner 0, 4
actorupdateplacement 4
car_calm 4
getactorsdist 0, 1, 0
if flt[0]>29, -1, 272
getactorframe 1, 1
enemy_car_moveto 4, 1, stop
enemy_usecar
wait 1000
human_holster 0
let flt[0]=1
return
label 272
wait 18000
compareownerwithex 1, 4, -1, 282
carlight_light 4, 1
enemy_car_moveto 4, 3, stop
carlight_light 4, 0
enemy_usecar
wait 1000
human_holster 0
goto 292
label 282
car_setactlevel 4, 1
wait 2000
carlight_light 4, 1
enemy_car_moveto 4, 3, stop
carlight_light 4, 0
wait 2000
car_setactlevel 4, 0
enemy_usecar
wait 1000
human_holster 0
label 292
enemy_changeanim "walk1.i3d", "ChuzeRuceZaZady1.I3D"
enemy_move_to_frame 4, 0, walk
setnoanimhit 0, 0
human_setproperty 0, 999, Energy
wait 1000
let flt[0]=1
return

label MALOPENEZ
human_looktoactor 0, 1, 1
enemy_playanim "Gestikulace01.I3D", 0
enemy_talk 0, 18990131
enemy_wait
enemy_stopanim
human_looktoactor 1, 0, 1
enemy_talk 1, 18990161
enemy_wait
human_looktoactor 1
enemy_playanim "Gestikulace02.I3D", 0
enemy_talk 0, 18990151
console_addtext 3472
enemy_wait
enemy_stopanim
human_looktoactor 1, 0, 1
enemy_talk 1, 18990261
enemy_wait
human_looktoactor 1
enemy_playanim "Gestikulace03.I3D", 0
enemy_talk 0, 18990291
enemy_wait
enemy_stopanim
enemy_talk 1, 18990301
enemy_wait
human_looktoactor 0
enemy_playanim "polst03.i3d"
enemy_talk 0, 18020560
enemy_wait
enemy_talk 0, 18020570
enemy_wait
enemy_stopanim
let flt[0]=1
return

event hit_from_player
enemy_actionsclear
enemy_stop
enemy_look 1
enemy_wait
human_looktoactor 0, 1, 1
rnd 1,4
if flt[1]=0,-1,113
enemy_talk 0, 950080
enemy_wait
label 113
if flt[1]=1,-1,114
enemy_talk 0, 950003
enemy_wait
label 114
if flt[1]=2,-1,115
enemy_talk 0, 950004
enemy_wait
label 115
if flt[1]=3,-1,116
enemy_talk 0, 950031
enemy_wait
label 116
human_looktoactor 0
enemy_forcescript 0
return
[свернуть]
[свернуть]

Последний раз редактировалось El Padrino; 12.12.2018 в 21:56.
цитата
Поблагодарили: 6
Andrey (08.12.2018), EmptyBowl (06.12.2018), Johnny777 (05.06.2019), Knight Rider (06.12.2018), spartaque12 (06.12.2018), Staghound (08.12.2018)
 

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Регистрация
×
Чтобы оставлять на форуме Mafia-Game Forum сообщения, необходимо сначала зарегистрироваться.
Пожалуйста, укажите ваше имя пользователя, адрес электронной почты и прочую обязательную информацию о себе в форме ниже.
Имя:
Пароль / Адрес электронной почты
Пароль:
Подтвердите пароль:
Адрес электронной почты:
Подтвердите адрес:
Реферер
Если вы пришли на этот форум по совету одного из участников, то, пожалуйста, введите его имя пользователя.
Реферер:
Время на форуме может быть выставлено в соответствии с тем, где вы находитесь. Выберите свой часовой пояс из списка ниже.
Учитывать переход на летнее или зимнее время (DST).
Получать электронные письма
Время от времени администрация может посылать вам сообщения по электронной почте.

Если вы не хотите получать эти сообщения, отключите эту опцию.
Разрешить другим участникам писать вам по электронной почте.
Правила форума

Текущее время: 04:11. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.11 Release Candidate 2
Copyright ©2000 - 2020, vBulletin Solutions Inc. Перевод: zCarot (VK2425)