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

Slivkin-Sergey
Модераторы
25.03.14 18:07
Offline
Цитата BoPoH ()
sub_5853D0 - это функция рендеринга прямоугольника на радаре.

Хм-м, в одной из западных Бд она числится как DrawAreaOnRadar. Т.е. ты утверждаешь, что при помощи этой функции можно нарисовать на карте квадрат любого размера, цвета и прозрачности?
Цитата BoPoH ()
Вообще, тебе скорее всего нужна будет не эта функция, а другая, которая создаёт зоны банд

Какая же?

И ещё один вопрос: можно ли сделать .dll функцию, принимающую в качестве параметра указатель на string (или char) и очищающая от него память, включить её в скрипт и передать, например, 12@v? Очистится ли тогда место 12@ в памяти?

BoPoH
Друзья
26.03.14 19:04
Offline
Цитата Slivkin-Sergey ()
Какая же?
Не знаю. Искать нужно.

Цитата Slivkin-Sergey ()
И ещё один вопрос: можно ли сделать .dll функцию, принимающую в качестве параметра указатель на string (или char) и очищающая от него память, включить её в скрипт и передать, например, 12@v? Очистится ли тогда место 12@ в памяти?
Не совсем понял, что именно тебе нужно? Зачем очищать место 12@ в памяти? Что ты подразумеваешь под "местом"? Выразись более понятно, лучше приведи пример.

Slivkin-Sergey
Модераторы
27.03.14 08:58
Offline
Цитата BoPoH ()
Зачем очищать место 12@ в памяти? Что ты подразумеваешь под "местом"?

Я подразумеваю ячейку в памяти (4 байта для int...) переменной 12@v.

BoPoH
Друзья
27.03.14 17:47
Offline
Цитата Slivkin-Sergey ()
Я подразумеваю ячейку в памяти (4 байта для int...) переменной 12@v
12@v означает стринговую переменную. В любом случае, что мешает просто написать 12@ = 0?

Cool_T
Пользователи
30.03.14 12:00
Offline
Друзья у меня не работают скрипты не знаю в чём проблема... Когда я завершаю написание скрипта всегда выходит ошибка "переход на нулевой оффсет" и когда я исправляю её то скрипт спокойно компилируется но он не работает... В чём дело?

Yurko_UA
Модераторы
Модератор
30.03.14 12:16
Offline
Цитата Cool_T ()
Друзья у меня не работают скрипты не знаю в чём проблема... Когда я завершаю написание скрипта всегда выходит ошибка "переход на нулевой оффсет" и когда я исправляю её то скрипт спокойно компилируется но он не работает... В чём дело?
В самом начале скрипта пропиши опкод 0000:

Cool_T
Пользователи
30.03.14 12:54
Offline
Я прописывал такое в самом начале скрипта,скрипт компилировался,но когда я его проверяю он не работает

HYPERMUV
Проверенные
30.03.14 12:57
Offline
Цитата Cool_T ()
Я прописывал такое в самом начале скрипта,скрипт компилировался,но когда я его проверяю он не работает
Код в студию

Михан500
Пользователи
30.03.14 13:26
Offline
Насчет моего мода:Я решил проблему.

Sweeper
Проверенные
30.03.14 21:59
Offline
Код
// STARTER OF MISSIONS FARM
{$CLEO .cs}
0000:

:STARTER
thread 'STARTER'
wait 0
if
0AAB: file_exits "CLEO\MIS_FARM.ini"
jf @STARTER_END
if
$ONMISSION==0
jf @STARTER
if
075C: marker 0@ enabled
then
marker.Disable(0@)
end
0AF0: 5@ = get_int_from_ini_file "CLEO\MISSION.ini" section "MISSION_CJ" key "MISSION_CJ_TOTAL"  
if
5@ > 0 // Это число должно быть равно количеству пройденных миссий. В нашем случаи 1+1+1+1=4
then
jump @STARTER_END
end

