#1526 13-10-2009 15:46

mfisto
From: Russia Perm
Registered: 01-02-2008
Posts: 558
Website

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

получать значение можно и напрямую следующим образом

0AAA: 0@ = thread 'script1' pointer //получаем адрес потока первого скрипта который задается thread 'script1' в начале первого скрипта
if                                                  //проверяем есть ли такой скрипт
  0@ > 0 
jf @Noname_1
0@ += 76                                   //находим адрес переменной (0@ += 60 - адрес нулевой переменной-0@ первого скрипта, 0@ += 64 - адрес первой переменной-1@ и т.д.)
0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0 // получаем значение этой переменной

в примере получена переменная 4@ первого скрипта в переменную 0@ второго скрипта

Last edited by mfisto (14-10-2009 16:44)


I know everything and nothing...

Offline

#1527 14-10-2009 07:54

GTASA
Registered: 13-09-2008
Posts: 476

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

Вылет. Напишите мне, пожалуйста, пример двух скриптов. Чтобы я их как шаблон использовал.

Offline

#1528 14-10-2009 16:09

PIT
Registered: 08-09-2008
Posts: 224

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

ну там же всё написано, берёшь в одном скрипте значение переменной делаешь одну из 1000 ( :wow: ) клео переменных, в другом скрипте её читаешь  и всё :-/


100 постов - 27 августа;

Offline

#1529 14-10-2009 16:11

PIT
Registered: 08-09-2008
Posts: 224

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

используй лёгкие конструкции smile


100 постов - 27 августа;

Offline

#1530 14-10-2009 16:45

mfisto
From: Russia Perm
Registered: 01-02-2008
Posts: 558
Website

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

Sorry, подправил код, изменения в предыдущем посту.


I know everything and nothing...

Offline

#1531 15-10-2009 13:23

3Doomer
From: КаZан
Registered: 14-05-2008
Posts: 659
Website

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

как узнать имя модели, если известен её ID?


GIMS developer

Offline

#1532 15-10-2009 18:23

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

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

В санни билдере (версия 3.04) есть функция перевода имени модели в ИД и наоборот. Для этого вставляем курсор (не мышиный) между любыми двумя буквами (цифрами), жмем Ctrl+Alt+H

Offline

#1533 15-10-2009 18:30

3Doomer
From: КаZан
Registered: 14-05-2008
Posts: 659
Website

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

а в игре?...мне надо вывести на экран имя модели %)

Last edited by 3Doomer (16-10-2009 16:28)


GIMS developer

Offline

#1534 16-10-2009 17:11

Sw[ee]t
From: Нижний Новгород
Registered: 16-02-2009
Posts: 686
Website

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

Поиск по форуму рулит, уже было и в этой, причём, теме.

Offline

#1535 16-10-2009 17:39

3Doomer
From: КаZан
Registered: 14-05-2008
Posts: 659
Website

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

ещё вопросег.....не могу понять
=====================================
объява массивов

var
$OBJECT : Array 9999 of Object
$OBJ_ID : Array 9999 of Integer
$OBJ_X : Array 9999 of Float
$OBJ_Y : Array 9999 of Float
$OBJ_Z : Array 9999 of Float
$OBJ_XR : Array 9999 of Float
$OBJ_YR : Array 9999 of Float
$OBJ_ZR : Array 9999 of Float
$OBJ_COL : Array 9999 of Integer
$OBJ_LOCK : Array 9999 of Integer
$OBJ_INT : Array 9999 of Integer
$OBJ_GOD : Array 9999 of Integer
end

=====================================
запоминаю массив объектов в файло

:save
0A9A: 0@ = openfile "CLEO\SAMB_object.map" mode 0x6277
wait 200
0A9E: writefile 0@ size 2 from $OBJCOUNT
for 1@ = 1 to $OBJCOUNT
    0A9E: writefile 0@ size 2 from $OBJ_ID[1@]
    0A9E: writefile 0@ size 4 from $OBJ_X[1@]
    0A9E: writefile 0@ size 4 from $OBJ_Y[1@]
    0A9E: writefile 0@ size 4 from $OBJ_Z[1@]
    0A9E: writefile 0@ size 2 from $OBJ_INT[1@]
    0A9E: writefile 0@ size 4 from $OBJ_XR[1@]
    0A9E: writefile 0@ size 4 from $OBJ_YR[1@]
    0A9E: writefile 0@ size 4 from $OBJ_ZR[1@]
    0A9E: writefile 0@ size 2 from $OBJ_COL[1@]
    0A9E: writefile 0@ size 2 from $OBJ_LOCK[1@]
    0A9E: writefile 0@ size 2 from $OBJ_GOD[1@]
