#2151 24-04-2010 02:41

CLEO Xakep
From: Chernobyl
Registered: 14-04-2010
Posts: 30
Website

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

Какой программой можно определить координаты у объекта например кирпича...
Ну тоесть например машина(это объект) так как можно определить у неё координаты левой двери


~Надо уметь жить~
~1 правило хакера - не убей и не повреди без особой нужды~

Offline

#2152 24-04-2010 05:34

d88
Registered: 15-12-2009
Posts: 254
Website

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

Есть ли в Вайсе код, заставляющий актёра стрелять сидя в машине? По-моему должен быть, в миссиях такое вроде было.

Offline

#2153 24-04-2010 07:12

~AquaZ~
Registered: 01-03-2010
Posts: 726

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

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

#2154 24-04-2010 18:04

d88
Registered: 15-12-2009
Posts: 254
Website

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

А как заставить вертолёт приземлиться? А то я его направляю в нужные координаты и делаю высоту на уровне земли, но он всё равно поднимается высоко.

Offline

#2155 24-04-2010 19:00

~AquaZ~
Registered: 01-03-2010
Posts: 726

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

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

#2156 24-04-2010 19:56

d88
Registered: 15-12-2009
Posts: 254
Website

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

~AquaZ~ wrote:

2 d88:

04A2: set_heli 0@ fly_to 1@ 2@ 12.0 altitude_between 12.0 and 12.0

Я так и пробовал

Offline

#2157 24-04-2010 20:03

~AquaZ~
Registered: 01-03-2010
Posts: 726

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

Учёл, что последние два параметра - высота?

Offline

#2158 24-04-2010 20:25

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

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

В чём может быть проблема? Почему вместо текстур серые квадраты?

Перед 038F необходимо загрузить txd-архив с помощью

0390: load_txd_dictionary "NAME"

где NAME - название файла name.txd

Offline

#2159 24-04-2010 21:37

~AquaZ~
Registered: 01-03-2010
Posts: 726

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

Загрузил, вроде не выгружал... А можно как-нибудь проверить на загруженность?

Offline

#2160 25-04-2010 07:02

d88
Registered: 15-12-2009
Posts: 254
Website

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

~AquaZ~ wrote:

Учёл, что последние два параметра - высота?

Ну да, вот так
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

#2161 25-04-2010 07:59

~AquaZ~
Registered: 01-03-2010
Posts: 726

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

Вот те мультик

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

#2162 25-04-2010 18:47

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

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

Почему здесь текстуры выводятся как серые квадраты (или вообще не выводятся)?
Скорее всего ошибка в цикле for - в его теле не хватает опкода

03F0: enable_text_draw 1

так же проверь переменную TmpVar - там должно быть целое значение

Offline

#2163 25-04-2010 19:10

CLEO Xakep
From: Chernobyl
Registered: 14-04-2010
Posts: 30
Website

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

каким опкодом можно посмотреть
1. скорость машины
2. количество эффектов в определённой зоне
и ещё чем можно наконец
1. ОПРЕДЕЛИТЬ КООРДИНАТЫ ОПРЕДЕЛЁННОЙ ТОЧКИ У ОБЪЕКТА(МАШИНЫ,АКТОРА)


~Надо уметь жить~
~1 правило хакера - не убей и не повреди без особой нужды~

Offline

#2164 25-04-2010 19:57

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

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

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

#2165 25-04-2010 20:02

~AquaZ~
Registered: 01-03-2010
Posts: 726

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

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

#2166 25-04-2010 21:24

CLEO Xakep
From: Chernobyl
Registered: 14-04-2010
Posts: 30
Website

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

Насколько понял, нужно определить координаты в системе отсчета, связанной с объектом/машиной/актёром. Делается это опкодами из серии "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

#2167 25-04-2010 22:04

CraZZZy-GameRRR
From: Москва
Registered: 11-08-2009
Posts: 97
Website

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

Как изменить максимальную скорость и ускорение машины игрока?

Offline

#2168 26-04-2010 02:51

CLEO Xakep
From: Chernobyl
Registered: 14-04-2010
Posts: 30
Website

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

Как изменить максимальную скорость и ускорение машины игрока?

пробуй этими опкодами...
1. Максимальная скорость...

00AD: set_car 22@ max_speed_to 10.0

А ускорение незнаю...но можно изменить если прогой GTA:SA Ultimate Editor там ищи нужную машину и в поле Engine Acceleration вводи ускорение(есть ограничение от 0,0 до 10,0)


~Надо уметь жить~
~1 правило хакера - не убей и не повреди без особой нужды~

Offline

#2169 26-04-2010 08:38

~AquaZ~
Registered: 01-03-2010
Posts: 726

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

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

#2170 26-04-2010 10:05

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

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

Координаты всех компонентов лежат в 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

#2171 26-04-2010 11:13

CLEO Xakep
From: Chernobyl
Registered: 14-04-2010
Posts: 30
Website

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

всё теперь знаю как определить....
3DS Max 7 тут нужен будет как никак...всмысле со 2 главой 1 вопросом(о координатах)...
А что насчёт атомной бомбы


~Надо уметь жить~
~1 правило хакера - не убей и не повреди без особой нужды~

Offline

#2172 26-04-2010 11:15

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

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

~AquaZ~ wrote:

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

#2173 26-04-2010 11:27

~AquaZ~
Registered: 01-03-2010
Posts: 726

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

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

#2174 26-04-2010 11:31

CraZZZy-GameRRR
From: Москва
Registered: 11-08-2009
Posts: 97
Website

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

CLEO Xakep wrote:

1. Максимальная скорость...

00AD: set_car 22@ max_speed_to 10.0

С машиной игрока не работает. cry

Offline

#2175 26-04-2010 12:07

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

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

~AquaZ~ wrote:

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

Board footer

Powered by FluxBB