#1 17-04-2010 17:04

~AquaZ~
Registered: 01-03-2010
Posts: 726

[SA|REL] fastDev Library

Разработал библиотеку, назвал fastDev. Позволяет делать некоторые вещи гораздо быстрее.
Developed a library called fastDev. With it you can develop some things really faster.
511de4d8f936.jpg[---]Examples|Примеры:

0AB1: @mk_car 5 params model #TURISMO coords 2488.56 -1666.84 13.5 angle 180.0 store to 0@ //make car
0AB1: @mk_act 6 params model #ARMY pedtype 4 coords 2485.56 -1666.84 13.5 angle 180.0 store to 1@ //make actor
0AB1: @mk_act_in_car 4 params model #ARMY pedtype 4 car 0@ seat -1 store to 2@ //make actor in car
0AB1: @mk_act_in_car 4 params model #ARMY pedtype 4 car 0@ seat  0 store to 3@
0AB1: @give_weap 4 params model #M4 weapon 31 ammo 99999 actor 1@ //give weapon to actor
0AB1: @give_weap 4 params model #M4 weapon 31 ammo 99999 actor 2@
0AB1: @give_weap 4 params model #M4 weapon 31 ammo 99999 actor 3@
0AB1: @mk_weap_pickup 6 params #GRENADE type 2 ammo 99999 at 2488.0 -1666.0 13.4 store to 0@ //grenade pickup
0AB1: @derail 1 params train 0@

[---]Source code|Исходник:

