#1 Re: Вопросы по скриптингу » Вопросы по опкодам » 10-03-2009 01:47

народ, по поводу опкода 034E:
этот черт двигает объект только в одном направлении,
допустим я делаю двери лифта, цикл в вайле как выше, у меня двери раздвигаются (открываются) по X, но и по идее значение движения по X одной из дверей должно быть отрицательно, ну он сцук двигает всегда положительно, поэтому одна дверь открывается , вторая на на ее место двигается, и так до бесконечности,тк она не может достичь нужныж ей координат (при открытой двери они меньши, а опкод увеличивает их, игронит отрицание в speed по полной), мож кто че посоветует?
и чего вообще флаг контроирует? его изменение на 1 ничем не помогло.

вот кусок рабочего кода

while true
    wait 0
    034E: move_object $ObjectLEFTDoor to 2134.714 $Lift_LeftDoorPointy $LiftPointDownZ speed 0.05 0.0 0.0 flag 0
    034E: move_object $ObjectRIGHTDoor to 2132.535 $Lift_LeftDoorPointy $LiftPointDownZ speed -0.05 0.0 0.0 flag 0
end

#2 Re: Серия GTA » GTA IV » 29-04-2008 16:40

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

#3 Re: Серия GTA » GTA IV » 29-04-2008 06:42

Сегодня как бы уже 29 , есть ли уже какие небудь тулы?
Впрочем больше всего меня интересует тула для открытия нового формата img

#4 Re: Вопросы по скриптингу » трабл...кароны не работают » 26-01-2008 14:00

странно

я вообще думаю что короны создаются этим циклом

:KICKSTA_2051
if 
  33 > 256@ // integer values 
jf @KICKSTA_2300 
if 
  215@(256@,33i) == 0 // integer values 
jf @KICKSTA_2113 
250@ = 0 // integer values 
251@ = 255 // integer values 
252@ = 0 // integer values 

:KICKSTA_2113
if 
  215@(256@,33i) == 1 // integer values 
jf @KICKSTA_2158 
250@ = 255 // integer values 
251@ = 150 // integer values 
252@ = 0 // integer values 

:KICKSTA_2158
if 
  215@(256@,33i) == 2 // integer values 
jf @KICKSTA_2202 
250@ = 255 // integer values 
251@ = 0 // integer values 
252@ = 0 // integer values 

:KICKSTA_2202
024F: create_corona 249@ 0 0 with_color 250@ 251@ 252@ at_point 50@(256@,33f) 50@(256@,33f) 50@(256@,33f) 
0167: 149@(256@,33i) = create_marker_at 50@(256@,33f) 50@(256@,33f) 50@(256@,33f) 0 2 
Marker.SetIconSize(149@(256@,33i), 1)
256@ += 1 // integer values 
jump @KICKSTA_2051

а инициализация их положения идет в выше написанных строках вида

:KICKSTA_130
$8250 = 0 // integer values 
$8256 = 240000 // integer values 
$8254 = 30000 // integer values 
50@ = -1376.437 // floating-point values 
83@ = 1562.29 // floating-point values 
116@ = 1059.0 // floating-point values 
182@ = 0 // integer values 
215@ = 0 // integer values
...
47@ = 0 // integer values 
255@ = 0 // integer values 
wait 0 
054C: use_GXT_table 'KICKSTT' 
Player.CanMove($PLAYER_CHAR) = False
0169: set_fade_color 0 0 0 
fade 0 2000

#5 Re: Вопросы по скриптингу » трабл...кароны не работают » 25-01-2008 10:33

Почему постоянно? если в родных скриптах миссии 'KIKSTA' сана все кароны создаются 1 раз циклом, только без for  и тд.если просто открвть меин родной и снова скомпилить его санни корон уже нет

#6 Re: Вопросы по скриптингу » трабл...кароны не работают » 24-01-2008 13:12

а смысл весь код? остальное все ранво никак не влияет на создание корон.
Лишь бы сказать , потому что не знаем что ответить.

//-------------mission 7------------------
//DirtRing

:KICKST
thread 'KICKST'
00C0: set_current_time 8 0 
var
$a : integer = 3
$par : integer = 1
end
var
$corona_X : array 3 of float
$corona_Y : array 3 of float
$corona_Z : array 3 of float
$markers : array 3 of integer
end
$corona_X[1] = -1388.63
$corona_Y[1] = 1486.48
$corona_Z[1] = 305.919
$corona_X[2] = -1437.12
$corona_Y[2] = 1434.81
$corona_Z[2] = 315.836
$corona_X[3] = -1417.71
$corona_Y[3] = 1544.8
$corona_Z[3] = 302.693
for $par = 1 to $a
024F: create_corona_with_radius 1.5 type 0 lensflares 0 with_color 255 0 0 at_point $corona_X[$par] $corona_Y[$par] $corona_Z[$par]
 0167: $markers[$par] = create_marker_at $corona_X[$par] $corona_Y[$par] $corona_Z[$par] flags 0 2 
 Marker.SetIconSize($markers[$par], 1)
