#576 05-08-2008 14:29

flashTrash
From: Н.Новгород
Registered: 21-02-2007
Posts: 260
Website

Re: Один вопрос

а лимит есть?

на глобальные переменные? незнаю. Знаю что память выделяется так: находится самая большая глобальная переменная и *= на 4
Если на сами скрипты, то максимум работающих потоков 96

Offline

#577 05-08-2008 14:41

Centrino Duo
Registered: 08-05-2008
Posts: 99

Re: Один вопрос

гуд:^,спс:clap:..суну все клео скрипты в мейн crazy

Offline

#578 06-08-2008 09:14

Noob
Registered: 28-06-2008
Posts: 44

Re: Один вопрос

Блин помогите, прошу!

Offline

#579 08-08-2008 08:41

ILdar
From: Набережные Челны
Registered: 16-07-2008
Posts: 9
Website

Re: Один вопрос

0@ = 0 
04ED: load_animation "MEDIC" 

:Noname_16
wait 0 
if and
04EE:   animation "MEDIC" loaded 
   Player.Defined($PLAYER_CHAR)
jf @Noname_265 
Actor.StorePos($PLAYER_ACTOR, 4@, 7@, 10@)
073F: get_actor_in_sphere 4@ 7@ 10@ radius 2.0 with_pedtype_civilian 1 gang 1 criminal/prostitute 1 handle_as 27@ 
wait 0 
if and
0AB0:   key_pressed 117 
  0@ == 0 
   Actor.Dead(27@)
jf @Noname_172 
0@ = 1 
wait 0 
03BF: set_player $PLAYER_CHAR ignored_by_everyone 1 
Player.CanMove($PLAYER_CHAR) = False
0812: AS_actor $PLAYER_ACTOR perform_animation "CPR" IFP_file "MEDIC" 4.0 loopA 0 lockX 0 lockY 0 lockF 0 time -1 // versionB 

:Noname_172
wait 0 
if 
  0@ == 1 
jf @Noname_237 
if 
8AB0:   not key_pressed 117 
jf @Noname_237 
if 
   not Actor.Animation($PLAYER_ACTOR) == "CPR"
jf @Noname_172 
0@ = 0 

:Noname_237
wait 0 
03BF: set_player $PLAYER_CHAR ignored_by_everyone 0 
Player.CanMove($PLAYER_CHAR) = True
Actor.RemoveReferences(27@)

:Noname_265
jump @Noname_16

суть: подходим к мёртвому телу, нажимаем F6 и CJ делает искусственное дыхание (как медик). и всё. но хотелось бы чтобы это тело ещё и оживало, и вставало, и ходило как все. подскажите плиз как сделать это? если можно.

Last edited by ILdar (08-08-2008 08:42)


- At last, it works!
- What works?
- Oh, just a simple bit of electronic wizardry and intellectual bombast that hacks into the state of the art satellite immobilization technology onboard our target vehicle! Ahhh, me… ©

Offline

#580 08-08-2008 14:22

Yarik
Registered: 22-02-2008
Posts: 173
Website

Re: Один вопрос

grinlol
Я думаю ответ в вопросе: "если можно" - врятли оно реально, но задум супер good
Хотя как вариант узнать модель мертвеца и создать нового актера с той же моделью rolleyes

Offline

#581 08-08-2008 16:24

listener
From: Vice City
Registered: 09-11-2006
Posts: 616
Website

Re: Один вопрос

@Yarik - из поля modelId (+0x22, short)

Offline

#582 08-08-2008 20:38

Fess
Registered: 29-04-2008
Posts: 62

Re: Один вопрос

@ILdar -

{$CLEO}
0000:
while true
    wait 0
    if
        Player.Defined($PLAYER_CHAR)
    then
        0AB5: store_actor $PLAYER_ACTOR closest_vehicle_to 0@ closest_ped_to 1@
        if
            1@ <> -1
        then
            if and
                Actor.Dead(1@)
                00F3:   actor $PLAYER_ACTOR near_actor 1@ radius 2.0 2.0 0 on_foot
                0AB0:  key_pressed 0x75
            then
                04ED: load_animation "MEDIC"
                while 84EE:   not animation "MEDIC" loaded
                    wait 0
                end
                Player.CanMove($PLAYER_CHAR) = false
                01F7: set_player $PLAYER_CHAR ignored_by_cops 1
                03BF: set_player $PLAYER_CHAR ignored_by_everyone 1 
                0639: AS_actor $PLAYER_ACTOR rotate_to_actor 1@
                0605: actor $PLAYER_ACTOR perform_animation_sequence "CPR" IFP_file "MEDIC" 4.0 loop 0 0 0 0 time -1 // versionA
                wait 7000
                04A5: store_dead_actor 1@ position_to 2@ 3@ 4@
                0665: get_actor 1@ model_to 5@
                Actor.DestroyInstantly(1@)
                Actor.RemoveReferences(1@)
                Model.Load(5@)
                while not Model.Available(5@)
                    wait 0
                end
                1@ = Actor.Create(CivMale, 5@, 2@, 3@, 4@)
                Actor.RemoveReferences(1@)
                Model.Destroy(5@) 
                04EF: release_animation "MEDIC"
                03BF: set_player $PLAYER_CHAR ignored_by_everyone 0
                01F7: set_player $PLAYER_CHAR ignored_by_cops 0
                Player.CanMove($PLAYER_CHAR) = true 
            end
        end
    end
end

Offline

#583 08-08-2008 21:36

Yarik
Registered: 22-02-2008
Posts: 173
Website

Re: Один вопрос

@listener я что-то не понял, ты о чем? blush

Offline

#584 08-08-2008 21:51

listener
From: Vice City
Registered: 09-11-2006
Posts: 616
Website

Re: Один вопрос

О получении номера модели (чего угодно, в т.ч. педа) по указателю на объект.

Вообще, если полезу снова в SA - посмотрю, как медики работают wink

Offline

#585 08-08-2008 22:42

Yarik
Registered: 22-02-2008
Posts: 173
Website

Re: Один вопрос

А опкод 0665? smile

Вообще, если полезу снова в SA - посмотрю, как медики работают

Будет хорошо clap
И еще б, как пожарка гасит огонь grin

Offline

#586 09-08-2008 07:15

Fess
Registered: 29-04-2008
Posts: 62

Re: Один вопрос

А опкод 0665? smile

Делает тоже самое:

.text:00494844     ; __linkproc__ opcode_0665
.text:00494844     @@opcode_0665:                          ; CODE XREF: _opcode_handler_16+37j
.text:00494844                                             ; DATA XREF: .text:__linkproc__ opcode_tableo
.text:00494844 0F8                 push    1               ; get_actor %1d% model_to %2d%
.text:00494846 0FC                 mov     ecx, esi
.text:00494848 0FC                 call    CScriptThread__getNumberParams
.text:0049484D 0F8                 mov     ecx, _opcodeParameters
.text:00494853 0F8                 push    ecx             ; int
.text:00494854 0FC                 mov     ecx, _PedPool
.text:0049485A
.text:0049485A     loc_49485A:                             ; CPed * CPool<CPed>::atHandle (u32 h);
.text:0049485A 0FC                 call    CPool_CPed__atHandle
.text:0049485F 0F8                 movsx   edx, word ptr [eax+22h]
.text:00494863 0F8                 jmp     loc_495DCE

или как сказал listener прочитать из поля modelId:

0A96: 5@ = actor 1@ struct
5@ += 0x22
0A8D: 5@ = read_memory 5@ size 2 virtual_protect 0

Offline

#587 09-08-2008 09:27

flashTrash
From: Н.Новгород
Registered: 21-02-2007
Posts: 260
Website

Re: Один вопрос

@listener
А не знаешь, случайно, что происходит с авто, когда выключаешь двигатель опкодом 02D4? И можно ли сделать машину управляемой после этого(без входа-выхода из авто)

И хранится ли где-то в структуре авто состояние фар(вкл\выкл)?

Offline

#588 09-08-2008 11:24

Fess
Registered: 29-04-2008
Posts: 62

Re: Один вопрос

И можно ли сделать машину управляемой после этого(без входа-выхода из авто)

Тупо, не учитывая флаги:

03C0: 0@ = actor $PLAYER_ACTOR car
0A97: 1@ = car 0@ struct
0085: 2@ = 1@ // (int) 
0085: 3@ = 1@ // (int) 
2@ += 0x36
3@ += 0x428
0A8C: write_memory 2@ size 1 value 2 virtual_protect 0
0A8C: write_memory 3@ size 1 value 16 virtual_protect 0