:STARTER_1
wait 0
0AF0: 1@ = get_int_from_ini_file "CLEO\MIS_FARM.ini" section "MISSION_CJ" key "markerID"
0AF2: 2@ = get_float_from_ini_file "CLEO\MIS_FARM.ini" section "MISSION_CJ" key "MARKER_X_CJ"
0AF2: 3@ = get_float_from_ini_file "CLEO\MIS_FARM.ini" section "MISSION_CJ" key "MARKER_Y_CJ"
0AF2: 4@ = get_float_from_ini_file "CLEO\MIS_FARM.ini" section "MISSION_CJ" key "MARKER_Z_CJ"
0@=marker.CreateIconAndSphere(1@,2@,3@,4@)

:STARTER_2
0AF0: 5@ = get_int_from_ini_file "CLEO\MIS_FARM.ini" section "MISSION_CJ" key "MISSION_CJ_TOTAL"
if AND
not actor.Dead($PLAYER_ACTOR)
not actor.Driving($PLAYER_ACTOR)
8A0C: not actor $PLAYER_CHAR on_jetpack
8741: not_actor $PLAYER_ACTOR busted
then
     if AND
     $ONMISSION==0  
     0102: actor $PLAYER_ACTOR in_sphere 2@ 3@ 4@ radius 2.0 2.0 2.0 sphere 0 stopped_on_foot
     then
     00BE: text_clear_all
     03E6: remove_text_box
     fade 0 1000
         if
         5@==0
         then
         00BA: show_text_styled GXT 'MISS_01' time 1000 style 2
         wait 1000
         0A94: start_custom_mission "FARM_01"
         jump @STARTER
         end
     end
end

:STARTER_END
wait 0
0A93: end_custum_thread

это код стартера миссии, но когда я становлюсь на маркер, то миссия не начинается. В чем проблема?

wmysterio
Администраторы
Скриптер
30.03.14 22:29
Online
Цитата Sweeper ()
В чем проблема?
Скорее всего отсутствует цикл, который проверяет условия. Добавьте
Код
wait 0
jump @STARTER_2
Перед меткой
Код
:STARTER_END

Cool_T
Пользователи
31.03.14 09:13
Offline
Wmysterio я видел в вкладке "уроки скриптинга" ваш урок по наземным и воздушным транспортам,я потренировался... Создал вертолёт неподалёку от моего дома и сделал чтоб на вертолёте была метка чтоб его можно было видеть на карте и вместо вертолёта мэверика за мной летает вертолёт хантер...
вопрос:как сделать чтобы вертолёт появлялся при наступании гг на метку и чтобы когда вертолёт уничтожали (взрывался,падал) метка пропадала и надо будет идти за новым вертолётом заново на метку:

