#776 30-12-2008 08:58

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

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

Я думаю, что программистам пора бы приступать к написанию понятного туториала по LUA скриптингу grin
На форумсах уже первые скриптовые моды вышли)))


GIMS developer

Offline

#777 06-01-2009 20:07

gooser
Registered: 06-01-2009
Posts: 17

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

1)где взять самый полный SASCM.INI ?
2)почему в санни билдере в консоли не работает toggle IGNORE_UNKNOWN ? показывает enabled но в реале отключен
3)как создавать экранные текстуры ?

PS прикольнуло что тема с названием  "Один вопрос" растянулась на 32 страницы:D

Last edited by gooser (06-01-2009 20:28)

Offline

#778 06-01-2009 21:07

Alien
Registered: 12-10-2008
Posts: 564

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

1)а он вроде единственный... Его менять нельзя.

2)там надо еще включить toggle scip_scm_header
6134004200a9.jpg

3)создать txd архив текстур, загрузить его в скрипте

0390: load_txd_dictionary 'LD_BEAT'

(путь указывается относительно папки models\txd)
загрузить определенную текстру и присвоить ей номер

038F: load_texture "DOWN" as 1 // Load dictionary with 0390 first

потом вот это (хз зачем... Наверное, лесенку на наклонных поверхностях убирает)

03E3: set_texture_to_be_drawn_antialiased 1

Нарисовать текстуру на экране по присвенному номеру

074B: draw_texture 20 position 428@ 429@ scale 430@ 431@ angle $TEMPVAR_ANGLE color_RGBA 220 220 220 404@

Параметры:
1 - номер текстуры по 038F
2,3 - указание левого верхнего угла в пикселах по осям X,Y(ось Y "перевернута", левый верхний угол экрана - точка с координатами (0,0))
4,5 - кажется, масштабирование по осям X,Y, проверь на практике
6 - угол поворота против часовой стрелки
7,8,9 цвет RGB (можно посмотреть в паинте - красный, зеленый, голубой)
10 - интенсивность альфаканала, определяет прозрачность

Там все популярно

Last edited by Alien (06-01-2009 21:10)

Offline

#779 06-01-2009 21:19

gooser
Registered: 06-01-2009
Posts: 17

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

текстура появляется на секунду и потом сразу исчезает , почуму?

Offline

#780 06-01-2009 21:40

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

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

в 1 из скриптов стоит enable_text_draw_0 в цикле, он очищает экран от текстур


GIMS developer

Offline

#781 07-01-2009 04:50

VcSaJen
Registered: 25-08-2006
Posts: 217

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

@gooser - прочти статью gtamodding.ru:Рисование на экране

[---]

Edit: Ой, Alien уже оказывается дал ссылку smile.

Last edited by VcSaJen (07-01-2009 04:52)


[small][/small]

Offline

#782 07-01-2009 13:39

gooser
Registered: 06-01-2009
Posts: 17

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

2 3doomer не в этом дело, на чистом мейне та же шняга

Offline

#783 07-01-2009 14:15

VcSaJen
Registered: 25-08-2006
Posts: 217

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

Почитай статью, надо в цикле с wait 0 рисовать.


[small][/small]

Offline

#784 07-01-2009 14:23

gooser
Registered: 06-01-2009
Posts: 17

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

нда жаль а то мне как раз надо в цикле но хотя бы с wait 10 -текстура моргает,
ну ладно как нить обойдусь
УРА c войт 1 всё работает=)

Last edited by gooser (07-01-2009 14:29)

Offline

#785 18-01-2009 17:41

Alien
Registered: 12-10-2008
Posts: 564

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

Вот так вот все работает

0928: init_external_script_trigger 8 (MILITIA) with_actor_model #BFYST priority 100 
08E8: assign_external_script_handle 'MILITIA' to_model #BFYST

А вот так - нет

for 2@ = 7 to 288
if and
not 2@ == 42 
not 2@ == 8 
not 2@ == 65 
not 2@ == 74 
not 2@ == 86 
then
if and
not 2@ == 265
not 2@ == 266
not 2@ == 267
not 2@ == 268
not 2@ == 269
not 2@ == 270
not 2@ == 271
not 2@ == 272
not 2@ == 273
then
0928: init_external_script_trigger 8 (MILITIA) with_actor_model 2@ priority 100 
08E8: assign_external_script_handle 'MILITIA' to_model 2@ 
end
end
end

Это связано с лимитом на количество одновременно запущенных внешних скриптов?

