[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 61 из 127«125960616263126127»
Форум » Игры серии GTA » GTA San Andreas » Вопросы по скриптингу Sanny Builder и заказы (Вы можете получить ответы на вопросы по SB и сделать заказ)
Вопросы по скриптингу Sanny Builder и заказы
wmysterio
Администраторы
Скриптер
22.11.11 21:52
Online
Если у вас возник вопрос по скриптингу Sanny Builder, обращайтесь! Мы постараемся решить вашу проблему wink Это ещё не значит, что все прям бросятся решать во чтобы то не стало, но ответ вы сможете вы получить как вариант решения или как невозможность или сложность решения.
УВАЖАЕМЫЕ ПОЛЬЗОВАТЕЛИ! ПРОСЬБА КОД СКРИПТОВ ПОМЕЩАТЬ В КОНСТРУКЦИЮ КОДА:

или

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

Внимание! От этого момента тема предназначена ещё и для заказов скриптов и миссий. Я это сделал по одной причине - пользователи постоянно путают/или не ищут темы и приводят заказ здесь. Теперь этой путаницы не будет. Здесь можно проводить заказы, но Вы должны указать в начале поста текст "НА ЗАКАЗ". Постарайтесь как можно детальнее объяснить суть скрипта.
Прикрепления: 0248203.png(1Kb) · 9085525.png(0Kb)

Yurko_UA
Модераторы
Модератор
07.07.13 12:20
Offline
Как записать в переменную прицеп, который прицеплен к тягачу?

Добавлено (07.07.13, 11:20)
---------------------------------------------
Я нашел адрес указателя на прицеп: +0x4C8
Как правильно это сделать? А то я в работе с памятью не очень


wmysterio
Администраторы
Скриптер
07.07.13 12:40
Online
Цитата (Yurko_UA)
Как записать в переменную прицеп, который прицеплен к тягачу?Добавлено (07.07.13, 11:20)
---------------------------------------------
Я нашел адрес указателя на прицеп: +0x4C8
Как правильно это сделать? А то я в работе с памятью не очень
Вот простой пример:
Код
{$cleo}
0000:
model.Load(#LINERUN)
model.Load(#ARTICT1)
038B: load_requested_models

:TheCab_AA
wait 0
if AND
model.Available(#LINERUN)
model.Available(#ARTICT1)
jf @TheCab_AA
0506: set_vehicle_model #ARTICT1 next_variation 3 3
0@ = car.Create(#ARTICT1, -2039.5044, 136.4451, 28.4465)
car.Angle(0@) = 269.9084
1@ = car.Create(#LINERUN, -2025.8435, 136.9129, 28.4438)
car.Angle(1@) = 271.0394
0893: put_trailer 0@ on_cab 1@
model.Destroy(#ARTICT1)
model.Destroy(#LINERUN)

while not actor.InCar($PLAYER_ACTOR, 1@)
      if
      0ab0: 50// 2
      then
           break
      end
wait 0
end

0A97: 5@ = car 0@ struct
0A8E: 6@ = 5@ + 0x4C8   
07AC: detach_trailer 6@ from_cab 1@
0A93: end_custom_thread
При нажатии на 2, прицеп отцепится.

Yurko_UA
Модераторы
Модератор
07.07.13 14:38
Offline
wmysterio, Спасибо за отличный пример использования этого адреса

Добавлено (07.07.13, 13:38)
---------------------------------------------
Вот что сдесь не так? SCMLog жалуется на car defined

Код
:PLACE4_1
wait 0
0AF0: $mycar = get_int_from_ini_file "cleo\truck_1_config.txt" section "STATS" key "mycar"
0AF0: $car = get_int_from_ini_file "cleo\truck_1_config.txt" section "TRUCK" key "car"
0AF0: $trlr = get_int_from_ini_file "cleo\truck_1_config.txt" section "TRUCK" key "trailer"
0AF0: $gruz = get_int_from_ini_file "cleo\truck_1_config.txt" section "TRUCK" key "gruz"
0AF0: $ton = get_int_from_ini_file "cleo\truck_1_config.txt" section "TRUCK" key "ton"
0AF0: $placeid = get_int_from_ini_file "cleo\truck_1_config.txt" section "TRUCK" key "placeid"    
03C0: $car = actor $PLAYER_ACTOR car  
0A97: $carstruct = car $car struct
0A8E: $trailer = $carstruct + 0x4C8
if
056E: car $trailer defined
jf @SELL_4
jump @PLACE4_2

Vital
Друзья
Скриптер
08.07.13 16:52
Offline
Yurko_UA, ты ведь получаешь адрес структуры, не так ли? Который записан в $trailer. Теперь надо перевести его в хендл при помощи 0AEB. Если я, конечно, не ошибаюсь.
2109: create_special_actor $VITAL in_front_of_computer

Yurko_UA
Модераторы
Модератор
09.07.13 11:33
Offline
Vital, Одну ошибку я исправил, ща попробую догнать, что там переводить

Добавлено (08.07.13, 20:55)
---------------------------------------------
Вот код

Вот доклад SCMLog`a:

Код
thread buy_sell
   Local variables dump:
   515 131073 131074 131075 131076 23658641 34537618 26542228 15007893 131077 13500566 131078 11272343 131079 9633944 131080
   7536793 131081 4718746 131082 2883739 131083 2228380 131084 1310877 0 0 0 0 0 0 0
********************************************

00012670: 00D6
    get numeric params: 1
      param 1 = 0

00012674: 0103
    get numeric params: 8
      param 1 = 1
      param 2 = -996937772
      param 3 = -997390921
      param 4 = 1124202696
      param 5 = 1082130432
      param 6 = 1082130432
      param 7 = 1086324736
      param 8 = 0

00012711: 004D (&IFresult = True)
    get numeric params: 1
      param 1 = -13934 (&label: 0001)

00012718: 0002
    get numeric params: 1
      param 1 = -12725 (&label: 0001)

00012725: 0001
    get numeric params: 1
      param 1 = 0


Как видите, СКМ Лог трындит на 0103 при том, что я в машине нахожусь в том самом месте, если вылезаю с тачки, игра крэшует.

Добавлено (09.07.13, 10:33)
---------------------------------------------
Проблема решена!!!
Отредактировал Yurko_UA - Вторник, 09.07.13, 11:34

Sweeper
Проверенные
09.07.13 13:18
Offline
Почему новая Sanny Builder пишет: неизвестная команда car.Defined(1@)? А в старой версии все было нормально.

wmysterio
Администраторы
Скриптер
10.07.13 01:26
Online
Sweeper, Это связано с новой версией Sanny Builder, а точнее с базой данных классов в файле Classes.db. Он там попросту отсутствует или переименован.

Sweeper
Проверенные
10.07.13 14:58
Offline
В чем отличия между $PLAYER_ACTOR и  $PLAYER_CHAR?

Werewolf
Проверенные
10.07.13 18:24
Offline
Player Actor можно юзять и для игрока и для актера, а Плауер 4ар, только для игрока

wmysterio
Администраторы
Скриптер
10.07.13 21:04
Online
Цитата (Sweeper)
В чем отличия между $PLAYER_ACTOR и $PLAYER_CHAR?
$PLAYER_CHAR является объектом класса Player, то есть сам игрок.

Что бы игроку были доступны команды актёра его эмулируеют как $PLAYER_ACTOR опкодом:
Код
01F5: $PLAYER_ACTOR = get_player_actor $PLAYER_CHAR
То есть получаем актёра, которым управляет игрок.

Yurko_UA
Модераторы
Модератор
11.07.13 16:54
Offline
Цитата (Sweeper)
Почему новая Sanny Builder пишет: неизвестная команда car.Defined(1@)? А в старой версии все было нормально.
В КЛЕО версии 4.1.1.30f такого прикола нету, а в ранних версиях есть

Добавлено (11.07.13, 15:54)
---------------------------------------------
Такая вот проблемка. 

Беру любого педа с определенного радиуса опкодом 0AE1, и заставляю его идти к определенной точке опкодом

Код
0A2E: AS_actor $actor go_to $x2 $y2 $z2 mode 7 -1 ms stop_radius 2.0


Он пошел, как только ступил на точку $x2 $y2 $z2, сразу же идет по своим делам,  а не стоит молча.

Как решить проблему?
Отредактировал Yurko_UA - Четверг, 11.07.13, 10:05

wmysterio
Администраторы
Скриптер
11.07.13 17:24
Online
Цитата (Yurko_UA)
Как решить проблему?
Используй опкод
Код
07CD: AS_actor $actor walk_to $x2 $y2 $z2 stop_with_angle 270.0 within_radius 2.0
Будет идти в точку и остановится, если конечно он сможет туда добраться smile

Yurko_UA
Модераторы
Модератор
11.07.13 17:31
Offline
Цитата (wmysterio)
Придёт в точку и остановится, если конечно он сможет туда добраться
Неа. Идет, приходит и уходит. Может конечно с кодом что-то не то:


Код
:HOTDOG_MISSION_4
wait 0
if
0AE1: $actor = random_actor_near_point $x $y $z in_radius 30.0 find_next 0 pass_deads 1   
jf @HOTDOG_MISSION_16
if
8449: not actor $actor in a car     
jf @HOTDOG_MISSION_16   
marker.CreateAboveActor($marker,$actor)
0165: set_marker $marker color_to 1
07CD: AS_actor $actor walk_to $x2 $y2 $z2 stop_with_angle 270.0 within_radius 2.0
$wait = 0
jump @HOTDOG_MISSION_5
Отредактировал Yurko_UA - Четверг, 11.07.13, 17:32

wmysterio
Администраторы
Скриптер
11.07.13 18:45
Online
Цитата (Yurko_UA)
Идет, приходит и уходит. Может конечно с кодом что-то не то
Мне кажется нужно убрать сведения о событиях(event), но практически это реализовать я не знаю.
Проще найти актёра, узнать его тип, модель и создать нового на этом месте

Yurko_UA
Модераторы
Модератор
11.07.13 22:06
Offline
Цитата (wmysterio)
Мне кажется нужно убрать сведения о событиях(event), но практически это реализовать я не знаю. Проще найти актёра, узнать его тип, модель и создать нового на этом месте
Я придумал кое-что, что можно сделать...

Добавлено (11.07.13, 21:06)
---------------------------------------------

Цитата (wmysterio)
Мне кажется нужно убрать сведения о событиях(event),
Наверное, как-то через память?

wmysterio
Администраторы
Скриптер
11.07.13 22:52
Online
Цитата (Yurko_UA)
Наверное, как-то через память?
Нет. Скорее всего нужно создать модель поведения актёра и убрать событие на движение. Типа этого
0708: reset_decision_maker $DECISION_MAKER event 27
и присвоить эту модель актёру.

К сожалению я не в курсе какой номер у события движения.

Yurko_UA
Модераторы
Модератор
11.07.13 22:59
Offline
Цитата (wmysterio)
Нет. Скорее всего нужно создать модель поведения актёра и убрать событие на движение. Типа этого 0708: reset_decision_maker $DECISION_MAKER event 27
и присвоить эту модель актёру.

К сожалению я не в курсе какой номер у события движения.
Мда... надо поискать...

SanKing
Друзья
12.07.13 17:48
Offline
Попробуй это:
0687: clear_actor $actor task

Yurko_UA
Модераторы
Модератор
12.07.13 19:33
Offline
SanKing, пробовал, не помогло.

KiLLeR96
Модераторы
Модератор
15.07.13 00:08
Offline
Как сделать такую вещь: при нажатии кнопки в радиусе 10 метров вокруг CJ дохнут все педы?
МоДиРатОр)))000)))))

Форум » Игры серии GTA » GTA San Andreas » Вопросы по скриптингу Sanny Builder и заказы (Вы можете получить ответы на вопросы по SB и сделать заказ)
Страница 61 из 127«125960616263126127»
Поиск: