You are not logged in.
Pages: 1
Все здарова, тут такой не оч приятный трабл - конерчу вайсовские миссии стадиона на сан для мода и обнаружил одну досадную шнягу..причем ни как не сязаную с конвертом.
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
Last edited by MIXAZZZ (24-01-2008 11:37)
Offline
1-е) Никогда не пиши название мода в топике.
2-е) Ты создаешь маркер и не проверяешь есть ли он на самом деле. Это проверяется 075C: $markers[$par] enabled
3-е) Где ты скриптишь? main или cleo. B CLEO могут неккоректно работать глобальные переменные.
4-е) Возможно корона слишком мала или же ты что-то спутал с RGB.
Last edited by Agenzvell (24-01-2008 01:29)
Offline
Попробуй опкодом 06D5 с типами 3 или 4.
06D5: 449@ = create_racing_checkpoint_at $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 point_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 type 205@ radius 6.0
Первый элемент массивы должен быть с индексом 0:
$corona_X[0] = -1388.63 $corona_Y[0] = 1486.48 $corona_Z[0] = 305.919 $corona_X[1] = -1437.12 $corona_Y[1] = 1434.81 $corona_Z[1] = 315.836 $corona_X[2] = -1417.71 $corona_Y[2] = 1544.8 $corona_Z[2] = 302.693
Offline
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 - кодировка в байтах (красный цвет) все норм! код создания правильный...проверял по списку опкодов из по стандартному меину сана.
Кто нить у себя проверьте еще...мож это один из багов санибилдера и он компилит с ошибкой .
Offline
2)тупость!
Ты создаешь маркер и не проверяешь есть ли он на самом деле. Это проверяется 075C:
маркеры работают НОРМ! нету корон....читай внимательно!
Ошибка выйдет рано или поздно.
Ты представил только кусок кода, может в остальном коде ошибка.
Offline
а смысл весь код? остальное все ранво никак не влияет на создание корон.
Лишь бы сказать , потому что не знаем что ответить.
//-------------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
Last edited by MIXAZZZ (24-01-2008 13:14)
Offline
2MIXAZZZ:
Корона должна постоянно создаваться, т.е. используй опкод в цикле:
while true wait 0 024F: create_corona_with_radius 1.5 type 0 lensflares 0 with_color 255 0 0 at 2488.56 -1666.84 18.38 end
Offline
если в родных скриптах миссии 'KIKSTA' сана все кароны создаются 1 раз циклом
В оригинальной миссии короны создаться вот здесь (KICKSTA_7904):
:KICKSTA_8084 024F: create_corona_with_radius 249@ type 0 lensflares 0 with_color 250@ 251@ 252@ at 50@(253@,33f) 83@(253@,33f) 116@(253@,33f) if 00FE: actor $PLAYER_ACTOR sphere 0 in_sphere 50@(253@,33f) 83@(253@,33f) 116@(253@,33f) radius 1.5 1.5 1.5 else_jump @KICKSTA_8425
тут сразу идет проверка, находиться ли игрок около короны или нет.
если просто открвть меин родной и снова скомпилить его санни корон уже нет
У меня все работает и короны создаються.
Last edited by Sanchez (25-01-2008 11:39)
Offline
странно
я вообще думаю что короны создаются этим циклом
: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
Offline
я вообще думаю что короны создаются этим циклом
Без этого куска миссия прекрасно работает, он вообще там не нужен, смотри на координаты.
Offline
Pages: 1