Last edited by Alien (18-01-2009 17:43)

Offline

#786 18-01-2009 18:19

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

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

Этих триггеров, если мне не изменяет память, может быть всего 35 для актеров и 35 для объектов.

Offline

#787 18-01-2009 20:16

Alien
Registered: 12-10-2008
Posts: 564

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

жалко... Хотелось по-простому заставить выполнять всех педов определенные действия...

Offline

#788 29-01-2009 15:28

maximuch
Registered: 15-04-2008
Posts: 1

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

Господа. Пожалуйста. Помогите найти ответ на вопрос.

Как сделать, чтобы машины разъезжались от тачки не только от коповской например при нажатии
клавиши?

Offline

#789 14-02-2009 03:45

GTASA
Registered: 13-09-2008
Posts: 476

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

Здравствуйте, можно ли создать кровь? Будто бы убили педа, тело исчезло, знаете ведь, что кровь остается, так вот как ее можно "налить" на землю?
Можно ли также сделать на земле эффект, будто только что взорвалась граната и остался след? Как этот след можно сотворить?

Offline

#790 16-02-2009 15:10

Check22
Registered: 16-02-2009
Posts: 1

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

Люди подскажите как можно поставить управление второму игроку??? Каким-нить опкодом может? Чё та я так разобраться не смог. У меня второй игрок появляется только в миссий и плюс его худ (HUD), управление норм, камеры в норме. Потом я замутил чтобы игра сразу появлялась вместе со вторым челом, НО управление не работает, т.е. Игрок2 управляется вместе с Игроком1. Как исправить проблему???

Offline

#791 18-02-2009 17:47

Sw[ee]t
From: Нижний Новгород
Registered: 16-02-2009
Posts: 686
Website

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

У меня вопрос, что за опкод такой: 04F8: define_police_trigger_type 2 if_player_with_wanted_level_in_rectangle -1506.0 2616.0 -1486.0 2625.0 spawn_policeA_at -1470.0 2604.0 headed_towards -1496.0 2604.0 spawn_policeB_at -1470.0 2604.0 headed_towards -1496.0 2604.0
(нашёл в оригинальном мэйне) и за что отвечает?

Offline

#792 18-02-2009 19:26

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

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

У меня вопрос, что за опкод такой: 04F8: define_police_trigger_type 2 if_player_with_wanted_level_in_rectangle -1506.0 2616.0 -1486.0 2625.0 spawn_policeA_at -1470.0 2604.0 headed_towards -1496.0 2604.0 spawn_policeB_at -1470.0 2604.0 headed_towards -1496.0 2604.0
(нашёл в оригинальном мэйне) и за что отвечает?

Ну, судя по описанию он регулирует активность копов, если у игрока есть звездочки и он находится в заданном месте, и так же создает их по прописанным координатамам, что бы игрок не остался безнаказанным. На пример используется, когда заходишь в полицейский участок со звездами розыска.


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

Offline

#793 18-02-2009 20:05

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

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

Этот опкод создает специальную область на карте, где будут появляться машины копов и пытаться перегородить вам дорогу, когда вы пытаетесь скрыться. Замечали наверно, что иногда вам наперерез выезжают копы из-за подворотни, вот этот опкод как раз это и создает

Здесь поподробнее
http://www.gtaforums.com/index.php?show … 1057374595

Offline

#794 20-02-2009 13:25

Sw[ee]t
From: Нижний Новгород
Registered: 16-02-2009
Posts: 686
Website

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

Нашёл интерьер который давно искал, попутно сделал миссию с ним, но на стадии теста возникла ошибка: если выйти из машины, и немного возле неё постоять то игра вылетает.
Вот код для рассмотрения:

DEFINE OBJECTS 0
DEFINE MISSIONS 1 
DEFINE MISSION 0 at @MyMission 
DEFINE EXTERNAL_SCRIPTS -1 // Use -1 to not write AAA script 
DEFINE UNKNOWN_EMPTY_SEGMENT 0 
DEFINE UNKNOWN_THREADS_MEMORY 0 

