#351 15-03-2008 00:32

Yarik
Registered: 22-02-2008
Posts: 173
Website

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

У меня вот пара вопросов
- нужна проверка: атакует ли опред актер опред машину
- можна ли отключить читы? (скрипт или ехе если да?)

Offline

#352 15-03-2008 09:20

fedo2
Registered: 15-03-2008
Posts: 3

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

я раньше был зареган под ником федо но я забыл пароль:D
недавно решил поиграть вновь в сан и вот хочу , чтобы мою территорию постоянно атаковали - как это сделать?:wow:;-)

Offline

#353 15-03-2008 09:22

Treeble
Registered: 17-02-2008
Posts: 10

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

Здравствуйте! Всем известно что Autoaim bot уже встроен в GTA, когда cтавишь управление с джойстика. Но дело в том, что при управлении с джойстика отключается обзор мышкой, что очень не удобно. Реально ли сделать такой мод/скрипт чтобы работал авто аим и работал обзор мышкой?

Offline

#354 16-03-2008 09:59

VcSaJen
Registered: 25-08-2006
Posts: 217

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

Я убеждаюсь, что массивы в SanAndreas глючные. Когда использовал небольшой массив, всё OK, но когда использую много больших массивов (пять массивов размером 10), то очень часто значения ячеек сдвигаются, подменяются даже в чистом мейне! А когда в оригинальном мейне (через Cleo3), то даже при четырех массивах размером 4. Можно как нибуть обойти эту проблему?


[small][/small]

Offline

#355 16-03-2008 13:52

Sanchez
Registered: 18-08-2006
Posts: 280

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

@VcSaJen - на все локальные переменные (включая и массивы) для обычных потоков отводится 136 байт, для миссий 4096 байт. Пять массивов по десять элементов 200 байт. Если ты их используешь в обычном потоке, то ты перелез за границу.
Если у тебя массивы определены так:

var
    0@: Array 10 of Integer
    1@: Array 10 of Integer
    2@: Array 10 of Integer
end

То они перезапишут друг друга.

Offline

#356 16-03-2008 15:42

Yarik
Registered: 22-02-2008
Posts: 173
Website

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

Yarik wrote:

У меня вот пара вопросов
- нужна проверка: атакует ли опред актер опред машину
- можна ли отключить читы? (скрипт или ехе если да?)

Поможет  ктото с этим?

Offline

#357 16-03-2008 16:56

Sanchez
Registered: 18-08-2006
Posts: 280

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

@Yarik
1.

0@ = Car.Create(...)
1@ = Car.Health(0@)
0085: 2@ = 1@ // (int)
while true
    wait 0
    1@ = Car.Health(0@)
    if and
        051C:   car 0@ damaged_by_actor $PLAYER_ACTOR
        001D:   2@ > 1@ // (int) 
    then
        Player.Money($PLAYER_CHAR) += 1
        0085: 2@ = 1@ // (int)  
    end
end

2.

0A8C: write_memory 0x0053BFB8 size 4 value 0x90909090 virtual_protect 1
0A8C: write_memory 0x0053BFBC size 1 value 0x90 virtual_protect 1

Offline

#358 16-03-2008 17:52

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

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

я раньше был зареган под ником федо но я забыл пароль

На форуме есть функция "вспомнить пароль". Если не поможет и старый аккаунт еще актуален для тебя, обращайся ко мне в личку, разберемся.

Offline

#359 16-03-2008 20:04

fedo2
Registered: 15-03-2008
Posts: 3

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

да нет удалить его можешь для меня сейчас вопрос актуален :
как сделать чтобы территории мои атаковали постояннно
{$CLEO}

:POI
0000:

:F4_2
wait 0
thread 'F4'
1@ = 304499

:F4_27
wait 0
if
  &0(1@,1i) == 0x00FF0000
jf @F4_2

вот тут если не трудно напишите пожалуйста))

еще как вариант если не трудно можно сделать ,чтобы я нажимал F8 и тут же территория моя атаковалась балласами или вагосами

