You are not logged in.
Какой программой можно определить координаты у объекта например кирпича...
Ну тоесть например машина(это объект) так как можно определить у неё координаты левой двери
~Надо уметь жить~
~1 правило хакера - не убей и не повреди без особой нужды~
Offline
2d88:
Нашёл туррет
0464: put_actor $2485 into_turret_on_car $2468 at_car_offset 0.4242 -0.0679 1.1322 position 3 angle 270.0 with_weapon 27
, а вот driveby нету...
2GTASA:
Хоть 255 255 255, нифига текстура не выводится...
Last edited by ~AquaZ~ (24-04-2010 07:15)
Offline
2 d88:
04A2: set_heli 0@ fly_to 1@ 2@ 12.0 altitude_between 12.0 and 12.0
2 all:
Почему текстура может не выводиться или выводится как серый квадрат?
Last edited by ~AquaZ~ (24-04-2010 19:01)
Offline
Учёл, что последние два параметра - высота?
Offline
Загрузил, вроде не выгружал... А можно как-нибудь проверить на загруженность?
Offline
Учёл, что последние два параметра - высота?
Ну да, вот так
04A2: set_heli 50@ fly_to 197.4164 1907.6439 17.6406 altitude_between 17.0 and 17.0
Только он не держится на этой высоте, а всё равно поднимается вверх.
Может ему мотор отключить? Только забыл какой код. Этот что ли
0ABF: set_vehicle 50@ engine_state_to 0 ?
Offline
Вот те мультик
Player.CanMove($PLAYER_CHAR, 0)
02A3: enable_widescreen 1
0AB1: @mk_car 5 params model #SEASPAR coords 200.0 2000.0 150.0 angle 0 store to 0@
0825: set_helicopter 0@ instant_rotor_start
Car.SetImmunities(0@, 1, 1, 1, 1, 1)
036A: put_actor $PLAYER_ACTOR in_car 0@
04A2: set_heli 0@ fly_to 197.4164 1907.6439 17.0 altitude_between 17.0 and 17.0
while true
if
01AD: car 0@ sphere 0 near_point 197.4164 1907.6439 radius 50.0 50.0
then
Break
end
wait 1000
end
wait 10000
02D4: car 0@ turn_off_engine
02A3: enable_widescreen 0
Player.CanMove($PLAYER_CHAR, 1)Правда надо перед выключением движка выровняться, но не стал делать.
0AB1: @mk_car 5 params model #SEASPAR coords 200.0 2000.0 150.0 angle 0 store to 0@ - команда библиотеки fastDev!
[---]
Почему здесь текстуры выводятся как серые квадраты (или вообще не выводятся)?
const //... tx_tah = 115 tx_spd = 116 tah_posX = 280.0 spd_posX = 400.0 TahSpdPosY = 350.0 TahSpdScale = 120.0 TmpVar = 0@ end :GASvis wait 100 if Player.Defined($PLAYER_CHAR) Jf @GASvis if Actor.Driving($PLAYER_ACTOR) Jf @GASvis 0390: load txd 'gas' //... Jump @Slow //... :Slow gosub @LoadCarTX 038F: request_texture 'tah90' as tx_tah 038F: request_texture 'spd270' as tx_spd 03E3: set_texture_to_be_drawn_antialiased 1 038D: draw_texture tx_tah position tah_posX TahSpdPosY scale TahSpdScale TahSpdScale colour 255 255 255 alpha 0 03E3: set_texture_to_be_drawn_antialiased 1 038D: draw_texture tx_spd position spd_posX TahSpdPosY scale TahSpdScale TahSpdScale colour 255 255 255 alpha 0 for TmpVar = 1 to 255 074B: texture tx_tah position tah_posX TahSpdPosY scale TahSpdScale TahSpdScale rotation 0 colour 255 255 255 alpha TmpVar 074B: texture tx_spd position spd_posX TahSpdPosY scale TahSpdScale TahSpdScale rotation 0 colour 255 255 255 alpha TmpVar end repeat wait 100 until not Actor.Driving($PLAYER_ACTOR) Jump @Clean :is_fast if Actor.DrivingVehicleType($PLAYER_ACTOR, #VOODOO) then 0485: return_true end 059A: return_false return :LoadCarTX //... return :Clean 0391: release txd Jump @GASvis
Last edited by ~AquaZ~ (25-04-2010 08:01)
Offline
Почему здесь текстуры выводятся как серые квадраты (или вообще не выводятся)?
Скорее всего ошибка в цикле for - в его теле не хватает опкода
03F0: enable_text_draw 1
так же проверь переменную TmpVar - там должно быть целое значение
Offline
каким опкодом можно посмотреть
1. скорость машины
2. количество эффектов в определённой зоне
и ещё чем можно наконец
1. ОПРЕДЕЛИТЬ КООРДИНАТЫ ОПРЕДЕЛЁННОЙ ТОЧКИ У ОБЪЕКТА(МАШИНЫ,АКТОРА)
~Надо уметь жить~
~1 правило хакера - не убей и не повреди без особой нужды~
Offline
1. скорость машины
Набрав в поиске опкодов "car speed", получаем то, что нужно:
02E3: 188@ = car 59@ speed
1. ОПРЕДЕЛИТЬ КООРДИНАТЫ ОПРЕДЕЛЁННОЙ ТОЧКИ У ОБЪЕКТА(МАШИНЫ,АКТОРА)
Насколько понял, нужно определить координаты в системе отсчета, связанной с объектом/машиной/актёром. Делается это опкодами из серии "store coords with offset":
0400: store_coords_to 20@ 21@ 22@ from_object 9@ with_offset 17@ 18@ 19@ 0407: store_coords_to 120@ 130@ 140@ from_car 543@ with_offset -0.337 1.566 0.657 04C4: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_actor 215@ with_offset 1.0 3.0 1.0
Offline
2flashTrash:
03E3: set_texture_to_be_drawn_antialiased 1 038D: draw_texture tx_tah position tah_posX TahSpdPosY scale TahSpdScale TahSpdScale colour 255 255 255 alpha 255 03E3: set_texture_to_be_drawn_antialiased 1 038D: draw_texture tx_spd position spd_posX TahSpdPosY scale TahSpdScale TahSpdScale colour 255 255 255 alpha 255 TmpVar = 1 for TmpVar = 1 to 255 03F0: enable_text_draw 1 074B: texture tx_tah position tah_posX TahSpdPosY scale TahSpdScale TahSpdScale rotation 0 colour 255 255 255 alpha TmpVar 074B: texture tx_spd position spd_posX TahSpdPosY scale TahSpdScale TahSpdScale rotation 0 colour 255 255 255 alpha TmpVar end
Не выводит вообще...
Offline
Насколько понял, нужно определить координаты в системе отсчета, связанной с объектом/машиной/актёром. Делается это опкодами из серии "store coords with offset":
0400: store_coords_to 20@ 21@ 22@ from_object 9@ with_offset 17@ 18@ 19@ 0407: store_coords_to 120@ 130@ 140@ from_car 543@ with_offset -0.337 1.566 0.657 04C4: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_actor 215@ with_offset 1.0 3.0 1.0
Да нет, вот например команда
0464: put_actor $2485 into_turret_on_car $2468 at_car_offset X X X position 3 angle 270.0 with_weapon 27
и там где X X X нужно определить...ну например у машины есть дверь а как у этой машины определить координаты двери...какой программой чтобы не гадать и перебирать...
кстати ща делал скрипт типа "ядерная бомба"...
И не понимаю ну что нужно этой {censored}
Вот код
// This file was decompiled using SASCM.INI published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007
{$VERSION 3.1.0027}
{$CLEO .cs}
//-------------MAIN---------------
0000: NOP
:NONAME_2
0001: wait 0 ms
0247: load_model #CELLPHONE
038B: load_requested_models
00D6: if
0AB0: key_pressed 88
004D: jump_if_false @NONAME_2
0000: NOP
04C4: store_coords_to 1@ 2@ 3@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.0
0729: AS_actor $PLAYER_ACTOR hold_cellphone 1
0001: wait 5000 ms
0729: AS_actor $PLAYER_ACTOR hold_cellphone 0
0001: wait 0 ms
0169: set_fade_color_RGB 255 255 255
0489: set_actor $PLAYER_ACTOR muted 1
016A: fade 0 time 500
0001: wait 1500 ms
0489: set_actor $PLAYER_ACTOR muted 0
016A: fade 1 time 500
000B: 3@ += 50.0
024F: create_corona_with_radius 25 type 2 lensflares 1 with_color 255 255 255 at 1@ 2@ 3@
000F: 3@ -= 50.0
:NONAME_180
0001: wait 0 ms
0001: wait 50 ms
00D6: if
0005: $RADIUS = 1500.0
004D: jump_if_false @NONAME_355
0009: $RADIUS += 15.0
03BC: $SHOCKWAVE = create_sphere_at 1@ 2@ 3@ radius $RADIUS
08E5: get_actor_in_sphere 1@ 2@ 3@ radius 10.0 handle_as 33@
00D6: if
056D: actor 33@ defined
004D: jump_if_false @NONAME_291
000B: 9@ += 35.0
0321: kill_actor 33@
01C2: remove_references_to_actor 33@ // Like turning an actor into a random pedestrian
:NONAME_291
073E: get_car_in_sphere 1@ 2@ 3@ radius 10.0 model -1 handle_as 33@
00D6: if
056E: car 33@ defined
004D: jump_if_false @NONAME_180
000B: 8@ += 500.0
020B: explode_car 33@ // versionA
01C3: remove_references_to_car 33@ // Like turning a car into any random car
0002: jump @NONAME_180
:NONAME_355
0001: wait 0 ms
0109: player $PLAYER_ACTOR money += 8@
0109: player $PLAYER_ACTOR money += 9@
0002: jump @NONAME_2
004E: end_threadтак вот интересует опкод 03BC: $SHOCKWAVE = create_sphere_at 1@ 2@ 3@ radius $RADIUS
Я думаю что это создаёт какую то зону...например что туды попадёт то подыхает или взрывается...
но видимо не тот опкод, можете подсказать какой опкод создаёт типа своей зоны с определённым радиусов, координатами и.т.д.???
Last edited by CLEO Xakep (26-04-2010 02:53)
~Надо уметь жить~
~1 правило хакера - не убей и не повреди без особой нужды~
Offline
Как изменить максимальную скорость и ускорение машины игрока?
Offline
Как изменить максимальную скорость и ускорение машины игрока?
пробуй этими опкодами...
1. Максимальная скорость...
00AD: set_car 22@ max_speed_to 10.0
А ускорение незнаю...но можно изменить если прогой GTA:SA Ultimate Editor там ищи нужную машину и в поле Engine Acceleration вводи ускорение(есть ограничение от 0,0 до 10,0)
~Надо уметь жить~
~1 правило хакера - не убей и не повреди без особой нужды~
Offline
2CraZZZy-GameRRR:
handling.cfg
2all:
Почему текстуры не выводятся?
03E3: set_texture_to_be_drawn_antialiased 1 038D: draw_texture tx_tah position tah_posX TahSpdPosY scale TahSpdScale TahSpdScale colour 255 255 255 alpha 255 03E3: set_texture_to_be_drawn_antialiased 1 038D: draw_texture tx_spd position spd_posX TahSpdPosY scale TahSpdScale TahSpdScale colour 255 255 255 alpha 255 TmpVar = 1 for TmpVar = 1 to 255 03F0: enable_text_draw 1 074B: texture tx_tah position tah_posX TahSpdPosY scale TahSpdScale TahSpdScale rotation 0 colour 255 255 255 alpha TmpVar 074B: texture tx_spd position spd_posX TahSpdPosY scale TahSpdScale TahSpdScale rotation 0 colour 255 255 255 alpha TmpVar end
Offline
Координаты всех компонентов лежат в VehicleStruct.
struct VehicleStruct_2 {
D3DVECTOR _f0;
CQuaternion q;
int _f1C;
};
struct CVehicleStruct {
CVehicleStruct ();
~CVehicleStruct ();
void * operator new (size_t);
void operator delete (void * ptr);
D3DVECTOR _f00[15];
VehicleStruct_2 _fB4[18];
CAtomic * atomics[6];
BYTE atomicCount;
BYTE _f30D;
WORD _f30E;
DWORD _f310; // component present or component renderable mask
};Для простых неподвижных компонентов - это _f00, по индексу компонента.
Для подвижных компонентов - в _fB4 (quaternion переводится в матрицу трансформации относительно LTM)
Насчет индексов колес/дверей - еще не копал, т.е. это задачка не на пять минут (интересующиеся могут самостоятельно залезть в preprocessHierarchy)
Offline
всё теперь знаю как определить....
3DS Max 7 тут нужен будет как никак...всмысле со 2 главой 1 вопросом(о координатах)...
А что насчёт атомной бомбы
~Надо уметь жить~
~1 правило хакера - не убей и не повреди без особой нужды~
Offline
2all:
Почему текстуры не выводятся?03E3: set_texture_to_be_drawn_antialiased 1 038D: draw_texture tx_tah position tah_posX TahSpdPosY scale TahSpdScale TahSpdScale colour 255 255 255 alpha 255 03E3: set_texture_to_be_drawn_antialiased 1 038D: draw_texture tx_spd position spd_posX TahSpdPosY scale TahSpdScale TahSpdScale colour 255 255 255 alpha 255 TmpVar = 1 for TmpVar = 1 to 255 03F0: enable_text_draw 1 074B: texture tx_tah position tah_posX TahSpdPosY scale TahSpdScale TahSpdScale rotation 0 colour 255 255 255 alpha TmpVar 074B: texture tx_spd position spd_posX TahSpdPosY scale TahSpdScale TahSpdScale rotation 0 colour 255 255 255 alpha TmpVar end
Так по приведенному куску всё правильно. Проверь имена текстур(может регистр влияет, хз), если всё в порядке, то приведи ВЕСЬ код, желательно с файлом текстур.
Offline
2flashTrash:
{$CLEO _}
const
//...
tx_tah = 115
tx_spd = 116
tah_posX = 280.0
spd_posX = 400.0
TahSpdPosY = 350.0
TahSpdScale = 120.0
TmpVar = 0@
end
0000:
:GASvis
wait 100
if
Player.Defined($PLAYER_CHAR)
Jf @GASvis
if
Actor.Driving($PLAYER_ACTOR)
Jf @GASvis
0390: load txd 'gas'
if
04C8: actor $PLAYER_ACTOR driving_flying_vehicle
then
Jump @Fly
end
if
Player.InRemoteMode($PLAYER_CHAR)
then
Jump @RC
end
if
gosub @is_fast
then
Jump @Fast
end
if
Actor.DrivingVehicleType($PLAYER_ACTOR, #BMX)
Actor.DrivingVehicleType($PLAYER_ACTOR, #BIKE)
Actor.DrivingVehicleType($PLAYER_ACTOR, #MTBIKE)
then
Jump @Bike
end
Jump @Slow
:Fly
//...
:RC
//...
:Bike
//...
:Fast
//...
:Slow
gosub @LoadCarTX
038F: request_texture 'tah90' as tx_tah
038F: request_texture 'spd270' as tx_spd
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture tx_tah position tah_posX TahSpdPosY scale TahSpdScale TahSpdScale colour 255 255 255 alpha 255
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture tx_spd position spd_posX TahSpdPosY scale TahSpdScale TahSpdScale colour 255 255 255 alpha 255
TmpVar = 1
for TmpVar = 1 to 255
03F0: enable_text_draw 1
074B: texture tx_tah position tah_posX TahSpdPosY scale TahSpdScale TahSpdScale rotation 0 colour 255 255 255 alpha TmpVar
074B: texture tx_spd position spd_posX TahSpdPosY scale TahSpdScale TahSpdScale rotation 0 colour 255 255 255 alpha TmpVar
end
repeat
wait 100
until not Actor.Driving($PLAYER_ACTOR)
Jump @Clean
:is_fast
if
Actor.DrivingVehicleType($PLAYER_ACTOR, #VOODOO)
then
0485: return_true
end
059A: return_false
return
:LoadCarTX
038F: request_texture 'num_b' as tx_numB
038F: request_texture 'num_bn' as tx_numBN
038F: request_texture 'num_1' as tx_num1
038F: request_texture 'num_1n' as tx_num1N
038F: request_texture 'num_2' as tx_num2
038F: request_texture 'num_2n' as tx_num2N
038F: request_texture 'num_3' as tx_num3
038F: request_texture 'num_3n' as tx_num3N
038F: request_texture 'num_4' as tx_num4
038F: request_texture 'num_4n' as tx_num4N
038F: request_texture 'num_5' as tx_num5
038F: request_texture 'num_5n' as tx_num5N
038F: request_texture 'num_off' as tx_numOff
038F: request_texture 'arr1' as tx_arr1
038F: request_texture 'arr1n' as tx_arr1N
return
:Clean
0391: release txd
Jump @GASvisИ вот ещё вопрос: как спрятать текстуру?
И нужен ли text_draw в цикле?
Прилагаю TXD-шку.
Last edited by ~AquaZ~ (26-04-2010 11:37)
Offline
1. Максимальная скорость...
00AD: set_car 22@ max_speed_to 10.0
С машиной игрока не работает. 
Offline
2flashTrash:
038F: request_texture 'num_b' as tx_numB 038F: request_texture 'num_bn' as tx_numBN 038F: request_texture 'num_1' as tx_num1 038F: request_texture 'num_1n' as tx_num1N 038F: request_texture 'num_2' as tx_num2 038F: request_texture 'num_2n' as tx_num2N 038F: request_texture 'num_3' as tx_num3 038F: request_texture 'num_3n' as tx_num3N 038F: request_texture 'num_4' as tx_num4 038F: request_texture 'num_4n' as tx_num4N 038F: request_texture 'num_5' as tx_num5 038F: request_texture 'num_5n' as tx_num5N 038F: request_texture 'num_off' as tx_numOff 038F: request_texture 'arr1' as tx_arr1 038F: request_texture 'arr1n' as tx_arr1N
Так, а чему равны всякие tx_numB'ы? Они должны быть равны целому числу, это будет их идентификатор.
Еще лучше сделать вместо
000A: 0@ += 1 0019: 0@ > 255 004D: jump_if_false @Noname_128
так, чтобы переменная не вылезала за рамки
if 0@ < 255 jf @Noname_18E 0@ += 1 goto @Noname_128
Offline