// -------------------- 
// THE STRIPPED MAIN THREAD 
// contains initial info 
// -------------------- 
thread 'Main' 
var 
$PLAYER_CHAR: Player 
end // var 
01F0: set_max_wanted_level_to 6 
set_wb_check_to 0 
00C0: set_current_time 8 0 
04E4: unknown_refresh_game_renderer_at 2488.5601 -1666.84 
Camera.SetAtPos(2488.5601, -1666.84, 13.38) 
$PLAYER_CHAR = Player.Create(#NULL, 2488.5601, -1666.84, 13.38) 
$PLAYER_ACTOR = Actor.EmulateFromPlayer($PLAYER_CHAR) 
Camera.SetBehindPlayer 
set_weather 0 
wait 0 ms 
$PLAYER_CHAR.SetClothes("PLAYER_FACE", "HEAD", Head) 
$PLAYER_CHAR.SetClothes("JEANSDENIM", "JEANS", Legs) 
$PLAYER_CHAR.SetClothes("SNEAKERBINCBLK", "SNEAKER", Shoes) 
$PLAYER_CHAR.SetClothes("VEST", "VEST", Torso) 
$PLAYER_CHAR.Build 
$PLAYER_CHAR.CanMove = True 
fade 1 (out) 0 ms 
select_interior 0 
0629: change_stat 181 (islands unlocked) to 4 
016C: restart_if_wasted at 2027.77 -1420.52 15.99 angle 137.0 unknown 0 
016D: restart_if_busted at 1550.68 -1675.49 14.51 angle 90.0 unknown 0 
// put your create_thread commands here 

create_thread @MyTrigger 
end_thread 

// put your mission mods here 

:MyTrigger 
thread "MyTrigger" 
$TrigMarker = Marker.CreateIconAndSphere(15, 2489.0591, -1682.2808, 13.3358) 
while $MyMission_Passed == 0 
wait 250 
if Player.Defined($PLAYER_CHAR) 
  then 
    if $ONMISSION == 0 // integer values 
     then 
       if 00FF: actor $PLAYER_ACTOR 0 2489.0591 -1682.2808 13.3358 radius 1.0 1.0 2.0 
        then 
          if Player.Controllable($PLAYER_CHAR) 
           then 
        $ONMISSION = 1 // integer values 
        00BA: text_styled 'INTRO_1' 1000 ms 2 // Big Smoke 
        Marker.Disable($TrigMarker) 
           start_mission MyMission 
          end // if1 
       end // if2 
    end // if3 
  end // if4 
end // while 
end_thread

:MyMission
thread "MYMISSION"
model.Load(#GANGRL3)
model.Load(#ADMIRAL)
038B: load_requested_models

:MyMission1a
wait 0
if and
  not model.Available(#GANGRL3)
  not model.Available(#ADMIRAL)
jf @MyMission2a
jump @MyMission1a

:MyMission2a
wait 0
fade 0 1000
wait 1000
// èíòåðüåð: 1 êîîðäèíàòû: 447.3981 -18.5233 1001.1328
$X_GIRLFRIEND_POS = 457.1727
$Y_GIRLFRIEND_POS = -17.821
$Z_GIRLFRIEND_POS = 1001.1328
$ANGLE[0] = 90.1988 
$X_CJ_POS = 456.7584
$Y_CJ_POS = -19.1786
$Z_CJ_POS = 1001.1328
$ANGLE[1] = 90.1988
$X_CAR_POS = 2402.4888
$Y_CAR_POS = -1728.8806
$Z_CAR_POS = 13.3828
$ANGLE[2] = 86.6258
$X_DESTINATION_POS = 2497.6733
$Y_DESTINATION_POS = -1499.7791
$Z_DESTINATION_POS = 23.8281
$GIRLFRIEND_CAR = Car.Create(#ADMIRAL,$X_CAR_POS,$Y_CAR_POS,$Z_CAR_POS)
Car.Angle($GIRLFRIEND_CAR) = $ANGLE[2]
01C8: $GIRLFRIEND = create_actor_pedtype 11 model #GANGRL3 in_car $GIRLFRIEND_CAR passenger_seat 0
marker.CreateAboveCar($61,$GIRLFRIEND_CAR)
07E0: set_marker $61 type_to 1
Actor.PutAt($PLAYER_ACTOR,2401.0566, -1720.5603, 13.6122)
wait 1000
fade 1 1000

:MyMission3a
wait 0 ms
if
  Actor.InCar($PLAYER_ACTOR,$GIRLFRIEND_CAR)
jf @MyMission3a
Marker.Disable($118)
if
  NOT car.Wrecked($GIRLFRIEND_CAR)
jf @MyMission_FAILED_a
if
  NOT actor.Dead($GIRLFRIEND)
jf @MyMission_FAILED_b
Marker.Disable($61)
$86 = Marker.CreateIconAndSphere(0,$X_DESTINATION_POS,$Y_DESTINATION_POS,$Z_DESTINATION_POS)
Marker.SetIconSize($86,3)

:MyMission4a
wait 0 ms
if
  NOT car.Wrecked($GIRLFRIEND_CAR)
jf @MyMission_FAILED_aa
if
  NOT actor.dead($GIRLFRIEND)
jf @MyMission_FAILED_bb
if
  Actor.InCar($PLAYER_ACTOR,$GIRLFRIEND_CAR)
jf @MyMission_AT
Marker.Disable($118)
if
  01AD: car $GIRLFRIEND_CAR sphere 0 near_point $X_DESTINATION_POS $Y_DESTINATION_POS $Z_DESTINATION_POS radius 0.5 0.5
jf @MyMission4a
fade 0 100
wait 1000
Marker.Disable($86)
Player.CanMove($PLAYER_CHAR) = False
wait 1000
fade 1 1000
end_thread

:MyMission_FAILED_a
054C: use_GXT_table 'SYN3'
00BA: text_styled 'M_FAIL' 5000 ms 1 // ~r~MISSION FAILED!  
00BC: show_text_highpriority GXT 'SYN3_19' time 4000 flag 0  // ~r~MAWNHA YHN4TOGEHA!
Actor.RemoveReferences($GIRLFRIEND)
marker.disable($61)
gosub @MyTrigger

:MyMission_FAILED_b
00BC: show_text_highpriority GXT 'GF_0039' time 4000 flag 0
Actor.RemoveReferences($GIRLFRIEND)
gosub @MyTrigger

:MyMission_FAILED_aa
054C: use_GXT_table 'SYN3'
00BA: text_styled 'M_FAIL' 5000 ms 1 // ~r~MISSION FAILED!  
00BC: show_text_highpriority GXT 'SYN3_19' time 4000 flag 0  // ~r~MAWNHA YHN4TOGEHA!
Actor.RemoveReferences($GIRLFRIEND)
marker.disable($61)
marker.Disable($118)
gosub @MyTrigger
 
:MyMission_FAILED_bb
00BC: show_text_highpriority GXT 'GF_0039' time 4000 flag 0
Marker.Disable($86)
Marker.Disable($118)
Actor.RemoveReferences($GIRLFRIEND)
gosub @MyTrigger

:MyMission_AT
054C: use_GXT_table 'SWEET3' 
00BC: show_text_highpriority GXT 'SMOX_AC' time 3000 flag 1  // ~z~CADNCJ B MAWNHY!
$118 = Marker.CreateAboveCar($GIRLFRIEND_CAR)
07E0: set_marker $118 type_to 1
gosub @MyMission4a

Что тут неправильно?

Offline

#795 20-02-2009 14:38

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

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

У тебя несколько грубых ошибок в конце с gosub. Во-первых, нельзя переходить из миссий на код в майне (gosub @MyTrigger), во-вторых у тебя файл заканчивается @MyMission4a, т.е. код этот код выполнится, игра должна перейти на следующую после gosub строку - а там ничего, файл заканчивается. Будет ошибка. В общем пересмотри структуру миссии, замени gosub на jump.

Offline

#796 20-02-2009 14:44

Sw[ee]t
From: Нижний Новгород
Registered: 16-02-2009
Posts: 686
Website

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

спасибо за ответ, постараюсь переделать и учту ошибки

Offline

#797 23-02-2009 11:35

GTASA
Registered: 13-09-2008
Posts: 476

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

Хочу спросить как сделать, чтобы вечно было определенное время, например 09:00?

Offline

#798 23-02-2009 12:42

Alien
Registered: 12-10-2008
Posts: 564

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

{$CLEO}
0A8C: write_memory 0x969167 size 1 value 1 virtual_protect 0
00C0: set_current_time_hours_to 9 minutes_to 0 
0A93: end_custom_thread

Offline

#799 23-02-2009 20:56

GTASA
Registered: 13-09-2008
Posts: 476

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

Спсибо вам за вашу помощь! У меня еще вопрос: почему некоторые надписи, которые прямо из GXT не отображаются в таблице? (Я их ищу в папке СБ GXT Strings и файл GTASA). Могу привести пример таких слов, почему они не отображаются? И как это исправить?

Offline

#800 24-02-2009 04:35

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

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

Большинство строк не загружено постоянно в память. Только те, что в секции MAIN, всегда доступны. Чтобы использовать остальные, например, которые используются в миссиях, нужно сначала подгрузить их опкодом 054C: use_GXT_table 'XXXX', где XXXX название секции.

Offline

Board footer

Powered by FluxBB