end
wait 200
0A9B: closefile 0@
end_thread

=====================================
пытаюсь восстановить всё это при следующей загрузке

:launch
if
    0AAB:  file_exists "CLEO\SAMB_object.map"
then
    0A9A: 0@ = openfile "CLEO\SAMB_object.map" mode 0x6272
    wait 200
    0A9D: readfile 0@ size 2 to 1@
    if
        002C: 1@ > $LIMIT
    then
        03E5: show_text_box 'gsmblb'
    else
        for $OBJCOUNT = 1 to 1@ 
            0A9D: readfile 0@ size 2 to $OBJ_ID[$OBJCOUNT]
            0A9D: readfile 0@ size 4 to $OBJ_X[$OBJCOUNT]
            0A9D: readfile 0@ size 4 to $OBJ_Y[$OBJCOUNT]
            0A9D: readfile 0@ size 4 to $OBJ_Z[$OBJCOUNT]
            0A9D: readfile 0@ size 2 to $OBJ_INT[$OBJCOUNT]
            0A9D: readfile 0@ size 4 to $OBJ_XR[$OBJCOUNT]
            0A9D: readfile 0@ size 4 to $OBJ_YR[$OBJCOUNT]
            0A9D: readfile 0@ size 4 to $OBJ_ZR[$OBJCOUNT]
            0A9D: readfile 0@ size 2 to $OBJ_COL[$OBJCOUNT]
            0A9D: readfile 0@ size 2 to $OBJ_LOCK[$OBJCOUNT]
            0A9D: readfile 0@ size 2 to $OBJ_GOD[$OBJCOUNT]
            model.Load($OBJ_ID[$OBJCOUNT])
            while not model.Available($OBJ_ID[$OBJCOUNT])
                wait 0
            end
            object.Create($OBJECT[$OBJCOUNT],$OBJ_ID[$OBJCOUNT],$OBJ_X[$OBJCOUNT],$OBJ_Y[$OBJCOUNT],$OBJ_Z[$OBJCOUNT])
            model.Destroy($OBJ_ID[$OBJCOUNT])
            0566: link_object $OBJECT[$OBJCOUNT] to_interior $OBJ_INT[$OBJCOUNT] 
            0453: set_object $OBJECT[$OBJCOUNT] XY_rotation $OBJ_XR[$OBJCOUNT] $OBJ_YR[$OBJCOUNT] angle $OBJ_ZR[$OBJCOUNT] 
            if
                $OBJ_COL[$OBJCOUNT] == 1
            then
                object.CollisionDetection($OBJECT[$OBJCOUNT],True)
            else
                object.CollisionDetection($OBJECT[$OBJCOUNT],False)
            end
            if
                $OBJ_LOCK[$OBJCOUNT] == 1
            then
                0392: make_object $OBJECT[$OBJCOUNT] moveable 1
            else
                0392: make_object $OBJECT[$OBJCOUNT] moveable 0
            end
            if
                $OBJ_GOD[$OBJCOUNT] == 1
            then
                object.SetImmunities($OBJECT[$OBJCOUNT],True,True,True,True,True)
            else
                object.SetImmunities($OBJECT[$OBJCOUNT],False,False,False,False,False)
            end
        end
    end
    wait 200
    0A9B: closefile 0@
end
end_thread

создаётся только последний объект, и только если их было создано больше 1!!!! почему?:mad:

Last edited by 3Doomer (16-10-2009 19:43)


GIMS developer

Offline

#1536 16-10-2009 18:36

PIT
Registered: 08-09-2008
Posts: 224

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

ищи через яндекс


100 постов - 27 августа;

Offline

#1537 16-10-2009 18:54

3Doomer
From: КаZан
Registered: 14-05-2008
Posts: 659
Website

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

стоп флуд. скажите номер поста и всё...


GIMS developer

Offline

#1538 16-10-2009 19:00

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

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

На странице поиска выберите "Show results as Posts"

Offline

#1539 16-10-2009 19:20

3Doomer
From: КаZан
Registered: 14-05-2008
Posts: 659
Website

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

хорошо...

