[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 18 из 128«121617181920127128»
Форум » Игры серии 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)

Slivkin-Sergey
Модераторы
07.05.12 19:15
Offline
Quote (KiLLeR96)
Читай сообщение #329!

Я читал, но все равно не до конца понял.

wmysterio
Администраторы
Скриптер
07.05.12 20:01
Offline
Quote (Slivkin-Sergey)
при компиляции названия лейблов сохранялись?
При компиляции санни билдер делает текстовый файл с кодом, набранным в СБ. Перед тем, как заново открыть нужно скопировать содержимое файла, а затем заменить весь декомпилированный код на скопированный. Тогда все метки будут в изначальной форме. Такой код называется исходным. Он намного проще читаеться, чем просто открыть СБ скрипт.

Quote (Slivkin-Sergey)
Я читал, но все равно не до конца понял.
Массив - это совокупность однотипных данных. Используя массивы, можно навсегда забыть о лимитах переменных. Советую прочитать этот урок. Там есть пример из реальной жизни, думаю там будет понятнее.

Slivkin-Sergey
Модераторы
07.05.12 20:13
Offline
Quote (wmysterio)
При компиляции санни билдер делает текстовый файл с кодом, набранным в СБ. Перед тем, как заново открыть нужно скопировать содержимое файла, а затем заменить весь декомпилированный код на скопированный. Тогда все метки будут в изначальной форме. Такой код называется исходным. Он намного проще читаеться, чем просто открыть СБ скрипт.

Я имею ввиду, что когда я открывал, допустим, оригинальный майн, там все имена лейблов были сохранены.

KiLLeR96
Модераторы
Модератор
07.05.12 21:49
Offline
Как сделать такую инфопанель как Черный список в DRAG RACE?
МоДиРатОр)))000)))))

wmysterio
Администраторы
Скриптер
07.05.12 21:56
Offline
Quote (KiLLeR96)
Как сделать такую инфопанель как Черный список в DRAG RACE?

Почитай пост #318. Первое сообщение. Там просто нарисован прямоугольник, в середине которого обычный текст. Или скачай мод и посмотри код файла "RESP1.cs".

KiLLeR96
Модераторы
Модератор
07.05.12 22:34
Offline
Если переменная задана в одном скрипте , то можно обратиться к ней с другого скрипта?
МоДиРатОр)))000)))))

wmysterio
Администраторы
Скриптер
07.05.12 22:43
Offline
Quote (KiLLeR96)
Если переменная задана в одном скрипте , то можно обратиться к ней с другого скрипта?
Можно. Есть даже 2 способа.
1) использовать глобальные переменные $
2) ещё есть способ использовать переменные, созданные опкодами:
Code
0AB4: 0@ = var 0
0AB3: var 0 = 10
0 - это переменная, такая как 0@, $, просто без символов. Их можно использовать в любых скриптах.

KiLLeR96
Модераторы
Модератор
07.05.12 23:05
Offline
Почему переменная стала обнуляться при загрузке игры?
МоДиРатОр)))000)))))

wmysterio
Администраторы
Скриптер
07.05.12 23:19
Offline
Quote (KiLLeR96)
Почему переменная стала обнуляться при загрузке игры?
Попробуй вырезать блок
Code
var
$DUELSWIN :Integer
end  

KiLLeR96
Модераторы
Модератор
07.05.12 23:29
Offline
все-равно dry

Добавлено (07.05.2012, 21:29)
---------------------------------------------
Этот блок мог повлиять?

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

wmysterio
Администраторы
Скриптер
07.05.12 23:42
Offline
Quote (KiLLeR96)
Этот блок мог повлиять?
В Cleo нет возможности работать с таймерами и статус-текстами, так что этот фактор мог повлиять.

KiLLeR96
Модераторы
Модератор
07.05.12 23:45
Offline
а как сделать альтернативу таймеру?
МоДиРатОр)))000)))))

Slivkin-Sergey
Модераторы
08.05.12 11:55
Offline
У меня еще вопрос. Что неправильно в этом коде? После затемнения fade 0 1000 текст выводится и маркер создается, но экран не просветляется, хотя я поставил fade 1 1000.

Code
wait 2750  
fade 0 1000                    

:MISSION_0_2266
wait 0  
if  
    Model.Available(#GREENWOO)
else_jump @MISSION_0_2266  
select_interior 0  
0860: link_actor $Actor_Sweet to_interior 0  
0860: link_actor $PLAYER_ACTOR to_interior 0  
Actor.PutAt($PLAYER_ACTOR, 2519.162, -1678.689, 14.6282)
Actor.Angle($PLAYER_ACTOR) = 51.9413
$Sweet_Car = Car.Create(#GREENWOO, 2508.825, -1672.539, 13.3811)
Car.Angle($Sweet_Car) = 349.9006
0229: set_car $Sweet_Car primary_color_to 9 secondary_color_to 15  
Actor.PutAt($Actor_Sweet, 0.0, 0.0, 0.0)
0430: put_actor $Actor_Sweet into_car $Sweet_Car passenger_seat 0

:DRUGRAID_1  
wait 1000  
fade 1 1000

:DRUGRAID_2
0186: 4@ = create_marker_above_car $Sweet_Car
07E0: set_marker 4@ type_to 1
00BC: show_text_highpriority GXT 'INTRO13' time 5000 flag 1
wait 5000
if
Actor.InCar($PLAYER_ACTOR, $Sweet_Car)
jf @DRUGRAID_2
02A3: enable_widescreen 0  
Player.CanMove($PLAYER_CHAR) = True
Camera.Restore_WithJumpCut
wait 0  
01E3: show_text_1number_styled GXT 'M_PASS' number 5000 time 4000 style 1  // ¯…CC…• ‹‘ŒO‡­E­A!~n~~w~$~1~
Player.Money($PLAYER_CHAR) += 5000
$SWEET_TOTAL_PASSED_MISSION += 1  
0349: set_text_draw_font 1  
create_thread @STARTER  
return  

:MISSION_0_2483
wait 0  
00BA: show_text_styled GXT 'M_FAIL' time 5000 style 1  // ~r~–…CC…• ŒPO‹A‡E­A!
create_thread @STARTER  
return

wmysterio
Администраторы
Скриптер
08.05.12 13:45
Offline
Quote (Slivkin-Sergey)
У меня еще вопрос. Что неправильно в этом коде? После затемнения fade 0 1000 текст выводится и маркер создается, но экран не просветляется, хотя я поставил fade 1 1000.
Возможно модель #GREENWOO не загрузилась, вот и условие не срабатывает.

KiLLeR96
Модераторы
Модератор
08.05.12 16:08
Offline
Вот код. Можешь вставить сюда включение и выключение таймера?
МоДиРатОр)))000)))))

