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

или

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

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

wmysterio
Администраторы
Скриптер
01.05.12 23:26
Offline
Quote (KiLLeR96)
Появилось 2 из 6 байка
Поставь расстояние между ними больше а не 1.0, где то 5.0 и больше, так как ГТА иногда отказывается создавать тачки очень близко к другим тачкам

KiLLeR96
Модераторы
Модератор
01.05.12 23:37
Offline
все байки на местах

Добавлено (01.05.2012, 23:37)
---------------------------------------------
Поставил грувовцам два вида машин:GLENDALE & GREENWOOD, GLENDALE появляется слишком часто, а GREENWOOD слишком редко(хоть стоят в порядке : greenwoo, glendale) . Как сделать частоту 50\50?

МоДиРатОр)))000)))))

wmysterio
Администраторы
Скриптер
01.05.12 23:42
Offline
Quote (KiLLeR96)
Как сделать частоту 50\50?
Частота регулируется опкодом
Code
014C: set_parked_car_generator $TestCar cars_to_generate_to 101
101 частота. поставь там и там 50, но это не гарантия что будут появляться как нужно. Игра сама решает когда что поставить biggrin

KiLLeR96
Модераторы
Модератор
02.05.12 00:12
Offline
Quote (wmysterio)
Code
014C: set_parked_car_generator $TestCar cars_to_generate_to 101
101 частота. поставь там и там 50, но это не гарантия что будут появляться как нужно. Игра сама решает когда что поставить

Я не о том. Я в файле cargrp.dat поставил груву GLENDALE и GREENWOOD, но GLENDALE появляется намного чаще. Почему?

Добавлено (02.05.2012, 00:11)
---------------------------------------------
мда... чтось не то: перезапустил игру теперь ГРИНВУД чаще появляется

Добавлено (02.05.2012, 00:12)
---------------------------------------------
кстати что ето за опкод?

Code
0733: random_car_generator_enable_model #SAVANNA
МоДиРатОр)))000)))))

wmysterio
Администраторы
Скриптер
02.05.12 00:12
Offline
Quote (KiLLeR96)
Почему?
Я затрудняюсь ответить. Можно попробовать отрегулировать файл stream.ini и поле "vehicles 12" поставить сичло побольше и тогда игра ВОЗМОЖНО увеличит частоту появления машины

KiLLeR96
Модераторы
Модератор
02.05.12 13:18
Offline
Миссия готова.
МоДиРатОр)))000)))))

wmysterio
Администраторы
Скриптер
02.05.12 21:51
Offline
KiLLeR96, так чё ждать smile заливай, будем тестировать, искать ошибки и.т.п. =)

KiLLeR96
Модераторы
Модератор
02.05.12 22:02
Offline
эмм... минуточку ща зальем

Добавлено (02.05.2012, 22:02)
---------------------------------------------
Миссия

МоДиРатОр)))000)))))

wmysterio
Администраторы
Скриптер
03.05.12 21:29
Offline
Quote (wmysterio)
Миссия
Очень хорошо! Жаль только, что я так и не смог найти GREENWOO и GLENDALE )))

KiLLeR96
Модераторы
Модератор
03.05.12 21:41
Offline
wmysterio, замени в cargrp.dat :
cвое на

Code
greenwoo, glendale                               # Gang 2 (FAMILIES - PLAYER - BLACK)

Одну, мб обое найдешь

Добавлено (03.05.2012, 21:38)
---------------------------------------------
cargrp.dat

Добавлено (03.05.2012, 21:41)
---------------------------------------------

Code
:AddStatusText                  
0AB1: call_scm_func @__VarToOffset 1 0@ 0@
0AB1: call_scm_func @__LabelToOffset 1 2@ 2@
0AA6: call_method 0x0044CDA0 struct 0x00BA1788 num_params 4 pop 0 ( LINE = 3@ GXT = 2@ TYPE = 1@ VARNUMBER = 0@ )
0AB2: ret 0

:RemoveStatusText
0AB1: call_scm_func @__VarToOffset 1 0@ 0@
0AA6: call_method 0x0044CE80 struct 0x00BA1788 num_params 1 pop 0 ( VARNUMBER = 0@ )
0AB2: ret 0

:SetTimer
0AB1: call_scm_func @__VarToOffset 1 0@ 0@
0AB1: call_scm_func @__LabelToOffset 1 2@ 2@
0AA6: call_method 0x0044CD50 struct 0x00BA1788 num_params 3 pop 0 ( TYPE = 1@ GXT = 2@ VARNUMBER = 0@ )
0AB2: ret 0

:StopTimer
0AB1: call_scm_func @__VarToOffset 1 0@ 0@
0AA6: call_method 0x0044CE60 struct 0x00BA1788 num_params 1 pop 0 ( VARNUMBER = 0@ )
0AB2: ret 0

:__VarToOffset
0A9F: 1@ = current_thread_pointer
0A8E: 2@ = 1@ + 0xDC // mission Flag
0A8D: 2@ = read_memory 2@ size 1 virtual_protect 0
if
     2@ == 1
then
     1@ = 0x00A48960 // mission locals
else
     1@ += 0x3C
end
0@ *= 4
005A: 1@ += 0@ // address of the local variable  
1@ -= 0xA49960
0AB2: ret 1 1@

:__LabelToOffset
if
     0@ == 0
then
     0AB2: ret 1 0
end
0A9F: 1@ = current_thread_pointer
1@ += 0x10  
0A8D: 1@ = read_memory 1@ size 4 virtual_protect 0 // baseIP
0062: 1@ -= 0@ // label address
1@ += 3
0AB2: ret 1 1@