{ Создаёт тачку. 0AB1: @mk_car 5 params model #TURISMO coords 2488.56 -1666.84 13.5 angle 180.0 store to 0@ }
:mk_car
Model.Load(0@)
038B: load_requested_models
while 8248: not model 0@ available
  wait 10
end
5@ = Car.Create(0@, 1@, 2@, 3@)
Model.Destroy(0@)
Car.Angle(5@) = 4@
0AB2: ret 1 5@

{ Создаёт актёра. 0AB1: @mk_act 6 params model #ARMY pedtype 4 coords 2485.56 -1666.84 13.5 angle 180.0 store to 1@ }
:mk_act
Model.Load(0@)
038B: load_requested_models
while 8248: not model 0@ available
  wait 10
end
6@ = Actor.Create(1@, 0@, 2@, 3@, 4@)
Model.Destroy(0@)
Actor.Angle(6@) = 5@
0AB2: ret 1 6@

{ Создаёт актёра в авто. 0AB1: @mk_act_in_car 4 params model #ARMY pedtype 4 car 0@ seat 0 store to 1@ }
:mk_act_in_car
Model.Load(0@)
038B: load_requested_models
while 8248: not model 0@ available
  wait 10
end
if
  3@ == -1
then
  0129: 4@ = create_actor_pedtype 1@ model 0@ in_car 2@ driverseat
else
  01C8: 4@ = create_actor_pedtype 1@ model 0@ in_car 2@ passenger_seat 3@
end
Model.Destroy(0@)
0AB2: ret 1 4@

{ Даёт оружие. 0AB1: @give_weap 4 params model #M4 weapon 31 ammo 99999 actor 1@ }
:give_weap
Model.Load(0@)
038B: load_requested_models
while 8248: not model 0@ available
  wait 10
end
01B2: give_actor 3@ weapon 1@ ammo 2@
Model.Destroy(0@)
0AB2: ret 0

{ Создаёт пикап. 0AB1: @mk_weap_pickup 6 params #GRENADE type 2 ammo 99999 at 2488.0 -1666.0 13.4 store to 0@ }
:mk_weap_pickup
Model.Load(0@)
038B: load_requested_models
while 8248: not model 0@ available
  wait 10
end
032B: 10@ = create_weapon_pickup 0@ type 1@ ammo 2@ at 3@ 4@ 5@
Model.Destroy(0@)
0AB2: ret 1 10@

{ Сводит поезд с рельс. 0AB1: @derail 1 params train 0@ }
:derail
{0A97: 1@ = car 0@ struct
while 1@ <> 0
    0A8E: 2@ = 1@ + 0x40 // int
    0A8E: 3@ = 1@ + 0x5B9 // int
    0A8D: 4@ = read_memory 2@ size 4 virtual_protect 0
    0A8D: 5@ = read_memory 3@ size 1 virtual_protect 0
    08C3: clear 4@ bit 2
    08C3: clear 4@ bit 17
    08BD: set 5@ bit 0 
    0A8C: write_memory 2@ size 4 value 4@ virtual_protect 0
    0A8C: write_memory 3@ size 1 value 5@ virtual_protect 0
    1@ += 0x5D4
    0A8D: 1@ = read_memory 1@ size 4 virtual_protect 0
end}
06DE: 0@ = get_train 0@ last_carriage_handle
0A97: 1@ = car 0@ struct
while 1@ <> 0
    0A8E: 2@ = 1@ + 0x40 // int
    0A8E: 3@ = 1@ + 0x5B9 // int
    0A8D: 4@ = read_memory 2@ size 4 virtual_protect 0
    0A8D: 5@ = read_memory 3@ size 1 virtual_protect 0
    08C3: clear 4@ bit 2
    08C3: clear 4@ bit 17
    08BD: set 5@ bit 0 
    0A8C: write_memory 2@ size 4 value 4@ virtual_protect 0
    0A8C: write_memory 3@ size 1 value 5@ virtual_protect 0
    1@ += 0x5D0
    0A8D: 1@ = read_memory 1@ size 4 virtual_protect 0
    wait 100
end
0AB2: ret 0

Просто сохраните этот код и включите его в MAIN с помощью директивы {$I}
Just save this code and include it into MAIN with directive {$I}[---]Changelog|Список изменений:
[large]1.0[/large]
Добавил пикапы.

[large]0.9[/large]
Поставил везде где надо load requested models, работает быстрее. Добавил код сноса поезда с рельсов.Вагоны сводятся по очереди с конца состава. Кто хочет с начала - раскомментируйте закомментированный код в :derail_train, а не закомментированный - уберите.

[large]0.8[/large]
(nothing)[---]

Enjoy grin

Last edited by ~AquaZ~ (13-06-2011 12:30)

Offline

#2 09-06-2010 11:46

WinuX
Registered: 06-03-2009
Posts: 138

Re: [SA|REL] fastDev Library

хорошая штука. Воьму на заметку.

Offline

#3 09-06-2010 12:09

~AquaZ~
Registered: 01-03-2010
Posts: 726

Re: [SA|REL] fastDev Library

Рад, что тебе пригодилось smile

Last edited by ~AquaZ~ (07-01-2011 21:43)

Offline

#4 07-01-2011 21:43

~AquaZ~
Registered: 01-03-2010
Posts: 726

Re: [SA|REL] fastDev Library

Обновил код.

Offline

#5 08-01-2011 07:46

Gyr
From: Серпухов
Registered: 03-02-2009
Posts: 246
Website

Re: [SA|REL] fastDev Library

Вещь конечно отличная, но в клео скриптинге не прокатит. Ведь не будет же каждый изменять майн для того что бы заработал скрипт.
А так +1 за старание и +1 за реализацию.


Специально для тех, кто не умеет читать по английски. Мой ник читается как "ГИР"!!!
Народная мудрость:
Прежде чем задавать вопросы,ПОЧИТАЙ СПРАВКУ!!!!

Offline

#6 08-01-2011 13:37

~AquaZ~
Registered: 01-03-2010
Posts: 726

Re: [SA|REL] fastDev Library

На использование в КЛЕО и намёка нет. А вот в мэйне, особенно на миссиях, время и нервы экономит.

Offline

#7 08-01-2011 14:08

Gyr
From: Серпухов
Registered: 03-02-2009
Posts: 246
Website

Re: [SA|REL] fastDev Library

~AquaZ~ wrote:

На использование в КЛЕО и намёка нет. А вот в мэйне, особенно на миссиях, время и нервы экономит.

Ну вот я и говорю: +1 за старание


Специально для тех, кто не умеет читать по английски. Мой ник читается как "ГИР"!!!
Народная мудрость:
Прежде чем задавать вопросы,ПОЧИТАЙ СПРАВКУ!!!!

Offline

#8 09-01-2011 05:58

VcSaJen
Registered: 25-08-2006
Posts: 217

Re: [SA|REL] fastDev Library

Это не будет работать в CLEO-миссиях, но в простых cs CLEO-скриптах будет работать!

{$CLEO}
{$I testinclude.txt}
wait 10000
04C4: store_coords_to 1@ 2@ 3@ from_actor $Player_Actor with_offset 0.0 3.0 1.0
0AB1: @mk_car 5 params model #TURISMO coords 1@ 2@ 3@ angle 180.0 store to 0@ //make car 
Car.RemoveReferences(0@)
0A93: end_custom_thread
jump @tesinclude_end

:mk_car
Model.Load(0@)
038B: load_requested_models
while 8248: not model 0@ available
  wait 10
end
5@ = Car.Create(0@, 1@, 2@, 3@)
Model.Destroy(0@)
Car.Angle(5@) = 4@
0AB2: ret 1 5@

:mk_act
Model.Load(0@)
038B: load_requested_models
while 8248: not model 0@ available
  wait 10
end
6@ = Actor.Create(1@, 0@, 2@, 3@, 4@)
Model.Destroy(0@)
Actor.Angle(6@) = 5@
0AB2: ret 1 6@

:mk_act_in_car
Model.Load(0@)
038B: load_requested_models
while 8248: not model 0@ available
  wait 10
end
if
  3@ == -1
then
  0129: 4@ = create_actor_pedtype 1@ model 0@ in_car 2@ driverseat
else
  01C8: 4@ = create_actor_pedtype 1@ model 0@ in_car 2@ passenger_seat 3@
end
Model.Destroy(0@)
0AB2: ret 1 4@

:give_weap
Model.Load(0@)
038B: load_requested_models
while 8248: not model 0@ available
  wait 10
end
01B2: give_actor 3@ weapon 1@ ammo 2@
Model.Destroy(0@)
0AB2: ret 0

:derail
{0A97: 1@ = car 0@ struct
while 1@ <> 0
    0A8E: 2@ = 1@ + 0x40 // int
    0A8E: 3@ = 1@ + 0x5B9 // int
    0A8D: 4@ = read_memory 2@ size 4 virtual_protect 0
    0A8D: 5@ = read_memory 3@ size 1 virtual_protect 0
    08C3: clear 4@ bit 2
    08C3: clear 4@ bit 17
    08BD: set 5@ bit 0 
    0A8C: write_memory 2@ size 4 value 4@ virtual_protect 0
    0A8C: write_memory 3@ size 1 value 5@ virtual_protect 0
    1@ += 0x5D4
    0A8D: 1@ = read_memory 1@ size 4 virtual_protect 0
end}
06DE: 0@ = get_train 0@ last_carriage_handle
0A97: 1@ = car 0@ struct
while 1@ <> 0
    0A8E: 2@ = 1@ + 0x40 // int
    0A8E: 3@ = 1@ + 0x5B9 // int
    0A8D: 4@ = read_memory 2@ size 4 virtual_protect 0
    0A8D: 5@ = read_memory 3@ size 1 virtual_protect 0
    08C3: clear 4@ bit 2
    08C3: clear 4@ bit 17
    08BD: set 5@ bit 0 
    0A8C: write_memory 2@ size 4 value 4@ virtual_protect 0
    0A8C: write_memory 3@ size 1 value 5@ virtual_protect 0
    1@ += 0x5D0
    0A8D: 1@ = read_memory 1@ size 4 virtual_protect 0
    wait 100
end
0AB2: ret 0

:tesinclude_end

Главное НЕ скомпилировать случайно вместо скрипта сам этот инклуд testinclude.txt.

Last edited by VcSaJen (09-01-2011 05:59)


[small][/small]

Offline

#9 09-01-2011 06:54

Gyr
From: Серпухов
Registered: 03-02-2009
Posts: 246
Website

Re: [SA|REL] fastDev Library

@VcSaJen - Ох и любишь же ты работать с внешними файлами.....


Специально для тех, кто не умеет читать по английски. Мой ник читается как "ГИР"!!!
Народная мудрость:
Прежде чем задавать вопросы,ПОЧИТАЙ СПРАВКУ!!!!

Offline

#10 09-01-2011 11:10

~AquaZ~
Registered: 01-03-2010
Posts: 726

Re: [SA|REL] fastDev Library

Gyr wrote:

@VcSaJen - Ох и любишь же ты работать с внешними файлами.....

А что, я тоже. Как начну делать мод - все миссии будут во внешних файлах. Блин, а начну ли я его делать?..:crazy:

Offline

Board footer

Powered by FluxBB