Slivkin-Sergey
Модераторы
08.05.12 18:31
Offline
Я понял в чем моя ошибка, маэстро. Я забыл вставить Camera.RestoreWithJumpCut. Но теперь у меня возник еще один вопрос: как сделать, чтоб допустим создался на карте чекпоинт, к которому надо ехать, и пока игрок к нему ехал, на экран выводились к-л тексты, а когда игрок на чекпоинте, то текущий текст очищался?

wmysterio
Администраторы
Скриптер
08.05.12 18:47
Offline
Quote (Slivkin-Sergey)
Я понял в чем моя ошибка, маэстро. Я забыл вставить Camera.RestoreWithJumpCut. Но теперь у меня возник еще один вопрос: как сделать, чтоб допустим создался на карте чекпоинт, к которому надо ехать, и пока игрок к нему ехал, на экран выводились к-л тексты, а когда игрок на чекпоинте, то текущий текст очищался?
Это нужно делать в цикле и завести переменную, которая будет в качестве счетчика, а дальше высчитывать время smile вот небольшой код:
Code
0@ = 0.0

:LABEL
wait 0
if
0@ == 2.0 // если шаг равен 2.0, то выводим текст 1
then
00BC: show_text_highpriority GXT 'TEXT_1' time 5000 flag 1      
end
if
0@ == 6.0
then
00BC: show_text_highpriority GXT 'TEXT_2' time 5000 flag 1      
end
if
0@ == 10.0
then
00BC: show_text_highpriority GXT 'TEXT_3' time 5000 flag 1      
end
0@ += 0.25 // задаём шаг к тексту   
jump @LABEL


Quote (KiLLeR96)
Можешь вставить сюда включение и выключение таймера?
Вот небольшой пример таймера:
Code
{$CLEO .cs}
0000:
:DUEL
thread 'DUEL'
wait 0
if
0ADC: test_cheat "DUELON"
jf @DUEL
054C: use_GXT_table 'DUEL'
03E5: show_text_box 'DUELM'
13@ = 0
20@ = 300.0

while 13@ > -1
       03F0: enable_text_draw 1    
       038E: draw_box_position 320.0 15.0 size 301.0 23.0 RGBA 0 0 0 128
       038E: draw_box_position 320.0 15.0 size 20@ 19.0 RGBA 255 0 0 255
          
       if OR
       0ADC: test_cheat "DUELOFF"    
       0741:   actor $PLAYER_ACTOR busted    
       actor.Dead($PLAYER_ACTOR)
       then
       jump @DUEL_1
       end    
       if
       0.0 > 20@
       then
       13@ = -1
       end         
       20@ += -0.025  // управление таймером: чем меньше число, тем медленнее будет идти таймер
wait 0
end

:DUEL_1
wait 0
03F0: enable_text_draw 0
03E5: show_text_box 'DUELM2'
jump @DUEL
Я его использовал в моде DRAG RACE 3.0. Вверху будет полоска

Slivkin-Sergey
Модераторы
08.05.12 19:05
Offline
Quote (wmysterio)
Это нужно делать в цикле и завести переменную, которая будет в качестве счетчика, а дальше высчитывать время

Не понял... переменная сама понимает, что она отвечает за время? (это был не сарказм)
Другого способа нет? Просто я еще не добрался до циклов sad

wmysterio
Администраторы
Скриптер
08.05.12 19:11
Offline
Quote (Slivkin-Sergey)
Не понял... переменная сама понимает, что она отвечает за время
переменной всё равно, мы просто каждый раз добавляем число к значению этой переменной и она начинает увеличиваться. Главную роль играют условия. Если переменная будет равна нужному числу, то выводим текст, если нет, то пропускаем. Искуственный интелект - игра меременных так сказать ))))

Quote (Slivkin-Sergey)
Другого способа нет? Просто я еще не добрался до циклов
Весь скриптинг строится на циклах, и я уверен на 100%, что ты уже использовал его, даже не подозревая этого wink

Slivkin-Sergey
Модераторы
08.05.12 19:15
Offline
Я что-то припоминаю... т.е. цикл выполняется до того, как условие не будет true? Можно ли какой-нибудь банальный пример, ибо мое "не очень скриптерское мышление" не позволяет мне полностью понять тот?

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