если не хотите делать я могу и сам только с опкодами помогите

Last edited by fedo2 (16-03-2008 20:07)

Offline

#360 17-03-2008 05:42

VcSaJen
Registered: 25-08-2006
Posts: 217

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

@Sanchez - Я их объявил как глобальные, локальные в SB вызывают ошибку:

Неверный символ в идентификаторе @.

Last edited by VcSaJen (17-03-2008 05:43)


[small][/small]

Offline

#361 17-03-2008 05:42

Treeble
Registered: 17-02-2008
Posts: 10

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

Ребята, ну что там с авто-прицелом то? Никто не поможет?
(Сообщение #366)

Offline

#362 17-03-2008 12:56

Sanchez
Registered: 18-08-2006
Posts: 280

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

@VcSaJen
Может у тебя ошибка в коде. Вот смотри 5 массивов по 10 элементов на чистом мейне все работает прекрасно:

var
    $arr1: Array 10 of Integer
    $arr2: Array 10 of Integer
    $arr3: Array 10 of Integer
    $arr4: Array 10 of Integer
    $arr5: Array 10 of Integer
    0@: Integer
    1@: Integer
end

for 0@ = 0 to 9
    1@ = 0@
    $arr1[0@] = 1@
    1@ *= 10
    $arr2[0@] = 1@
    1@ *= 10
    $arr3[0@] = 1@
    1@ *= 10
    $arr4[0@] = 1@ 
    1@ *= 10
    $arr5[0@] = 1@
    $PLAYER_CHAR.Money += $arr1[0@]
    $PLAYER_CHAR.Money += $arr2[0@]
    $PLAYER_CHAR.Money += $arr3[0@]
    $PLAYER_CHAR.Money += $arr4[0@]
    $PLAYER_CHAR.Money += $arr5[0@]
end

Выложи свой код.

Last edited by Sanchez (17-03-2008 12:58)

Offline

#363 17-03-2008 14:50

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

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

Treeble wrote:

Здравствуйте! Всем известно что Autoaim bot уже встроен в GTA, когда cтавишь управление с джойстика. Но дело в том, что при управлении с джойстика отключается обзор мышкой, что очень не удобно. Реально ли сделать такой мод/скрипт чтобы работал авто аим и работал обзор мышкой?

вероятно, потребуется менять код exe, на уровне одних опкодов такую задачу не решить.

Offline

#364 17-03-2008 15:11

fedo2
Registered: 15-03-2008
Posts: 3

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

а на мой вопрос ответьте пожалуста вы же шарите):blush:

Offline

#365 18-03-2008 19:16

Treeble
Registered: 17-02-2008
Posts: 10

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

Кто замутит авто-аим с рабочим обзором мышкой тому пиво!:D

Offline

#366 25-03-2008 01:40

Yarik
Registered: 22-02-2008
Posts: 173
Website

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

2Sanchez спасибо
Античит работает, проверка еще тест проходит smile
Теперь еще такой вопрос, как можно отремонтировать фары? Делаю ремонт всех частей по отдельности
Опкодами 0698 и 068A нашел кажется все кроме фар (хотя при некоторых параметрах вылетело, может и оно, но как сделать что бы не вылетало тогда)

Offline

#367 30-03-2008 09:02

Agenzvell
From: Windows/system32
Registered: 28-08-2007
Posts: 109
Website

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

Как можно убрать прицел?

Offline

#368 05-04-2008 04:02

VcSaJen
Registered: 25-08-2006
Posts: 217

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

@Sanchez -  у меня простой скрипт перекрёстного Put'а игрока от подножия лестницы (примеч: по всей игре сиджей "взобрался" только на одну лестницу, да и то во время миссии) к её вершине и наоборот.
массивы $Xs $Ys $Zs $Dg - координаты и угол, $nP - для перекреста (к I прибавляется или отнимается по еденице).
В Cleo варианте я сразу-же после присвоения значений выводил 1num текст, и значение $nP[3] вместо только-что присвоенной -1 оказывается равна 4, а координаты сдвигаются, вместо (2588.65, 2638.34, 10.8679) получается (2638.34, 10.8679, 0.0). В stripped-скрипте то же самое, но при десяти элементах. Как обойти эту проблему, не знаю.