Offline

#589 09-08-2008 20:31

flashTrash
From: Н.Новгород
Registered: 21-02-2007
Posts: 260
Website

Re: Один вопрос

@Fess
Спасибо:^

Offline

#590 12-08-2008 15:50

Smallville
From: Саратов
Registered: 12-08-2008
Posts: 1

Re: Один вопрос

Подскажите как сделать.
00F3:   actor $PLAYER_ACTOR near_actor 15@ radius 2.0 2.0 0 on_foot

Как сделать так чтобы вместо 15@ определялись Модели Коповских Петов???

Offline

#591 12-08-2008 16:44

flashTrash
From: Н.Новгород
Registered: 21-02-2007
Posts: 260
Website

Re: Один вопрос

эмм. вопрос не совсем по скриптингу... вернее совсем не по скриптингу... Как использовать в Санни билдере нужный мне шрифт? И почему он(СБ) одни шрифты видит, а другие нет?
P.S. все шрифты установленны как обычно в папке windows\fonts , и система их видит

Edit

Интересно зачем тебе шрифты менять...

Затем, что привык к другому шрифту smile

Last edited by flashTrash (12-08-2008 20:07)

Offline

#592 12-08-2008 19:38

3Doomer
From: КаZан
Registered: 14-05-2008
Posts: 659
Website

Re: Один вопрос

Интересно зачем тебе шрифты менять..........


У мя свой вопрос:

Присвоил $PLAYER_ACTOR анимацию, всё нормально
Переместил его через put_actor а анимация сбросилась
Нельзя ли этого избежать?

Я делаю летающего человека а способ перемещения через put, ибо самый быстрый и простой


GIMS developer

Offline

#593 13-08-2008 01:50

Seemann
Registered: 07-08-2006
Posts: 2,155

Re: Один вопрос

И почему он(СБ) одни шрифты видит, а другие нет?

он "видит" и может использовать только моноширинные шрифты.

Offline

#594 13-08-2008 08:03

flashTrash
From: Н.Новгород
Registered: 21-02-2007
Posts: 260
Website

Re: Один вопрос

Seemann, спасибо!

Offline

#595 16-08-2008 13:34

Stallion
Registered: 15-08-2008
Posts: 5

Re: Один вопрос

Здравствуйте уважаемые скриптеры!
У меня вопрос:
Как можно выводить на экран изображения? Дело в том, что перед началом моих миссий я хочу вставить ленты комиксов. В справке Sanny Builder 3.03 я такого скрипта не нашел. Помогите кто чем сможет, заранее спасибо!

Offline

#596 16-08-2008 14:20

Centrino Duo
Registered: 08-05-2008
Posts: 99

Re: Один вопрос

Можна грузить тока с  .txd файлов.В справке ес

Offline

#597 19-08-2008 13:28

Admiral
Registered: 26-07-2007
Posts: 35

Re: Один вопрос

Нашёл клео-скрипт, компилировал его а он не работает подскажите почему

