[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 26 из 127«122425262728126127»
Форум » Игры серии 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
Администраторы
Скриптер
25.06.12 12:19
Offline
OptimusЧто бы работал поток после сейва, нужно дать ему имя 03A4: name_thread 'healt' Вот пример с двумя рабочими потоками:
Code
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007
DEFINE OBJECTS 1
DEFINE OBJECT SANNY BUILDER 3.04        

DEFINE MISSIONS 0

DEFINE EXTERNAL_SCRIPTS 0 // Use -1 in order not to compile AAA script

DEFINE UNKNOWN_EMPTY_SEGMENT 0

DEFINE UNKNOWN_THREADS_MEMORY 0

{$VERSION 3.1.0027}

//-------------MAIN---------------
03A4: name_thread 'DEATHMATCH'   
016A: fade 0 time 0
01F0: set_max_wanted_level_to 0   
0111: set_wasted_busted_check 0   
00C0: set_current_time_hours_to 8 minutes_to 0   
04E4: unknown_refresh_game_renderer_at -116.747 109.531   
03CB: set_rendering_origin_at -116.747 109.531 20.4   
0053: $PLAYER_CHAR = create_player #NULL at -116.747 109.531 20.4   
01F5: $PLAYER_ACTOR = get_player_actor $PLAYER_CHAR   
07AF: $PLAYER_GROUP = player $PLAYER_CHAR group   
0373: set_camera_directly_behind_player   
0581: enable_radar 1   
01B6: set_weather 0   
0001: wait 0 ms   
087B: set_player $PLAYER_CHAR clothes_texture "PLAYER_FACE" model "HEAD" body_part 1   
087B: set_player $PLAYER_CHAR clothes_texture "TRACKTRERIS" model "TRACKTR" body_part 2   
087B: set_player $PLAYER_CHAR clothes_texture "SNEAKERHEATWHT" model "SNEAKER" body_part 3   
087B: set_player $PLAYER_CHAR clothes_texture "HOODYABASE5" model "HOODYA" body_part 0   
0627: update_integer_stat 23 to 1000.0   
070D: rebuild_player $PLAYER_CHAR   
01B4: set_player $PLAYER_CHAR can_move 1   
04BB: select_interior 0   
0629: change_integer_stat 181 to 4   
0627: update_integer_stat 24 to 1000.0   
0945: get_player $PLAYER_CHAR max_armour_to 1000   
055F: set_player $PLAYER_CHAR max_armour += 1000   
016C: restart_if_wasted_at -116.747 109.531 20.4 angle 137.0 town_number 0   
016D: restart_if_busted_at -116.747 109.531 20.4 angle 90.0 town_number 0   
0180: set_on_mission_flag_to $ONMISSION // Note: your missions have to use the variable defined here   
0004: $DEFAULT_WAIT_TIME = 250   
03E6: remove_text_box   
gosub @DEATHMATCH_A  
016A: fade 1 time 0
01B2: give_actor $PLAYER_ACTOR weapon 29 ammo 9000 // Load the weapon model before using this   
01B2: give_actor $PLAYER_ACTOR weapon 31 ammo 9000 // Load the weapon model before using this   
0249: release_model #MP5LNG   
0249: release_model #M4  
004F: create_thread @healt // начало потока 1
004F: create_thread @save  // начало потока 2
004E: end_thread   

:DEATHMATCH_A
wait 0
0247: load_model #MP5LNG   
0247: load_model #M4   
038B: load_requested_models  

:DEATHMATCH_1
wait 0
00D6: if
0248:   model #MP5LNG available  
004D: jump_if_false @DEATHMATCH_1
00D6: if
0248:   model #M4 available  
004D: jump_if_false @DEATHMATCH_1
return

{ Поток 1 }
:healt
03A4: name_thread 'healt'  
0001: wait 100 ms  
0226: $HEAL = actor $PLAYER_ACTOR health   
0008: $HEAL += 500   
0223: set_actor $PLAYER_ACTOR health_to $HEAL    
jump @healt
      
      
{ Поток 2 }
:SAVE
03A4: name_thread 'SAVE'  
0001: wait 0 ms  
00D6: if
0AB0:  key_pressed 115 // F4
004D: jump_if_false @SAVE  
03D8: show_save_screen  
0001: wait 250 ms   
jump @SAVE

Slivkin-Sergey
Модераторы
25.06.12 13:35
Offline
wmysterio, а что с майном?

Добавлено (25.06.2012, 11:35)
---------------------------------------------
Святой Сабзиро. Установил еще одну СА, на ней все пашет. dry


Werewolf
Проверенные
25.06.12 14:09
Offline
wmysterio, Значит если в потоке дать ему имя опкодом 03A4: name_thread 'healt'
То после загрузки сейва все будет работать?

Добавлено (25.06.2012, 12:09)
---------------------------------------------
А что там урок готов?


wmysterio
Администраторы
Скриптер
25.06.12 14:55
Offline
Quote (Optimus)
То после загрузки сейва все будет работать?
Я тестировал - работает
Quote (Optimus)
А что там урок готов?
Почти готов smile

Werewolf
Проверенные
25.06.12 15:14
Offline
wmysterio, Спасибо испробую и еще вопрос
Вот после смерти должен делаться скриншот, но проблема в том что не отображается число денег
У меня в моде деньги на очки заменены, и надо что бы при смерти делался скриншот с отображением этих очков

GMSxGTR
Пользователи
26.06.12 17:07
Offline
Code

{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP  

:NONAME_2
wait 0  
if  
    Player.Defined($PLAYER_CHAR)
if  
04A9:   actor $PLAYER_ACTOR driving_heli  
jf @NONAME_2  
03C0: 1@ = actor $PLAYER_ACTOR car  
0@ = 304540  
if and
    Actor.InCar($PLAYER_ACTOR, 1@)
   &0(0@,1i) == 16711680  
jf @NONAME_2  
04A2: heli $Heli fly_to -6842.3115 -3189.4121 5.4886 speed 110.0 60.0
wait 200  

:NONAME_94
wait 0  
if and
    Actor.InCar($PLAYER_ACTOR, 1@)
   &0(0@,1i) == 16711680  
jf @NONAME_94  
   
wait 200  
jump @NONAME_150  

:NONAME_150
Car.RemoveReferences(1@)
jump @NONAME_2


Автопилот сделал на вертолете! А как отключить?

wmysterio
Администраторы
Скриптер
26.06.12 17:31
Offline
Quote (GMSxGTR)
Автопилот сделал на вертолете! А как отключить?

Создай дополнительную переменную, как бы переключатель. Если она = 1, то самолётом можно управлять, если она = 0 - автопилот

wmysterio
Администраторы
Скриптер
26.06.12 17:43
Offline
Quote (Optimus)
Вот после смерти должен делаться скриншот, но проблема в том что не отображается число денег
У меня в моде деньги на очки заменены, и надо что бы при смерти делался скриншот с отображением этих очков

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

Werewolf
Проверенные
26.06.12 17:59
Offline
wmysterio, Да не надо что при смерти делался скриншот с этими очками
Сам как нибудь найду способ

wmysterio
Администраторы
Скриптер
26.06.12 19:53
Offline
Optimus, ну что бы делался скрин при смерти, то вот:
Code
{$CLEO}
0000:

while true
     if
     actor.dead($PLAYER_ACTOR)
     then
     0A1E: dump_screen 1  
     wait 1000
     end
wait 0
end
Но заставить скринить и очки никак не получается

Werewolf
Проверенные
26.06.12 20:25
Offline
wmysterio, Да это я и так знаю
Но решил написать в ридми:
Quote
Если решили заскринить свои очки набранные за убийство то для этого существует Print Screen ну или Fraps


Осталось одну проблему решить как сделать что бы за каждое убийство любого прохожего давали очки, как в cs за убийство дают очко
Так как без этой возможности мод потеряет смысл
Я пока вообще еще карту делаю, вот в моделирование мало знаний имею, хорошо хоть карту, точнее ее основу построил, рельеф, стены, осталось другие объекты что бы можно было прятаться от врагов

GMSxGTR
Пользователи
26.06.12 21:32
Offline
wmysterio, и куда этот нолик единичку тулить?
Отредактировал GMSxGTR - Вторник, 26.06.12, 21:32

Werewolf
Проверенные
27.06.12 16:33
Offline
wmysterio, Может приведешь пример скрипта при убийстве любого прохожего вне зависимо от того на каком он расстояний, то Карлу дают рандомное число денег 2gun
Я урок уже дня 3 жду

wmysterio
Администраторы
Скриптер
27.06.12 17:39
Offline
Quote (Optimus)
Я урок уже дня 3 жду
Урок уже написан несколько дней назад урок. Там есть пример по убийствам.

Quote (GMSxGTR)
и куда этот нолик единичку тулить?
Я смотрел этот скрипт, переделывал его, но отключить автопилот у меня не получилось. Верт упрямо летит в точку.

Werewolf
Проверенные
27.06.12 20:31
Offline
А ну ясно, спс, ща почитаю

Добавлено (27.06.2012, 18:31)
---------------------------------------------
wmysterio, Так там события актеров, и нету того что надо, с прицелом я и сам могу сделать, но вдруг игрок будет убивать без прицела?
Лан пока сделаю с прицелом, потом придумаю как сделать без прицела


wmysterio
Администраторы
Скриптер
27.06.12 21:11
Offline
Optimus, По идеи этот скрипт должен работать:
Code
{$CLEO}
0000:

var
0@: integer = 0
end

while true
     03F0: enable_text_draw 1
     045A: draw_text_1number 20.0 20.0 GXT 'GXTNAME' number 0@ // Kills: ~1~
     if
     074F:   actor $PLAYER_ACTOR ped_event == 11
     then  
     0@ += 1
     end
wait 0
end
Так как событие "Актёр убил кого либо" имеет номер 11. Проверка показала, что это именно так. Но вот беда - условие впёрто считает проверку ложной, то есть событие не хочет быть равно, когда я убиваю перса, хотя на экране чётко видно число 11 wacko

Werewolf
Проверенные
27.06.12 22:25
Offline
Идея, спасибо что подкинул щя по своему испробую

Добавлено (27.06.2012, 20:17)
---------------------------------------------
У мя вопрос, в SB 11 значится как актер помер?
а в твоей, актер убил кого то?

Добавлено (27.06.2012, 20:25)
---------------------------------------------
Проверка не срабатывает


wmysterio
Администраторы
Скриптер
27.06.12 23:19
Offline
Quote (Optimus)
а в твоей, актер убил кого то?
Ага. Я составлял список по своих тестах. Когда СЖ умирает, событие показывает число 10. В уроке я делал пример, когда целишься в актёра и убиваешь его, то событие убитого актёра тоже 10.

Quote (Optimus)
Проверка не срабатывает
У меня то ж. Ща посмотрю в старых архивах. Может там где то найду(когда был новичком сохранял страницы с материалами)

wmysterio
Администраторы
Скриптер
27.06.12 23:34
Offline
Кажись что то нарыл.
Code
{$CLEO}
0000:

var
0@: integer = 0
end

while true
      03F0: enable_text_draw 1
      0806: get_player $PLAYER_CHAR kills_from_last_checkpoint 0@   
      045A: draw_text_1number 20.0 20.0 GXT 'GXTNAME' number 0@ // Kills: ~1~
wait 0
end
Опкод 0806 считывает количество убитых за сеанс игры.
По крайней мере хоть считает =)

Werewolf
Проверенные
28.06.12 08:31
Offline
Но он не чем не поможет

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