stripped-скрипт:

:lest0
thread 'LESTNI'
{const
Ns: = 2
end   }
var
$PLAYER_ACTOR: Actor
$PLAYER_CHAR: Player
$Xs: Array 11 of Float
$Ys: Array 11 of Float
$Zs: Array 11 of Float
$nP: Array 11 of Integer //Перекрёст
$Dg: Array 11 of Float//Degrees
$I: Integer = 0
0@: Integer = 0
1@: Integer = 0
end
wait 0
select_interior 0 
$PLAYER_ACTOR.PutAt(2588.65, 2638.34, 10.8679)
wait 0
0860: link_actor $PLAYER_ACTOR to_interior 0



$Xs[0] = 2703.16 //Заднее здание с двумя широкими короткими трубами
$Ys[0] = 2676.44
$Zs[0] = 11.7222
$Dg[0] = 180.0
$nP[0] = 1

$Xs[1] = 2703.16 //Крыша
$Ys[1] = 2677.94
$Zs[1] = 21.8472
$Dg[1] = 0.0
$nP[1] = -1

$Xs[2] = 2588.65 //Подножие правой длинноЙ башни
$Ys[2] = 2638.34
$Zs[2] = 9.7203
$Dg[2] = 90.0
$nP[2] = 1

$Xs[3] = 2590.35 //вершина
$Ys[3] = 2638.34
$Zs[3] = 108.0675
$Dg[3] = 270.0
$nP[3] = -1

$Xs[4] = 2632.61 //Подножие левой длинноЙ башни
$Ys[4] = 2836.68
$Zs[4] = 24.3737
$Dg[4] = 270.0
$nP[4] = 1

$Xs[5] = 2632.61 //вершина
$Ys[5] = 2835.58
$Zs[5] = 123.574
$Dg[5] = 90.0
$nP[5] = -1

$Xs[6] = 2562.63 //Переднее здание с двумя широкими короткими трубами
$Ys[6] = 2723.94
$Zs[6] = 12.5737
$Dg[6] = 0.0
$nP[6] = 1

$Xs[7] = 2562.78 //Крыша
$Ys[7] = 2722.55
$Zs[7] = 22.5737
$Dg[7] = 180.0
$nP[7] = -1

$Xs[8] = 2571.2 // Первая (передняя) из цистерн (справа)
$Ys[8] = 2643.97
$Zs[8] = 10.5737
$Dg[8] = 180.0
$nP[8] = 1

$Xs[9] = 2571.2 // Верхушка
$Ys[9] = 2646.17
$Zs[9] = 35.5737
$Dg[9] = 0.0
$nP[9] = -1

$Xs[10] = 2613.27 // Вторая () из цистерн (справа)
$Ys[10] = 2643.97
$Zs[10] = 10.5737
$Dg[10] = 180.0
$nP[10] = 1

$Xs[11] = 2613.27 // Верхушка
$Ys[11] = 2646.17
$Zs[11] = 35.5737
$Dg[11] = 0.0
$nP[11] = -1

//$Xs[] =  //
//$Ys[] = 
//$Zs[] = 
//$Dg[] = 
//$nP[] = 1
//
//$Xs[] =  //
//$Ys[] = 
//$Zs[] = 
//$Dg[] = 
//$nP[] = -1

$Zs[0] = 11.7222

01E5: show_text_1number_highpriority GXT 'DOLLAR' number $nP[0] time 1000 flag 1
wait 1000 
01E5: show_text_1number_highpriority GXT 'DOLLAR' number $nP[1] time 1000 flag 1
wait 1000  
01E5: show_text_1number_highpriority GXT 'DOLLAR' number $nP[2] time 1000 flag 1
wait 1000  
01E5: show_text_1number_highpriority GXT 'DOLLAR' number $nP[3] time 1000 flag 1 
jump @lest2 

