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

KiLLeR96
Модераторы
Модератор
26.03.12 00:24
Offline
Когда я захожу в зону появляется текст только по этому опкоду.

Добавлено (26.03.2012, 00:24)
---------------------------------------------
Можно ли прибавить к переменной это:

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

wmysterio
Администраторы
Скриптер
26.03.12 00:33
Offline
Quote (УбивашкА)
Можно ли прибавить к переменной это:
можно
Code
...
0@ = 10
0209: 1@ = random_int_in_ranges 5 20
005A: 0@ += 1@ // (int)     
...

Для дробный чисел:
Code
...
0@ = 10.0
0208: 1@ = random_float_in_ranges 5.0 20.0    
005B: 0@ += 1@ // (float)   
...

KiLLeR96
Модераторы
Модератор
26.03.12 01:28
Offline
Code
thread 'steal'
$X = 2388.2163
$Y = -1279.662
$Z = 25.1291
wait 0
if Player.Defined($PLAYER_CHAR)
then
3@ = marker.CreateIconAndSphere(52, 2388.2163, -1279.662, 25.1291)
end
jump @steal1
:steal1
if
00FF:   actor $PLAYER_ACTOR sphere 1 in_sphere $X $Y $Z radius 1.0 1.0 2.0 on_foot  
then
016A: fade 0 time 5000  
00BA: show_text_styled GXT 'STEAL' time 1000 style 2  // STEAL
Marker.Disable(3@)
end
0A93: end_custom_thread

Создал маркер прихожу к нему он не исчезает и текста нету
МоДиРатОр)))000)))))

wmysterio
Администраторы
Скриптер
26.03.12 01:37
Offline
УбивашкА, сначала нужно писать текст, а потом делать затемнение fade. Вот мой вариант:
Code
:steal
thread 'steal'
wait 0
if   
Player.Defined($PLAYER_CHAR)
jf @steal
$X = 2388.2163
$Y = -1279.662
$Z = 25.1291
3@ = marker.CreateIconAndSphere(52, $X, $Y, $Z)

:steal1
wait 0
if
00FF:   actor $PLAYER_ACTOR sphere 0 in_sphere $X $Y $Z radius 2.0 2.0 2.0 on_foot    
jf @steal1
Marker.Disable(3@)
00BA: show_text_styled GXT 'STEAL' time 2000 style 2  // STEAL
016A: fade 0 time 5000    
wait 5000
0A93: end_custom_thread

KiLLeR96
Модераторы
Модератор
26.03.12 11:08
Offline
Посмотри что не так: а то я захожу на маркер он исчезает и через пару секунд игра крашится
Code
{$CLEO .cs}
0000:
var
0@ :Integer
2@ :Integer
end
   
:steal  
thread 'steal'  
wait 0  
if    
Player.Defined($PLAYER_CHAR)  
jf @steal
$X = 2388.2163  
$Y = -1279.662  
$Z = 25.1291  
3@ = marker.CreateIconAndSphere(52, $X, $Y, $Z)  

:steal1  
wait 0  
if  
00FF:   actor $PLAYER_ACTOR sphere 0 in_sphere $X $Y $Z radius 2.0 2.0 2.0 on_foot     
jf @steal1  
Marker.Disable(3@)  
00BA: show_text_styled GXT 'STEAL' time 2000 style 2  // STEAL

:steal2
wait 1000
03F0: enable_text_draw 1
045A: draw_text_1number 30.0 0.0 GXT 'NAGRABLENO' number 0@

:steal4
wait 0
0@ = 0  

:steal5
wait 1000
0209: 2@ = random_int_in_ranges 5 20
0AD2: 1@ = player $PLAYER_CHAR targeted_actor
if and
actor.Defined(1@)
0457:   player $PLAYER_CHAR aiming_at_actor 1@
82F2:   not actor 1@ model == #LAPD1  
0611:   actor 1@ performing_animation "handsup"
jf @steal5
0@  += 2@
jump @steal5
0A93: end_custom_thread
  
МоДиРатОр)))000)))))

wmysterio
Администраторы
Скриптер
26.03.12 12:42
Offline
Quote (УбивашкА)
Посмотри что не так: а то я захожу на маркер он исчезает и через пару секунд игра крашится
Вот пробуй это:
Code
{$CLEO .cs}
0000:
var
0@ :Integer
2@ :Integer
end
           
:steal      
thread 'steal'      
wait 0      
if        
Player.Defined($PLAYER_CHAR)      
jf @steal
$X = 2388.2163      
$Y = -1279.662      
$Z = 25.1291      
3@ = marker.CreateIconAndSphere(52, $X, $Y, $Z)      

:steal1      
wait 0      
if      
00FF:   actor $PLAYER_ACTOR sphere 0 in_sphere $X $Y $Z radius 2.0 2.0 2.0 on_foot         
jf @steal1      
Marker.Disable(3@)      
00BA: show_text_styled GXT 'STEAL' time 2000 style 2  // STEAL
0@ = 0

:steal2
wait 0
03F0: enable_text_draw 1
045A: draw_text_1number 30.0 0.0 GXT 'NAGRABLENO' number 0@
0209: 2@ = random_int_in_ranges 5 20
0AD2: 1@ = player $PLAYER_CHAR targeted_actor
if
actor.Defined(1@)
then
        if AND
        82F2:   not actor 1@ model == #LAPD1      
        0611:   actor 1@ performing_animation "handsup"
        then
        0@  += 2@
        end