:OXPAHA
   not Model.Available(#CELLPHONE)
else_jump @OXPAHA_35  
Model.Load(#CELLPHONE)
wait 0 
jump @OXPAHA 

:OXPAHA_35
wait 100 
   Player.Defined($PLAYER_CHAR)
else_jump @OXPAHA_35 
if and
   not Actor.Driving($PLAYER_ACTOR)
00E1:   player 0 pressed_key 10 
00E1:   player 0 pressed_key 16 
else_jump @OXPAHA_35 
   Player.Money($PLAYER_CHAR) > 999
else_jump @OXPAHA_1403 
Player.CanMove($PLAYER_CHAR) = False
0729: AS_actor $PLAYER_ACTOR hold_cellphone 1 
wait 2500 
054C: use_GXT_table 'TRU1' 
00BC: show_text_highpriority GXT 'TRU1@01' time 2000 flag 1  // ~z~Подбирайте свой вариант текста!
wait 2100 
054C: use_GXT_table 'TRU1' 
00BB: show_text_lowpriority GXT 'TRU1@02' time 2000 flag 1  // ~z~Подбирайте свой вариант текста!
wait 1500 
0729: AS_actor $PLAYER_ACTOR hold_cellphone 0 
Player.CanMove($PLAYER_CHAR) = True
Model.Destroy(#CELLPHONE)
wait 0 
023C: load_special_actor 'TBONE' as 1 // models 290-299 
Model.Load(#AK47)
Model.Load(#MESA)
038B: load_requested_models 

:OXPAHA_225
wait 100 
if and
   Model.Available(#AK47)
   Model.Available(#MESA)
else_jump @OXPAHA_225 
023D:   special_actor 1 loaded 
else_jump @OXPAHA_225 

:OXPAHA_261
wait 0 
0208: 0@ = random_float_in_ranges -70.0 70.0 
0208: 1@ = random_float_in_ranges -70.0 70.0 
   not Actor.Dead($PLAYER_ACTOR)
else_jump @OXPAHA_1351 
wait 500 
04C4: store_coords 2@ 3@ 4@ from_actor $PLAYER_ACTOR with_offset 0@ 1@ 0 
02C1: store_to 21@ 22@ 23@ car_path_coords_closest_to 2@ 3@ 4@ 
80EC:   not actor $PLAYER_ACTOR 0 near_point 21@ 22@ radius 20.0 20.0 
else_jump @OXPAHA_261 
wait 100 
0395: clear_area 1 at 21@ 22@ 23@ radius 5.0 
04C4: store_coords 10@ 8@ 7@ from_actor $PLAYER_ACTOR with_offset 0.1 0.1 15.37 
5@ = Car.Create(#MESA, 21@, 22@, 23@)
0594: unknown_car 5@ flag 0 
Car.Health(5@) = 3000
0423: set_car 5@ improved_handling_to 1.5 // (float) 
00AE: set_car 5@ traffic_behavior_to 2 
06ED: set_car 5@ paintjob 0 
0229: set_car 5@ primary_color_to 14 secondary_color_to 14 
Car.SetMaxSpeed(5@, 35.0)
072F: unknown 5@ 1.0 2000 1 1 1 -1 
04C4: store_coords 2@ 3@ 4@ from_actor $PLAYER_ACTOR with_offset 0 5.0 0 
0129: 6@ = create_actor_pedtype 19 model #SPECIAL01 in_car 5@ driverseat 
0337: toggle_actor 6@ visibility 64 
0350: toggle_actor 6@ maintain_position_when_attacked 1 
0568: toggle_actor 6@ targetable 1 
0446: toggle_actor 6@ immune_to_headshots 0 
07FE: set_actor 6@ fighting_style_to 16 6 
060B: set_actor 6@ decision_maker_to 65543 
0770: unknown_actor 6@ flag 1 
07DD: set_actor 6@ temper_to 100 // see pedstats.dat 
051B:   actor 6@ damaged_by_car 0 
0526: unknown_actor 6@ flag 1 
0433: toggle_actor 6@ criminal_flag 1 
0982: unknown_actor 6@ flag 1 
01B2: give_actor 6@ weapon 30 ammo 6000 // Load the weapon model before using this 
Actor.WeaponAccuracy(6@) = 100
Actor.Health(6@) = 500
Actor.Armour(6@) = 200
0296: unload_special_actor 1 
Model.Destroy(#AK47)
Actor.StorePos($PLAYER_ACTOR, 2@, 3@, 4@)
Car.DriveTo(5@, 2@, 3@, 4@)

:OXPAHA_726
wait 500 
01C1:   car 5@ stopped 
else_jump @OXPAHA_726 
05CD: AS_actor 6@ exit_car 5@ 
0631: put_actor 6@ in_group $PLAYER_GROUP 
Player.Money($PLAYER_CHAR) += -1000
20@ = Marker.CreateAboveActor(6@)

:OXPAHA_775
wait 0 
0104:   actor 6@ near_actor $PLAYER_ACTOR radius 5.0 5.0 5.0 sphere 0 
else_jump @OXPAHA_775 
Marker.Disable(20@)

:DAMAGE_816
wait 0 
if and
   not Actor.Dead(6@)
   not Actor.Dead($PLAYER_ACTOR)
else_jump @DAMAGE_1295 
wait 0 
0104:   actor 6@ near_actor $PLAYER_ACTOR radius 150.0 150.0 5.0 sphere 0 
else_jump @DAMAGE_1295 

:DAMAGE_884
wait 0 
   Player.Defined($PLAYER_CHAR)
else_jump @DAMAGE_884 
   Actor.Driving($PLAYER_ACTOR)
else_jump @DAMAGE_816
03C0: 9@ = actor $PLAYER_ACTOR car 

:DAMAGE_920
wait 0 
   Actor.Driving($PLAYER_ACTOR)
else_jump @DAMAGE_1269 
0407: store_coords_to 14@ 15@ 16@ from_car 9@ with_offset 10.0 10.0 0 
0407: store_coords_to 17@ 18@ 19@ from_car 9@ with_offset -10.0 0 -3.0 
053E: 8@ = get_random_car_with_actors -1 in_rectangle_cornerA 14@ 15@ cornerB 17@ 18@ 
wait 0 
   Actor.Driving($PLAYER_ACTOR)
else_jump @DAMAGE_1269 
056E:   car 8@ defined 
else_jump @DAMAGE_920 
046C: 7@ = car 8@ driver 
jump @DAMAGE_1050 

:DAMAGE_1050
wait 0 
if and
   Actor.Driving($PLAYER_ACTOR)
056D:   actor 7@ defined 
else_jump @DAMAGE_1269 
0407: store_coords_to $101 $102 $103 from_car 8@ with_offset -10.0 0 -3.0 
0407: store_coords_to $104 $105 $106 from_car 8@ with_offset 10.0 10.0 0 
00A4:   actor $PLAYER_ACTOR sphere 0 in_cube_cornerA $101 $102 $103 cornerB $104 $105 $106 
else_jump @DAMAGE_1269 
0208: 13@ = random_float_in_ranges -10.0 10.0 
0208: 12@ = random_float_in_ranges -10.0 10.0 
0208: 11@ = random_float_in_ranges -10.0 10.0 
wait 0 
080E: get_actor 7@ ped_event_to 10@ 
  10@ == 73 
else_jump @DAMAGE_816 
0713: unknown_action_sequence 6@ -1 8@ 0.0 0.0 0.0 100.0 8 1 90 
jump @DAMAGE_816 

:DAMAGE_1269
wait 0 
Car.RemoveReferences(9@)
Car.RemoveReferences(8@)
Actor.RemoveReferences(7@)
jump @DAMAGE_816 

:DAMAGE_1295
Actor.RemoveReferences(6@)
Car.RemoveReferences(5@)
jump @OXPAHA 

:OXPAHA_1322
wait 250 
   Player.Defined($PLAYER_CHAR)
else_jump @OXPAHA_1322 
   not Actor.Dead(6@)
else_jump @OXPAHA_1379 

:OXPAHA_1351
wait 250 
if or
   Actor.Dead($PLAYER_ACTOR)
   Actor.Dead(6@)
wasted_or_busted 
else_jump @OXPAHA_1351 

:OXPAHA_1379
Actor.RemoveReferences(6@)
Car.RemoveReferences(5@)
wait 6000 
jump @OXPAHA 

:OXPAHA_1403
wait 0 
054C: use_GXT_table 'ZERO2' 
00BC: show_text_highpriority GXT 'IE07' time 1000 flag 1  // ~r~“ BAC HEЂOCTATO4HO ЂEHE†!
jump @OXPAHA

Last edited by Admiral (19-08-2008 13:29)


Моды -   вот что украшает игру!

Offline

#598 21-08-2008 11:51

flashTrash
From: Н.Новгород
Registered: 21-02-2007
Posts: 260
Website

Re: Один вопрос

Можно ли как то преобразовать стринговое значение в лонг-стринговое? Тоесть сделать из 'MAIN' "MAIN" ?

Offline

#599 21-08-2008 15:45

Seemann
Registered: 07-08-2006
Posts: 2,155

Offline

#600 21-08-2008 17:22

flashTrash
From: Н.Новгород
Registered: 21-02-2007
Posts: 260
Website

Re: Один вопрос

@Seemann
Я решил написать новый скрипт бензомода, и хочу чтобы у каждого авто был свой объём бензобака, который будет записан в .ini-файле, а для этого я использую Quick Opcode Alexander'а, так как по другому не умею работать с .ini sad . А QO работает только с 0@v и не в какую не хочет работать с 0@s.
Конечно можно выкрутиться, но мне интересно - можно или нет.

Offline

Board footer

Powered by FluxBB