:lest2
wait 0                                      //2588.65 2638.34 10.8679
00FE:   actor $PLAYER_ACTOR sphere 1 in_sphere $Xs[$I] $Ys[$I] $Zs[$I] radius 2.0 2.0 3.0 //Правая длинная башня 
jf @Plus
0512: show_permanent_text_box 'lbox'
0@=1
if
00E1:   player 0 pressed_key 15 
jf @lest2

if $nP[$I] == 1 //Пришлось сделать так, из-за изменения значений
then
$I+=1
else
$I-=1
end
fade 0 200
wait 250
$PLAYER_ACTOR.PutAt($Xs[$I], $Ys[$I], $Zs[$I])
$PLAYER_ACTOR.Angle = $Dg[$I]
fade 1 200
$I=0                       
0@=0
wait 200
jump @lest2

:Plus
wait 0
//if 80FE: actor $PLAYER_ACTOR sphere 1 in_sphere $Xs[$I] $Ys[$I] $Zs[$I] radius 1.0 1.0 3.0
//0AA0: gosub_if_false @remov
Inc($I)
if and
$Xs[$I] <> 0.0
$Ys[$I] <> 0.0
$Zs[$I] <> 0.0
0AA0: gosub_if_false @p2
if 0@==1
jf @lest2
0@=0
03E6: remove_text_box
jump @lest2

:p2
wait 0
$I=0
return

cleo-скрипт:

{$CLEO}
:lest0
thread 'LESTNI'
{const
Ns: = 2
end   }
var
$PLAYER_ACTOR: Actor
$PLAYER_CHAR: Player
$Xs: Array 4 of Float
$Ys: Array 4 of Float
$Zs: Array 4 of Float
$nP: Array 4 of Integer //Перекрёст
$I: Integer = 0
0@: Integer = 0
1@: Integer = 0
end
//054C: use_GXT_table 'OTB'
wait 6000
select_interior 0 
$PLAYER_ACTOR.PutAt(2588.65, 2638.34, 10.8679)
wait 200
0860: link_actor $PLAYER_ACTOR to_interior 0



$Xs[0] = 2703.16 //Правое здание с двумя широкими короткими трубами
$Ys[0] = 2676.44
$Zs[0] = 12.7222
$nP[0] = 1

$Xs[1] = 2703.16 //Крыша
$Ys[1] = 2677.94
$Zs[1] = 23.0094
$nP[1] = -1

$Xs[2] = 2588.65 //Продножие правой длинноЙ башни
$Ys[2] = 2638.34
$Zs[2] = 10.8679
$nP[2] = 1

$Xs[3] = 2590.35 //вершина
$Ys[3] = 2638.34
$Zs[3] = 110.768
$nP[3] = -1

01E5: show_text_1number_highpriority GXT 'DOLLAR' number $nP[0] time 1000 flag 1
wait 1000 
01E5: show_text_1number_highpriority GXT 'DOLLAR' number $nP[1] time 1000 flag 1
wait 1000  
01E5: show_text_1number_highpriority GXT 'DOLLAR' number $nP[2] time 1000 flag 1
wait 1000  
01E5: show_text_1number_highpriority GXT 'DOLLAR' number $nP[3] time 1000 flag 1 



//if or
//$Xs[3]==0.0
//$Ys[3]==0.0
//$Zs[3]==0.0 
//jf @lest2
//0512: show_permanent_text_box 'lbox'
jump @lest2 

//:lest
//wait 0 ms
//if
//00E1:   player 0 pressed_key 15 
//jf @lest

:lest2
wait 0                                      //2588.65 2638.34 10.8679
00FE:   actor $PLAYER_ACTOR sphere 1 in_sphere $Xs[$I] $Ys[$I] $Zs[$I] radius 2.0 2.0 3.0 //Правая длинная башня 
jf @Plus
0512: show_permanent_text_box 'lbox'
0@=1
if
00E1:   player 0 pressed_key 15 
jf @lest2
fade 0 200
wait 250
if $nP[$I] == 1 
then
$I+=1
else
$I-=1
end
$PLAYER_ACTOR.PutAt($Xs[$I], $Ys[$I], $Zs[$I])
fade 1 200
$I=0
0@=0
wait 200
jump @lest2

:Plus
wait 0
//if 80FE: actor $PLAYER_ACTOR sphere 1 in_sphere $Xs[$I] $Ys[$I] $Zs[$I] radius 1.0 1.0 3.0
//0AA0: gosub_if_false @remov
Inc($I)
if and
$Xs[$I] <> 0.0
$Ys[$I] <> 0.0
$Zs[$I] <> 0.0
0AA0: gosub_if_false @p2
if 0@==1
jf @lest2
0@=0
03E6: remove_text_box
jump @lest2

:p2
wait 0
$I=0
return

//:Remov
//wait 0
//03E6: remove_text_box
//return

P.S.: У меня не постоянная связь с интернетом, потому ответы могут задержатся.

[---]

Ещё: в моём моде лифта есть функция падения лифта при взрыве в лифте(от гранаты, ракеты и т.д.)(для этого пришлось дополнительно изменить .col).
Но при этом лифт падает ещё при малейшем соприкосновении с машиной или велосипедом. Я устанавливал для объекта флаг неразрушаемости, устанавливал иммунитеты, не помогает. Как-то через скрипт можно поменять или надо копаться в object.dat?

Last edited by VcSaJen (05-04-2008 04:58)


[small][/small]

Offline

#369 10-04-2008 15:08

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

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

@VcSaJen - в CLEO-скриптах нельзя использовать новые глобальные переменные, только те что в CustomVariables.ini или локальные.

Offline

#370 11-04-2008 07:47

Sanchez
Registered: 18-08-2006
Posts: 280

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

{$CLEO}

// Actor.PutAt($PLAYER_ACTOR, 2588.65, 2638.34, 10.8679)

var
    0@: Integer
    1@: Integer
    10@: Array 4 of Float
    14@: Array 4 of Float
    18@: Array 4 of Float
    22@: Array 4 of Integer
end

10@ = 2703.16
14@ = 2676.44
18@ = 12.7222
22@ = 1      
             
11@ = 2703.16
15@ = 2677.94
19@ = 23.0094
23@ = -1     
             
12@ = 2588.65
16@ = 2638.34
20@ = 10.8679
24@ = 1      
             
13@ = 2590.35
17@ = 2638.34
21@ = 110.768
25@ = -1

while true
    wait 0
    
    if
        Player.Defined($PLAYER_CHAR)
    then
        for 0@ = 0 to 3
            wait 0
            if and
                00FE:   actor $PLAYER_ACTOR sphere 0 in_sphere 10@[0@] 14@[0@] 18@[0@] radius 2.0 2.0 2.0
                00E1:   player 0 pressed_key 15
            then
                fade 0 200
                wait 250
                1@ = 0@
                if
                   22@[0@] == 1
                then
                    Inc(1@)
                else
                    Dec(1@)
                end
                Actor.PutAt($PLAYER_ACTOR, 10@[1@] 14@[1@] 18@[1@])
                fade 1 200
                wait 200 
            end 
        end    
    end
    
end

Offline

#371 20-04-2008 15:16

kasper
Registered: 05-11-2007
Posts: 5

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

Помогите советом. Есть мод: изменен майн, добавлен внешний скрипт + cleo-скрипты.
До сохранения в игре все работает нормально, а с сохраненной игры работают только cleo-скрипты, и то не все. Где ошибку искать?

Offline

#372 05-05-2008 18:27

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

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

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

Offline

#373 06-05-2008 04:41

Alexander
Registered: 19-08-2006
Posts: 184
Website

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

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