var
$OBJ_ID : Array 9999 of Integer
end
...
...
0AB1: call_scm_func @NameByID 1 $OBJ_ID[$IDTABSTART] $OBJ_IDTEXT
045A: draw_text_1number 11@ 12@ GXT 'gsmbmi' number $OBJ_IDTEXT
...
...
:NameByID
0@ *= 4
0@ += 0xA9B0C8
0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0
0@ += 0x32
0AA8: call_function_method 0x6A0050 struct 0xC1B340 num_params 1 pop 0 0@ 0@
0AB2: ret 1 0@

в $OBJ_ID[$IDTABSTART] число 966(ИД модели)

что-то не так? я поделил на ноль?:D...почему выводится многозначное число?:lol:

Last edited by 3Doomer (16-10-2009 19:37)


GIMS developer

Offline

#1540 19-10-2009 05:52

GTASA
Registered: 13-09-2008
Posts: 476

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

Здорова! Подскажите, как измерить расстояние между актером 1@ и 2@ ?

Offline

#1541 19-10-2009 14:25

3Doomer
From: КаZан
Registered: 14-05-2008
Posts: 659
Website

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

actor.StorePos(1@,0@,3@,4@)
actor.StorePos(2@,5@,6@,7@)
050A: 8@ = distance_between_XYZ 0@ 3@ 4@ and_XYZ 5@ 6@ 7@


GIMS developer

Offline

#1542 19-10-2009 20:59

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

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

Как из main.scm удалить ТОЛЬКО МИССИИ (без под-миссий, мини-игр, экстернал скриптов и т.д.)?
Может ссылку на уже готовый файл дадите или поможете советом?
Помогите пожалуйста! Очень нужно.

Offline

#1543 19-10-2009 21:17

3Doomer
From: КаZан
Registered: 14-05-2008
Posts: 659
Website

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

помогите плз по постам 1535 и 1539(((((


GIMS developer

Offline

#1544 20-10-2009 09:01

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

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

CraZZZy-GameRRR wrote:

Как из main.scm удалить ТОЛЬКО МИССИИ (без под-миссий, мини-игр, экстернал скриптов и т.д.)?
Может ссылку на уже готовый файл дадите или поможете советом?
Помогите пожалуйста! Очень нужно.

Посмотри на сайте ZAZ. Кажется то.

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

Offline

#1545 20-10-2009 09:09

Gyr
From: Серпухов
Registered: 03-02-2009
Posts: 246
Website

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

У меня такое бывало, если сохраняться при не завершившим работу скрипте. Точно сказать не могу, но вроде это скрипт, использующий глобальные переменные ($PLAYER_ACTOR например). Или может вылетать если ты загружаешься во время игрового процесса (то-есть, вот ты играешь-играешь, а потом вышел в меню и начинаешь загружаться). У меня например был баг, что когда тестишь скрипт, потом выходишь в меню и при запуске новой игры, саня вылетает. Это зависит от скриптов, которые у тебя установлены.


Специально для тех, кто не умеет читать по английски. Мой ник читается как "ГИР"!!!
Народная мудрость:
Прежде чем задавать вопросы,ПОЧИТАЙ СПРАВКУ!!!!

Offline

#1546 20-10-2009 16:21

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

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

Den_spb wrote:
CraZZZy-GameRRR wrote:

Как из main.scm удалить ТОЛЬКО МИССИИ (без под-миссий, мини-игр, экстернал скриптов и т.д.)?
Может ссылку на уже готовый файл дадите или поможете советом?
Помогите пожалуйста! Очень нужно.

Посмотри на сайте ZAZ. Кажется то.

Спасибо!

Offline

#1547 21-10-2009 08:09

GTASA
Registered: 13-09-2008
Posts: 476

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

Как сделать так, чтобы актер, либо игрок, заорал, как будто он горит или падает с большой высоты?

Offline

#1548 21-10-2009 08:53

Alien
Registered: 12-10-2008
Posts: 564

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

используй опкоды 09d5, 09d6.

Offline

#1549 22-10-2009 08:15

GTASA
Registered: 13-09-2008
Posts: 476

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

Спасибо. А кто-нибудь может предложить какую-нибудь прогу, что-ли, чтобы прослушать звуки, или дайте номера звука всех видов криков.

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

Offline

#1550 22-10-2009 09:32

3Doomer
From: КаZан
Registered: 14-05-2008
Posts: 659
Website

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

02CE: 16@ = ground_z_at 2@ 3@ 4@
16@ - координата земли по Z в 2@ 3@ 4@

более точные коорды игра сама подгонит


GIMS developer

Offline

Board footer

Powered by FluxBB