:StatusText
0900: 'BB_19'
0000:


Ты что-то здесь поймешь?
МоДиРатОр)))000)))))

wmysterio
Администраторы
Скриптер
03.05.12 21:48
Offline
Quote (KiLLeR96)
Ты что-то здесь поймешь?

вызов функций(0AB1) и методов(0AA6) игры по адресам. Не знаю только что конкретно вызывается этими методами. Если изучал какое нибудь программирование, то для тебя это должно что то сказать. Объяснить словами тяжело.

KiLLeR96
Модераторы
Модератор
03.05.12 22:05
Offline
как сделать чтобы у СиДжея зазвонил телефон? И анимация взятия трубки
МоДиРатОр)))000)))))

wmysterio
Администраторы
Скриптер
03.05.12 22:27
Offline
Quote (KiLLeR96)
как сделать чтобы у СиДжея зазвонил телефон? И анимация взятия трубки
Это уже целый скрипт писать надо. Загружать wav и модель телефона а затем делать какие то проверки. Вот можно примерно так сделать:
Code
{$Cleo .cs}
0000:
:SUB_RING
thread 'SUB_RING'
03CF: load_wav 23000 as 1 // 23000 - ring sound  

:SUB_RING_A
wait 0
if
03D0:   wav 1 loaded  
jf @SUB_RING_A

:SUB_RING_1
wait 0
03E5: show_text_box 'SUBR1_I' // text for ring
03D1: play_wav 1

:SUB_RING_2
wait 0
if
03D2:   wav 1 ended  
then
03D1: play_wav 1
end
if
player.KeyPressed(9)
then
jump @SUB_RING_B
end
jump @SUB_RING_2

:SUB_RING_B
wait 0
03E6: remove_text_box  
00BE: text_clear_all
040D: unload_wav 1
model.Load(#CELLPHONE)
loading

:SUB_RING_C
wait 0
if
model.Available(#CELLPHONE)
jf @SUB_RING_C
0729: AS_actor $PLAYER_ACTOR hold_cellphone 1  
wait 2500
00BC: show_text_highpriority GXT 'SUBR1_1' time 6000 flag 1  // text 1
wait 6000
00BC: show_text_highpriority GXT 'SUBR1_2' time 6000 flag 1  // text 2
wait 6000
00BC: show_text_highpriority GXT 'SUBR1_3' time 3000 flag 1  // text 3
wait 3000
03E6: remove_text_box  
00BE: text_clear_all
0729: AS_actor $PLAYER_ACTOR hold_cellphone 0
wait 2500
model.Destroy(#CELLPHONE)   
0A93: end_custom_thread

KiLLeR96
Модераторы
Модератор
03.05.12 22:32
Offline
Code
03CF: load_wav 23000 as 1 // 23000 - ring sound

А где можно номера звуков найти?
МоДиРатОр)))000)))))

wmysterio
Администраторы
Скриптер
03.05.12 22:38
Offline
Quote (KiLLeR96)
А где можно номера звуков найти?

Номера звуков можно найти в файле "AudioEvents.txt", что в папке "data". Правда не все звуки требуют загрузки и не все звуки загружаются. Так же многие чёт не воспроизводятся в игре.

KiLLeR96
Модераторы
Модератор
04.05.12 15:38
Offline
Можно ли в мейне обратиться к коду из .cs?
МоДиРатОр)))000)))))

wmysterio
Администраторы
Скриптер
04.05.12 16:24
Offline
Quote (KiLLeR96)
Можно ли в мейне обратиться к коду из .cs?

К переменным некоторым можно, например к глобальным, как $PEREM_1, $PEREM_2
Так же к ещё одним типам глобальных переменных(опкодами 0AB3, 0AB4)

Так же Cleo-скрипт - этот тот же внешний скрипт(external) из main.scm. По этому скрипт нужно переименовать в формат *.scm и кинуть в папку SCRIPT.IMG, а потом в мейне вызывать его.

Просто так код скрипта из мейна вызвать увы нельзя

KiLLeR96
Модераторы
Модератор
05.05.12 13:24
Offline
Можно сделать скрипт звонка мобилы в формате .scm?

Добавлено (05.05.2012, 13:24)
---------------------------------------------
Как сделать чтобы число обновлялось:

Code
$CARHEALTH = car.Health($CAR)
$CARHEALTH = 1000
$CARHEALTH *= 2.5
car.Health($CAR) = $CARHEALTH
03C4: set_status_text $CARHEALTH type 0 GXT ' '

У кара становиться жизней 2500, повреждения кару наносятся но число почему-то не обновляется
МоДиРатОр)))000)))))

wmysterio
Администраторы
Скриптер
05.05.12 15:31
Offline
Quote (KiLLeR96)
У кара становиться жизней 2500, повреждения кару наносятся но число почему-то не обновляется
Должно быть что то вроде этого:
Code
:1
wait 0
car.Health($CAR) = 2500
$6899 = car.Health($CAR)
03C4: set_status_text $6899 type 0 GXT ' '

:1_1
wait 0
$6899 = car.Health($CAR)
$6899 -= 1000
$6899 /= 10
jump @1_1

KiLLeR96
Модераторы
Модератор
05.05.12 15:48
Offline
$6899 = car.Health($CAR)
$6899 -= 1000
$6899 /= 10

От этого у меня тачка сразу загорается

Добавлено (05.05.2012, 15:48)
---------------------------------------------
хотя работает

МоДиРатОр)))000)))))

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