Mafia-Game Forum

Mafia-Game Forum (https://mafia-game.ru/forum/index.php)
-   Скриптинг (https://mafia-game.ru/forum/forumdisplay.php?f=10)
-   -   Скрипты (https://mafia-game.ru/forum/showthread.php?t=149)

El Padrino 06.12.2018 14:47

Скрипты
 

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 08.12.2018 11:36

Part - II

Скрипт свободно движущейся камеры (GOLOD55)

//free_camera beta1

//сделан ручной фокус зуума. удерживая клавишу SNIPERMODE, настройте зуум. повтор.нажатие выключит зуум.

//F1 = вкл\выкл. скрипткамеру
//LEFT \ RIGHT \ UP \ DOWN = вращение камеры
//LEFT1 \ RIGHT1 = горизонтальная коррекция
//FIRE \ ACTION (лмаус\рмаус) = вперед\назад
//SNIPERMODE = зум камеры. удерживать клаву.

dim_act 1
dim_frm 2
dim_flt 14
//scriptcamera_mode beta1 GOLOD55 30.03.08
findactor 0,"Tommy"
getactivecamera 0
findframe 1,"Tommy.neck"
vect_set 10,1,1,1

Label 101
commandblock 0
wait 1000
Label 100
commandblock 0
commandblock 1
human_getseatidx 0,0
ctrl_read 1,OBJECTIVES
if flt[1]=1,CAM,-1
if flt[11]=-1,-1,100
if flt[0]=-1,-1,INCAR
if flt[9]=1,CAM,-1

label INCAR
ctrl_read 1,SNIPERMODE
if flt[1]=1,snip,-1
vect_set 2,0.015,0,0
ctrl_read 1,UP
if flt[1]=1,ROTS,-1
vect_set 2,-0.015,0,0
ctrl_read 1,DOWN
if flt[1]=1,ROTS,-1
vect_set 2,0,0.015,0
ctrl_read 1,LEFT
if flt[1]=1,ROTS,-1
vect_set 2,0,-0.015,0
ctrl_read 1,RIGHT
if flt[1]=1,ROTS,-1
vect_set 2,0,0,-0.015
ctrl_read 1,LEFT1
if flt[1]=1,ROTS,-1
vect_set 2,0,0,0.015
ctrl_read 1,RIGHT1
if flt[1]=1,ROTS,-1
vect_set 2,0,0,0.1
ctrl_read 1,FIRE
if flt[1]=1,MOVE,-1
vect_set 2,0,0,-0.1
ctrl_read 1,ACTION
if flt[1]=1,-1,100
---
label MOVE
frm_getrot 0,5
vect_mul_quat 2,5
frm_getpos 0,5
vect_add_vect 2,5
frm_setpos 0,2
goto 100
---
Label ROTS
vect_mul_scl 2,flt[10]
frm_getrot 0,5
quat_mul_quat 1,5
frm_setrot 0,1
goto 100
---
Label CAM
let flt[11]=-flt[11]
if flt[11]=-1,-1,unlock
camera_lock 1
frm_linkto 0,1
let flt[9]=1
if flt[0]=-1,-1,101
act_setstate 0,inactive
let flt[9]=0
goto 101
---
label snip
let flt[12]=-flt[12]
if flt[12]=-1,-1,unsnip
label zoom
commandblock 0
commandblock 1
ctrl_read 1,SNIPERMODE
if flt[1]=1,-1,100
camera_getfov 13
let flt[13]=flt[13]-0.5
camera_setfov flt[13]
let flt[10]=flt[10]-0.007
if flt[13]<5,101,zoom
---
label unlock
frm_linkto 0,-1
camera_unlock
act_setstate 0,active
label unsnip
camera_setfov 70
let flt[10]=1
goto 101
[свернуть]


Скрипт, который убирает индикаторы (Loque)

dim_frm 1
dim_act 1
dim_flt 3
findactor 0, "Tommy"
findframe 0, "Tommy"
let flt[1]=0
policemanager_del "Tommy"

/// was made by **LOQUE** ///

label 1
ctrl_read 0,HORN
if flt[0]=1,2,1

label 2
if flt[1]=0,-1,3
setcompass -1
human_holster 0
frm_seton 0,0
freeride_scoreget 2
freeride_scoreon 0
let flt[1]=1
goto 1

label 3
if flt[1]=1,-1,2
frm_seton 0,1
freeride_scoreon 1
freeride_scoreset flt[2]
let flt[1]=0
goto 1
[свернуть]


Скрипт для снятия координат

dim_frm 1
dim_flt 3
findframe 0,"Tommy"

label press_key
ctrl_read 0,HOLSTER
if flt[0]=1,-1,press_key

frm_getpos 0,0
vect_mul_scl 0,1000

freeride_scoreon 1
freeride_scoreset flt[0]
wait 4000
freeride_scoreset flt[1]
wait 4000
freeride_scoreset flt[2]
wait 4000
freeride_scoreon 0
wait 4000
goto press_key
[свернуть]


Скрипт для открытия закр. дверей которые юзаются (DSD)

dim_flt 2
dim_act 2
findactor 0, "Tommy"

label press_key
ctrl_read 0, ACTION1
if flt[0]=1, -1, press_key
findnearactor 0, 1, Door
door_getstate 1, 1
if flt[1]=1, -1, press_key2
door_lock 1, 0
door_open 1, 1
label press_key2
door_open 1, 0
goto press_key
[свернуть]


Скрипт переодевания (Восинед)

dim_act 1
dim_frm 1
findactor 0, "Tommy"

label 1
detector_waitforuse
player_lockcontrols 1
zatmyse 1
wait 500
human_changemodel 0, "На кого меняться.i3d"
policemanager_del "Tommy"
wait 3000
policemanager_add "Tommy"
zatmyse 0
wait 500
player_lockcontrols 0
goto 2
label 2
detector_waitforuse
player_lockcontrols 1
zatmyse 1
wait 500
human_changemodel 0, "Tommy.i3d"
policemanager_del "Tommy"
wait 3000
policemanager_add "Tommy"
zatmyse 0
wait 500
player_lockcontrols 0
goto 1
[свернуть]


Скрипт позволяющий сохранять игру где угодно

dim_flt 10
dim_act 10
dim_frm 10

label norm
ctrl_read 1,crouch1
if flt[1]=0,norm,-1
goto 2

label 2
autosavegamefull 5584
goto norm
[свернуть]


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

dim_act 10
dim_flt 10
dim_frm 10
findactor 0, "teloxranitel" - имя телохранителя
findactor 1, "Tommy"
findactor 2, Car
findactor 3, "NULL"
findframe 1, "фрейм1" - фрейм куда гнать машину
findframe 2, "фрейм2" - фрейм куда идти пешком

human_set8slot 0, 3
human_setproperty 0, 9999, Energy
human_setproperty 0, 9999, Intelligence
human_addweapon 0, 10, 50, 9999
human_holster 0
let flt[0]=0
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, oborot

goto 1
event use_ab, 10970003
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_forcescript 0
let flt[0] = 1
return
label 2
enemy_talk 1, 11990731
let flt[0] = 0
return
label go
let flt[0]=0
return
event hit_from_player
event_use_cb 1
return
event enemy_to_ai
event_use_cb 1
enemy_talk 01940071
if flt[1]=1, ret, -1
wait 5000
label ret
human_holster 0
return

event oborot
goto poisk

lebel poisk
findnearactor 0, 2, Car
getactorsdist 0, 2, 2
if flt[2] > 20, poisk, delo

label delo
car_lock_all 2, 1
compareownerwithex 2, 2, poisk, vzlom

label vzlom
enemy_move_to_car 2, 0, walk
enemy_look 2
playsound "carunlock3.wav", -1, 12, 1
enemy_playanim "RalphKradeVelkeAuto.i3d",0
let flt[0]=flt[0]-1
wait flt[0]
car_enableus 2, 1
car_setdooropen 2, 0, 10
wait flt[0]
enemy_usecar 2, 0
car_lock_all 2, 0
iscarusable 2, 0
if flt[0]=0,-1, gon

label gon
human_getowner 0, 3
actorupdateplacement 3
ENEMY_CAR_MOVETO 3, 1, stop
//ENEMY_CAR_ESCAPE 3, 1, 1, -1, 10, 60, 1
goto next

label next
enemy_usecar 2, 0
freeride_scoreadd 3000
wait 1000
setnoanimhit 0, 1
enemy_move_to_frame 2, 0, walk
setnoanimhit 0, 0
human_setproperty 0, 9999, Energy
wait 1000
return
[свернуть]


Скрипт продавца оружия (бесплатного)

dim_act 2
dim_flt 2
findactor 0, "Tommy"
findactor 1, ""
human_setproperty 1, 9000, Energy
human_addweapon 1, 7, 6, 12
human_holster 1

label 101
wait 4000
goto 101

event use_ab
getenemyaistate 1,0
iffltinrange 0,2,5,120
HUMAN_LOOKTOACTOR 1, 0, 1

//player_lockcontrols 1

gunshop_menu

//player_lockcontrols 0
return
event 1000
label BLBOST
enemy_action_fire 0
goto BLBOST
[свернуть]
[свернуть]

El Padrino 12.12.2018 21:54

Part - III

Cкрипт моментального разгона машины до 250 км/ч (Akay)

dim_act 3
dim_frm 3
findactor 0,"Tommy"
label 101
findnearactor 0, 1, Car
ctrl_read 1, JUMP1
if flt[1]=0, 101, -1
compareownerwithex 0, 1, -1, 101
human_setproperty 0,300,Energy
car_setspeed 1, 250
wait 10
goto 101

***********************************************

Срипт действует при нажатии кнопки "Дополнительный прыжок"
Советую вписать ещё один скрипт для починки авто. При скорости 250км/ч машины очень быстро ломаются, мнутся и взрываются.

***********************************************

dim_flt 3
dim_act 3
dim_frm 3
findactor 0,"Tommy"
label 101
findnearactor 0, 1, Car
ctrl_read 1, HORN1
if flt[1]=0, 101, -1
human_setproperty 0,300,Energy
car_repair 1
goto 101
[свернуть]


Скрипт "TurboCar" (Akay)

dim_flt 10
dim_act 10
dim_frm 10
findactor 0, "Tommy"
findframe 0, "Tommy"

label norm
commandblock 0
commandblock 1
findnearactor 0, 1, Car
ctrl_read 1, HORN1
if flt[1]=0, norm, -1
compareownerwithex 0, 1, -1, norm
human_setproperty 0,300,Energy
commandblock 0
goto 2

label 2
commandblock 1
emitparticle 0,20,0
playsound "pump.wav", 0, 70, 1
car_unbreakable 1,1
car_setspeed 1, 190
camera_getfov 3
commandblock 0
label 3
commandblock 0
commandblock 1
let flt[3] = flt[3] * 1.05
camera_setfov flt[3]
if flt[3] >140, -1, 3
label 4
commandblock 0
commandblock 1
let flt[3] = flt[3] * 0.98
camera_setfov flt[3]
if flt[3] < 75, -1, 4
commandblock 0
wait 5000
goto norm
[свернуть]


Скрипт "Быстрого Тома", бегает как Гонзалес (Akay)

dim_flt 10
dim_act 10
dim_frm 10

findactor 0,"Tommy"
human_setproperty 0,500,Energy

label 1
human_setproperty 0, 100, Speed
ctrl_read 1,HORN1
if flt[1]=0, 1, -1
console_addtext 128
goto 2
label 2
human_setproperty 0, 400, Speed
ctrl_read 1,HORN1
if flt[1]=0, 2, -1
console_addtext 128
goto 3
label 3
human_setproperty 0, 800, Speed
ctrl_read 1,HORN1
if flt[1]=0, 3, -1
console_addtext 128
goto 4
label 4
human_setproperty 0, 1300, Speed
ctrl_read 1,HORN1
if flt[1]=0, 4, -1
console_addtext 128
goto 1

**********************************

У Тома 3 скорости. Переключение - дополнительная кнопка свиста (гудка).

**********************************
[свернуть]


Скрипт для снега, дождя

Снег:

weather_setparam ON, 1
weather_setparam SPEED, 45
weather_setparam LEN, 0.1
weather_setparam WIDTH, 0.1
weather_setparam MAX_DIST, 45
weather_setparam MAX_HEIGHT, 12
weather_setparam MAX_CNT, 9500
weather_setparam DIR_X, 0
weather_setparam DIR_Y, -0.98
weather_setparam DIR_Z, 0
weather_setparam MODE, 2

Дождь:

weather_setparam ON, 1
weather_setparam SPEED, 45
weather_setparam LEN, 0.9
weather_setparam WIDTH, 0.02
weather_setparam MAX_DIST, 45
weather_setparam MAX_HEIGHT, 12
weather_setparam MAX_CNT, 7500
weather_setparam DIR_X, 0
weather_setparam DIR_Y, -0.98
[свернуть]


Скрипт для включения во фрирайде-ночь фар

dim_act 7
dim_flt 7
getactiveplayer 0

label 1
ctrl_read 0, HOLSTER
if flt[0]=1,2,1

label 2
findnearactor 0,1,Car
compareownerwithex 0,1,3,1

label 3
carlight_main 1,0
goto 4
label 4
ctrl_read 1, HOLSTER
if flt[1]=1,5,4

label 5
findnearactor 0,1,Car
compareownerwithex 0,1,-1,3
carlight_main 1,2
goto 1
[свернуть]


Скрипт доставит Вас в больницу после смерти (GOLOD55)

dim_act 1
dim_flt 2
dim_frm 2
findactor 0, "Tommy"
findframe 0,"Tommy"
findframe 1,"bolnica"

let flt[0] = 1100
human_setproperty 0, flt[0], Energy

label 10
human_getproperty 0, 0, Energy
if flt[0] < 1005, -1, 10
player_lockcontrols 1
enemy_block
policemanager_del "Tommy"
camera_setfov 120
person_playanim 0, "4d Paulie T zveda.i3d"
wait 20000
person_stopanim 0
zatmyse 1, 10
actor_setplacement 0, 1
player_lockcontrols 0
enemy_unblock
let flt[0] = 1100
human_setproperty 0, flt[0], Energy
policemanager_add "Tommy"
wait 10000
zatmyse 0, 10
camera_setfov 70
human_delweapon 0, 10
human_delweapon 0, 12
human_delweapon 0, 7
human_delweapon 0, 9
autosavegamefull 5584
goto 10
[свернуть]


Скрпит дождя версия 2

dim_act 9
dim_flt 9
dim_frm 9

Label Start
wait 100000
weather_setparam ON, 1
wait 100000
weather_setparam ON, 0
goto Start
[свернуть]


Скрипт позволяющий начать Фрирайд без машины

Скрипт прописывать во фрэйм с любыми координатами / ротацией.

dim_act 3
dim_frm 3

findactor 0,"Tommy"
findframe 1,"emeth_1" - точка где появимся (emeth_1...emeth_4)
findframe 2,"emeth_4"

zatmyse 1, 90
human_getowner 0, 1
actor_setplacement 1, 2
actor_setplacement 0, 1
car_explosion 1
zatmyse 0, 90
autosavegamefull 5584
[свернуть]
[свернуть]



Part - IV

Скрипт автоприбавления жизней у Тома (Akay)

dim_act 1
dim_flt 1
findactor 0,"Tommy"

label 101
human_getproperty 0,0,Energy
if flt[0]>100,101,-1
if flt[0]
[свернуть]


Скрипт для летающих машин (tomas100)

*****************************

Для взлёта:

*****************************

dim_flt 3
dim_act 3
dim_frm 3
findactor 0,"Tommy"
findactor 2,"NULL"
findframe 0, "Tommy.neck"
label 101
ctrl_read 1, JUMP
if flt[1]=0, 101, -1
car_unbreakable 2,1
compareownerwithex 0, 2, 101, -1
human_getowner 0, 1
actor_setplacement 1, 0
label 999
car_setspeed 1, 230
human_setproperty 0,300,Energy
ctrl_read 1, JUMP
if flt[1]=0, 999, -1
car_setspeed 1, 40
goto 101

*****************************

И на посадку:

*****************************

dim_flt 3
dim_act 3
dim_frm 3
findactor 0,"Tommy"
findactor 2,"NULL"
findframe 0, "Tommy.neck"
label 101
ctrl_read 1, JUMP
if flt[1]=0, 101, -1
car_unbreakable 2,1
compareownerwithex 0, 2, 101, -1
human_getowner 0, 1
actor_setplacement 1, 0
label 999
car_setspeed 1, 230
human_setproperty 0,300,Energy
ctrl_read 1, JUMP
if flt[1]=0, 999, -1
car_setspeed 1, 40
goto 101

*****************************

Правда управляемость фиговая =)

*****************************
[свернуть]


Скрипт для мужика, который снимает деньги за разговор

dim_act 5
dim_flt 5
dim_frm 5
findactor 1,"Tommy"
findactor 2, "Torgash"

human_set8slot 0, 3
human_setproperty 2, 9999, Energy
human_setproperty 2, 50, Speed
human_addweapon 2,12,2,8888
human_holster 2
enemy_vidim 1

label 1
let flt[1] = flt[1] + 1
enemy_playanim "breathB1.i3d",1
wait flt[1]
goto 1
event use_ab, 10970007
enemy_talk 00950027
freeride_scoreadd -5
return
[свернуть]


Скрипт попарно разговаривающих людей

***********************

1-ый

***********************

dim_flt 3
dim_act 2
findactor 0, "Delnik2"
findactor 1, "Delnik"
enemy_group_new 1
enemy_group_add 1, 0
enemy_group_add 1, 1

label 2
event_use_cb 1
if flt[0] = 1, 2, -1
console_addtext 99970001
if flt[0] = 2, 2, -1
enemy_forcescript 0
let flt[0] = 1
wait 500
enemy_playanim "gesto2 nogun1a.i3d"
wait 3000
enemy_playanim "gesto2 nogun1a.i3d", 0
let flt[0] = flt[0] - 100
wait flt[0]
enemy_playanim "gesto2 nogun1a.i3d"
wait 3000
enemy_playanim "gesto2 nogun1c.i3d", 0
let flt[0] = flt[0] - 100
wait flt[0]
enemy_playanim "gesto2 nogun1a.i3d"
wait 3000
enemy_playanim "gesto2 nogun1d.i3d", 0
let flt[0] = flt[0] - 270
wait flt[0]
goto 2

***********************

2-ой

***********************

dim_flt 1

label 1
enemy_playanim "gesto2 nogun1a.i3d"
wait 5000
enemy_playanim "gesto2 nogun1c.i3d", 0
let flt[0] = flt[0] - 100
wait flt[0]
enemy_playanim "gesto2 nogun1a.i3d"
wait 5000
enemy_playanim "gesto2 nogun1a.i3d", 0
let flt[0] = flt[0] - 100
wait flt[0]
enemy_playanim "gesto2 nogun1a.i3d"
wait 5000
enemy_playanim "gesto2 nogun1d.i3d", 0
let flt[0] = flt[0] - 270
wait flt[0]
goto 1
[свернуть]


Скрипт автодиллера

dim_act 2
dim_flt 1
findactor 0,"Tommy"
findactor 1,"cordca"

car_enableus 1,0

label 101
detector_waitforuse 3512

freeride_scoreget 0
if flt[0]<5000,MALOPENEZ,-1
let flt[0]=flt[0]-5000
freeride_scoreset flt[0]
car_enableus 1,1
mission_objectives 22930000
wait 5000
mission_objectivesclear
goto 101

label MALOPENEZ
console_addtext 3472
goto 101
[свернуть]


Скрипт телепорта в миссию при юзаньи

dim_flt 1
dim_frm 1

findframe 0, "load freekrajina01"
setcompass 0

detector_waitforuse

commandblock 1
freeride_scoreadd 1
freeride_scoreget 0
setmissionnumber flt[0]
change_mission "freekrajina","load_z_mesta01",40
commandblock 0
[свернуть]


Скрипт телепорта в миссию при входе во фрейм

dim_flt 1
label 101
wait 100
detector_inrange 0,30
if flt[0]=1,-1,101

commandblock 1
freeride_scoreadd 1
freeride_scoreget 0
setmissionnumber flt[0]
change_mission "freekrajina","load_z_mesta01",40
commandblock 0
[свернуть]


Скрипт говорящего продавца оружия

dim_act 2
dim_flt 2
findactor 0, "Tommy"
findactor 1, ""
human_setproperty 1, 9000, Energy
human_setproperty 0, 9000, Energy
human_addweapon 1, 10, 50, 200
human_holster 1
label 101
wait 4000
goto 101

event use_ab
getenemyaistate 1,0
iffltinrange 0,2,5,120
HUMAN_LOOKTOACTOR 1, 0, 1

//player_lockcontrols 1

enemy_talk 05010190
wait 1500
gunshop_menu
enemy_talk 05010350

//player_lockcontrols 0
return

event 1000
label BLBOST
enemy_action_fire 0
goto BLBOST
[свернуть]
[свернуть]

alex5995 04.03.2023 19:36

В скриптах часто встречается "label 101". Чем он отличается, к примеру, от "label 1"?

Melhior 05.03.2023 03:24

Цитата:

Сообщение от alex5995 (Сообщение 19632)
В скриптах часто встречается "label 101". Чем он отличается, к примеру, от "label 1"?

Да ничем. Имя метки можно любое давать.


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

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