Код
{$CLEO}
Model.Load(#HUNTER)
Model.Load(#WMYDRUG)
038B: load_requested_models
0@ = Car.Create(#HUNTER, 945.858, 253.3596, 29.1832)
Car.Angle(0@) = 222.5565
Model.Destroy(#HUNTER)
Model.Destroy(#WMYDRUG)
0129: 1@ = create_actor_pedtype 4 model #WMYDRUG in_car 0@ driverseat
0825: set_helicopter 0@ instant_rotor_start
0A1C: set_helicopter 0@ play_engine_sounds 1
0726: heli 0@ follow_actor $PLAYER_ACTOR follow_car  -1 radius 20.0
Marker.create_above_car($HELMARK,0@)
0A93: end_thread

Добавлено (31.03.14, 07:13)
---------------------------------------------
Ааа.... Извините в сайте плохо адаптируюсь... Wmusterio скинь ссылку в вк если ты там зареган

wmysterio
Администраторы
Скриптер
31.03.14 11:06
Online
Цитата Cool_T ()
я видел в вкладке "уроки скриптинга" ваш урок по наземным и воздушным транспортам,я потренировался... Создал вертолёт неподалёку от моего дома и сделал чтоб на вертолёте была метка чтоб его можно было видеть на карте и вместо вертолёта мэверика за мной летает вертолёт хантер...вопрос:как сделать чтобы вертолёт появлялся при наступании гг на метку и чтобы когда вертолёт уничтожали (взрывался,падал) метка пропадала и надо будет идти за новым вертолётом заново на метку
Это проще реализовать с помощью цикла. Вот примерный код:

Код
{$CLEO}
Model.Load(#HUNTER)
Model.Load(#WMYDRUG)
038B: load_requested_models  

:L_1
0@ = Car.Create(#HUNTER, 945.858, 253.3596, 29.1832)
Car.Angle(0@) = 222.5565
0129: 1@ = create_actor_pedtype 4 model #WMYDRUG in_car 0@ driverseat
0825: set_helicopter 0@ instant_rotor_start
0A1C: set_helicopter 0@ play_engine_sounds 1
0726: heli 0@ follow_actor $PLAYER_ACTOR follow_car  -1 radius 20.0
Marker.CreateAboveCar($HELMARK, 0@)  
1@ = 0

while 1@ == 0
wait 0
     if
     056E:   car 0@ defined
     then
         if OR
         0119:   car 0@ wrecked
         02BF:   car 0@ sunk
         then
         1@ = -1
         end
     else
     1@ = -1
     end
end

Marker.Disable($HELMARK)
if
1@ == -1
then
jump @L_1
end
Model.Destroy(#HUNTER)
Model.Destroy(#WMYDRUG)
0A93: end_custom_thread
Цитата Cool_T ()
Wmusterio скинь ссылку в вк если ты там зареган
Я зареган вконтакте, но отвечаю только "Избранным" (Тем, кого уже более-менее знаю на сайте.) Посмотри в нашей группы вконтакте, раздел "Контакты".

Cool_T
Пользователи
31.03.14 13:52
Offline
Я пробовал сделать по своему но выходит ошибка

Добавлено (31.03.14, 11:46)
---------------------------------------------
Wmusterio ты забыл в коде добавить метку на которую надо наступить

Добавлено (31.03.14, 11:52)
---------------------------------------------
И кстати когда я опробывал твой метод результат был таков:над вертолётом нет иконки(его не видно на карте и радаре) и нету метки на которую надо встать гг чтобы вертолёт появился твой код надо дополнить...

Прикрепления: 6388555.jpg(166Kb)

wmysterio
Администраторы
Скриптер
31.03.14 14:46
Online
Цитата Cool_T ()
ты забыл в коде добавить метку на которую надо наступить
думаю, вы и из без моей помощи с этой меткой сможете разобраться. если нет, то луче почитайте основы скритинга.

Cool_T
Пользователи
31.03.14 19:08
Offline
А где найти основы скриптинга?

wmysterio
Администраторы
Скриптер
31.03.14 19:28
Online
Цитата Cool_T ()
А где найти основы скриптинга?
уроки. Уроки отсортированы по дате добавления. На последних страницах первые уроки, в которых находятся все основы.

Cool_T
Пользователи
31.03.14 21:58
Offline
Дайте опкод на то что бы дать гг имунитет от огнестрела огня и падений  (т.е сделать гг бесмертным)

Sweeper
Проверенные
31.03.14 23:17
Offline
Снова обращаюсь за помощью.
Я создавал свою миссию, но когда становлюсь на маркер, затемняется экран и игра вылетает.
Вот код миссии:
Код
{$CLEO .cm}

:GR_ST
thread 'FARM_01'
model.Load(#LINERUN)
model.Load(#ARTICT1)
038B: load_requested_models

:GR_PR
wait 0
if and
model.Available(#LINERUN)
model.Available(#ARTICT1)
then
player.CanMove($PLAYER_CHAR) = false
1@ = car.Create(#LINERUN, -50.3035, 77.1073, 3.1096)
car.Angle(1@) = 340.0973
2@ = car.Create(#ARTICT1, -1030.8405, -671.4868, 32.0078)
car.Angle(2@) = 274.9235
10@ = marker.CreateAboveCar(2@)
model.Destroy(#ARTICT1)
model.Destroy(#LINERUN)
072A: put_actor $PLAYER_ACTOR into_car 1@ driverseat
player.CanMove($PLAYER_CHAR) = true
018A: 11@ = create_checkpoint_at -1030.8405 -671.4868 32.0078      
else
jump @GR_PR
end

:GR_PR_DIS
        if
        actor.Dead($PLAY_ACTOR)
        then
        marker.Disable(10@)
        marker.Disable(11@)
        //вывести текст, что игрок мертв
        jump @PROVAL
        else
            if
            car.Wrecked(1@)
            02BF: car 1@ sunk
            then
            marker.Disable(10@)
            marker.Disable(11@)
            // вывести сообщение, что грузовик уничтожен
            jump @PROVAL
            else
                if
                car.Wrecked(2@)
                02BF: car 2@ sunk
                then
                marker.Disable(10@)
                marker.Disable(11@)
                // вывести сообщение, что прицеп уничтожен
                jump @PROVAL
                else
                    if     
                    00DB: not actor $PLAYER_ACTOR in_car 1@
                    then
                    marker.Disable(10@)
                    marker.Disable(11@)
                    12@ = marker.CreateAboveCar(1@)
                    07E0: set_marker 12@ type_to 1
                    // вывести сообщение, что садись в машину
                    else
                        if
                        07AB: trailer 0@ attached_to_cab 1@
                        then
                        jump @HOD_2
                        else
                        jump @GR_PR_DIS
                        end
                    end
                end
            end
        end
            
:HOD_2 // действия, когда прицеп прицеплен
marker.Disable(10@)
marker.Disable(11@)
018A: 20@ = create_checkpoint_at -50.3035 77.1073 3.1096
03BC: 21@ = create_sphere_at -50.3035 77.1073 3.1096 radius 2.5
// сообщение, что отвези удобрение домой

:GR_PR_DIS_2
        if
        actor.Dead($PLAY_ACTOR)
        then
        marker.Disable(20@)
        03BD: destroy_sphere 21@
        //вывести текст, что игрок мертв
        jump @PROVAL
        else
            if
            car.Wrecked(1@)
            02BF: car 1@ sunk
            then
            marker.Disable(20@)
            03BD: destroy_sphere 21@
            // вывести сообщение, что грузовик уничтожен
            jump @PROVAL
            else
                if
                car.Wrecked(2@)
                02BF: car 2@ sunk
                then
                marker.Disable(20@)
                03BD: destroy_sphere 21@
                // вывести сообщение, что прицеп уничтожен
                jump @PROVAL
                else
                    if     
                    00DB: not actor $PLAYER_ACTOR in_car 1@
                    then
                    marker.Disable(20@)
                    03BD: destroy_sphere 21@
                    12@ = marker.CreateAboveCar(1@)
                    07E0: set_marker 12@ type_to 1
                    // вывести сообщение, что садись в машину
                    else
                        if
                        07AB: not trailer 0@ attached_to_cab 1@
                        then
                        marker.Disable(20@)
                        03BD: destroy_sphere 21@
                        25@ = marker.CreateAboveCar(2@)
                        07E0: set_marker 25@ type_to 1
                        else
                            if AND
                            01AE: car 1@ sphere 0 near_point -50.3035 77.1073 3.1096 radius 2.5 2.5 stopped     
                            07AB: trailer 2@ attached_to_cab 1@     
                            then
                            jump @PASSED_MIS
                            else
                            jump @GR_PR_DIS_2
                            end
                        end
                    end
                end
            end
        end
                  
                            
:PASSED_MIS
wait 0
player.Money($PLAYER_CHAR) += 15000
00BA: show_text_styled GXT 'M_PASS' time 5000 style 1
0AF0: 18@ = get_int_from_ini_file "CLEO\MISSION.ini" section "MISSION_CJ" key "MISSION_CJ_TOTAL"
18@ += 1
0AF1: write_int 18@ to_ini_file "CLEO\MISSION.ini" section "MISSION_CJ" key "MISSION_CJ_TOTAL"
jump @FARM_01_END

:PROVAL
wait 0
00BA: show_text_styled GXT 'M_FALL' time 5000 style 1
jump @FARM_01_END

:FARM_01_END
wait 0
0A93: end_custum_thread
Стартер к миссии я писал выше. Если надо могу еще раз скинуть.
Отредактировал Slivkin-Sergey - Вторник, 01.04.14, 11:54

Cool_T
Пользователи
01.04.14 12:10
Offline
Чувак проверь правильность всего кода у меня такоеже было

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