end
jump @steal2
0A93: end_custom_thread
Ошибка вот в этом коде:
Code
actor.Defined(1@)
0457:   player $PLAYER_CHAR aiming_at_actor 1@
82F2:   not actor 1@ model == #LAPD1      
0611:   actor 1@ performing_animation "handsup"
Дело в том, что когда СЖ никуда не целится, то в переменную заносится -1. И тут сразу идёт проверки, связаны актёром, которого в данный момент не существует. Сначала нужно проверить на существование актёра а затем выполнять действия над ним.

Кстати, опкод:
Code
     0457:   player $PLAYER_CHAR aiming_at_actor 1@
здесь лишний, потому что мы заносим в переменную актёра опкодом:
Code
0AD2: 1@ = player $PLAYER_CHAR targeted_actor
а это значит, что игрок по любому целится в актёра 1@ и проверять ещё раз это думаю не нужно.

KiLLeR96
Модераторы
Модератор
26.03.12 13:07
Offline
Всё нормально только почему-то текст не выводится
Отредактировал УбивашкА - Понедельник, 26.03.12, 13:17
МоДиРатОр)))000)))))

wmysterio
Администраторы
Скриптер
26.03.12 13:32
Offline
УбивашкА, Возможны причины:
1) пробуй в место 30.0 0.0 поставить 30.0 30.0, может текст показывается, но только в не зоны экрана
2) может содержимое GXT-записи NAGRABLENO не содержит нужного кода: ~1~
3) может отсутствует файл GxtHook
4) может стоит убрать 0A93: end_custom_thread, так как ВОЗМОЖНО скрипт решит завершить свою работу.

KiLLeR96
Модераторы
Модератор
26.03.12 14:37
Offline
1) пробуй в место 30.0 0.0 поставить 30.0 30.0, может текст показывается, но только в не зоны экрана поставил 30 30 тоже самое
2) может содержимое GXT-записи NAGRABLENO не содержит нужного кода: ~1~ ­a™pa—ћe®o: ~1~ $
3) может отсутствует файл GxtHook
4) может стоит убрать 0A93: end_custom_thread, так как ВОЗМОЖНО скрипт решит завершить свою работу. ничего не меняет
МоДиРатОр)))000)))))

NARC
Проверенные
26.03.12 15:25
Offline
У меня один вопрос: как за двума координатами определить угол поворота?

KiLLeR96
Модераторы
Модератор
26.03.12 15:29
Offline
wmysterio, я походу понял в чем загвоздка: в имени gxt должно быть не больше семи символов

Code
0000: NOP  
thread 'TEST'
:TEST  
wait 0  
0@ = 0  
03F0: enable_text_draw 1  
045A: draw_text_1number 5.0 0.0 GXT 'COPKILL' number 0@
jump @TEST
   
0A93: end_custom_thread
МоДиРатОр)))000)))))

wmysterio
Администраторы
Скриптер
26.03.12 15:31
Offline
УбивашкА, А, да-да! 7 - максимум символов, я не обратил на это внимания sad

KiLLeR96
Модераторы
Модератор
26.03.12 15:37
Offline
Все норм скрипт работает! Если пед поднимает руки то к переменной прибавляется от 5 до 20
МоДиРатОр)))000)))))

wmysterio
Администраторы
Скриптер
26.03.12 15:40
Offline
УбивашкА, Отлично! smile

KiLLeR96
Модераторы
Модератор
26.03.12 15:42
Offline
wmysterio, как проверить нанес ли повреждение актер педу.
МоДиРатОр)))000)))))

wmysterio
Администраторы
Скриптер
26.03.12 15:50
Offline
Quote (NARC)
У меня один вопрос: как за двума координатами определить угол поворота?

Вроде этот:
Code
0604: get_Z_angle_for_point -1234.0 645.0 store_to $TEMPVAR_ANGLE

Quote (УбивашкА)
как проверить нанес ли повреждение актер педу.
Если не ошибаюсь, то вот этот опкод:
Code
051A:   actor $PLAYER_ACTOR damaged_by_actor $ACTOR

NARC
Проверенные
26.03.12 15:55
Offline
wmysterio, это не совсем то, нужно между 2-мя точками, а там только одна

wmysterio
Администраторы
Скриптер
26.03.12 16:05
Offline
Quote (NARC)
это не совсем то, нужно между 2-мя точками, а там только одна
тогда пробуй этот:
Code
03D3: get_route_nearest_for $TEMPVAR_FLOAT_11 $TEMPVAR_FLOAT_12 $TEMPVAR_FLOAT_13 store_to $TEMPVAR_FLOAT_21 $TEMPVAR_FLOAT_22 $TEMPVAR_FLOAT_23 Z_angle_to $TEMPVAR_ANGLE

NARC
Проверенные
26.03.12 16:11
Offline
wmysterio, спс

KiLLeR96
Модераторы
Модератор
26.03.12 16:22
Offline
А есть ли проверка убил ли актёр педа(не if actor.dead)?
МоДиРатОр)))000)))))

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