0x58B149 , "CarName.X"
0x58B135 , "CarName.Y"
(из interface editor'a)

Offline

#374 06-05-2008 07:57

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

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

Alexander wrote:

Все переменные....

Спасибо. Пол проблемы решено=)

Добавленно.
Нашел в посте Seemann'а координату вывода названия улицы по Y - 0x866B74
&#190; проблемы решено

Last edited by flashTrash (06-05-2008 09:12)

Offline

#375 15-05-2008 06:52

system
Registered: 13-05-2008
Posts: 39

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

Люди помогите с этим скриптом, это автопилот на самолет, но самолет должен быть НЕодноместный, иначе не пашет. Пожалуста измените его, чтоб можно было на любом самолете, не только, чтобы было и пасажирское место, + сделайте плиз клавишу включение: Ctrl + A, выключение также! Надеюсь поможете, я в скриптах ламер.

:pilot
thread 'pilot'

:pilot_10
wait 250
if Player.Defined($PLAYER_CHAR)
else_jump @pilot_10
if
04AB: actor $PLAYER_ACTOR driving_plane
jf @pilot_10
if
00E1: key_pressed 0 6
else_jump @pilot_10
if
player.Controllable($PLAYER_CHAR)
jf @pilot_10
03C0: 5@ = actor $PLAYER_ACTOR car
01EA: 4@ = car 5@ max_munber_of_passengers
if
4@ == 0
then
car.RemoveReferences(5@)
jump @pilot_10
end // if
#WMYPLT.Load
while not #WMYPLT.Available
wait 0
end
var
3@ : float
1@ : float
end // var
054C: use_GXT_table 'DSERT5'
00BC: text_highpriority 'DES5_SG' 1200 ms 1 // ZOLY4EHA LNQEH3NR ZNLOTA!
0819: 1@ = actor $PLAYER_ACTOR distance_from_ground
3@ = 1@
3@ += 50.0
0430: put_actor $PLAYER_ACTOR into_vehicle 5@ passenger_seat 0
0129: 6@ = create_actor 4 #WMYPLT in_car 5@ driverseat
Actor.SetImmunities(6@, 1, 1, 1, 1, 1)
2@ = car.Angle(5@)
2@ += 90.0
070F: plane 5@ fly_direction 2@ altitude_between 1@ and 3@

:pilot_15
wait 250
if and
Player.Defined($PLAYER_CHAR)
not Car.Wrecked(5@)
82BF: not car 5@ sunk
Actor.InCar($PLAYER_ACTOR, 5@)
else_jump @pilot_40
if
80E1: not key_pressed 0 6
else_jump @pilot_45
if
80E1: not key_pressed 0 5
else_jump @pilot_20
if
80E1: not key_pressed 0 7
else_jump @pilot_25
if
80E1: not key_pressed 0 14
else_jump @pilot_30
if
80E1: not key_pressed 0 16
else_jump @pilot_35
jump @pilot_15

:pilot_20
2@ += 5.0
070F: plane 5@ fly_direction 2@ altitude_between 1@ and 3@
jump @pilot_15

:pilot_25
2@ -= 5.0
070F: plane 5@ fly_direction 2@ altitude_between 1@ and 3@
jump @pilot_15

:pilot_30
if
1@ >= 5.0
then
1@ -= 5.0
3@ -= 5.0
070F: plane 5@ fly_direction 2@ altitude_between 1@ and 3@
end
jump @pilot_15

:pilot_35
1@ += 5.0
3@ += 5.0
070F: plane 5@ fly_direction 2@ altitude_between 1@ and 3@
jump @pilot_15

:pilot_40
gosub @remove
jump @pilot_10

:pilot_45
036A: put_actor $PLAYER_ACTOR in_car 5@
00BC: text_highpriority 'CHEATOF' 1500 ms 1 // PEGNM NCZPABLEHNR KODA BSKLU4EH
gosub @remove
jump @pilot_10

:remove
car.RemoveReferences(5@)
actor.DestroyInstantly(6@)
#WMYPLT.destroy
return

Offline

Board footer

Powered by FluxBB