end
select_interior 14
0860: link_actor $PLAYER_ACTOR to_interior 14
Actor.PutAt($PLAYER_ACTOR, -1388.09, 1431.56, 299.808)
04F9: interior_colors 16 0
fade 1 1000
wait 1000

:KICKST_exit
03BC: $kick_point_exit = create_sphere_at -1362.68 1463.27 299.723 radius 1.0

:KICKST_exit2
wait 0
if 
   Player.Defined($PLAYER_CHAR)
jf @KICKST_exit2
if 0
00F0:  actor $PLAYER_ACTOR 0 near_point -1362.68 1463.27 299.723 radius 1.0 1.0 stopped_on_foot
jf @KICKST_exit2
03BD: destroy_sphere $kick_point_exit
fade 0 1000
wait 1000
$ONMISSION = 0
$DIRTRING_ACTIVE = 0
for $par = 1 to $a
 06D6: delete_racing_checkpoint $markers[$par]
end
select_interior 0
0860: link_actor $PLAYER_ACTOR to_interior 0
Actor.PutAt($PLAYER_ACTOR, 900.711, 380.828, 15.2495)
04FA: reset_interiorr 0 colors
fade 1 1000
wait 1000
end_thread

#7 Re: Вопросы по скриптингу » трабл...кароны не работают » 24-01-2008 11:36

1) обычный меин,код миссии
2)тупость!

Ты создаешь маркер и не проверяешь есть ли он на самом деле. Это проверяется 075C:

маркеры работают НОРМ! нету корон....читай внимательно!

А насчет create_racing_checkpoint - гоночные чекпоинты создаются норм, никаких проблем, просто они мне не нужны, короны для этой миссии нужны, как в оригинале.
3)
024F: create_corona_with_radius 1.5 type 0 lensflares 0 with_color 255 0 0 at_point $corona_X[$par] $corona_Y[$par] $corona_Z[$par]

размер короны 1.5   -  это видно

RGB все правильно 255 0 0 - кодировка в байтах (красный цвет) все норм! код создания правильный...проверял по списку опкодов из по стандартному меину сана.

Кто нить у себя проверьте еще...мож это один из багов санибилдера и он компилит с ошибкой .

#8 Вопросы по скриптингу » трабл...кароны не работают » 24-01-2008 00:18

MIXAZZZ
Replies: 10

Все здарова, тут такой не оч приятный трабл - конерчу вайсовские миссии стадиона на сан для мода и обнаружил одну досадную шнягу..причем ни как не сязаную с конвертом.
1) действия просиходят в 14 интерьере( интерьер стадиона а сане)

вот кусок кода, который циклом должен создать 3 красных короны в нужных координатах , по идее вес правльно. объявление переменных,массивов. и тд...НО...попадая на стадион корон НЕТ, хотя маркеры в нужных координатах созданы(все 3 описанные массивом => цикл и массивы работают) , причем ни это опкод не другой 04D5 не создает корон, точнее сами они может и создаются а их не видно.Причем если даже создать просто в горде (интерьер 0) корону просто с координатами вместо перменных - её также не видно! Хотя все остальные короны в игре(2dfx и прочее нормально работает)
Проверяли еще и у Александра - результат тотже...причем я тестил еще радноую миссию сана kiksta (DIRTEING) просто заново скомпиленный код также не создает видимых корон!

Вопрос стоит в том , В ЧЕМ ТРАБЛА??? может кто-то не заметил баг при создании билдера? либо я что забыл?

var
$a : integer = 3
$par : integer = 1
end
var
$corona_X : array 3 of float
$corona_Y : array 3 of float
$corona_Z : array 3 of float
$markers : array 3 of integer
end
$corona_X[1] = -1388.63
$corona_Y[1] = 1486.48
$corona_Z[1] = 305.919
$corona_X[2] = -1437.12
$corona_Y[2] = 1434.81
$corona_Z[2] = 315.836
$corona_X[3] = -1417.71
$corona_Y[3] = 1544.8
$corona_Z[3] = 302.693
for $par = 1 to $a
 024F: create_corona_with_radius 1.5 type 0 lensflares 0 with_color 255 0 0 at_point $corona_X[$par] $corona_Y[$par] $corona_Z[$par]
 0167: $markers[$par] = create_marker_at $corona_X[$par] $corona_Y[$par] $corona_Z[$par] flags 0 2 
 Marker.SetIconSize($markers[$par], 1)
end

Board footer

Powered by FluxBB