You are not logged in.
Pages: 1
Никогда не использовал,спасибо за пояснение..и меня попросили спросить,можно ли добавить пояснения к опкодам на русском языке(просьба не моя)Спасибо за внимание
Хотелось бы маленькую ,но приятную мелочь - написание опкода за вас...т.е ты написал опкод например 04C4: а билдер закончит,но параметры самому приписывать
было бы неплохо добавить возможность во время выполнения скрипта перейти на определнную строку....я такой возможности ненашел
Может это и не баг,но билдер отказывается компилировать,когда открыто окно поиска опкодов.Когда его закрываеш все нормально,такое же было и в версии 2.99E
Да будет лучше с сабклассами,новичкам будет легче учится
Будет не совсем корректно насчет Ped,а вот насчет Vehicle очень кстати
У меня не предложение,а скорее замечание ,некоторые опкоды написаны не совсем корректно например:
0668: AS_actor 35@ rotate 374.2905 -125.681 1001.308 2000 ms
судя по написанию актер должен повернутся к точке за 2 секунды,а вместо этого он атакует в сторону этой точки
Вот
:EXPLODE wait 0 if 00E1: key_Pressed 0 4 jf @EXPLODE Actor.SetImmunities($PLAYER_ACTOR,0,0,0,0,0) Actor.SetImmunities($PLAYER_ACTOR,1,1,1,1,1) Jump @FIND :FIND wait 0 if 80E1: key_pressed 0 8 jf @EXPLODE Actor.StorePos($PLAYER_ACTOR,0@,1@,2@) 3@ = 500.0 Gosub @AIC_GETACTOR if 9@ <> -1 jf @FIND Actor.StorePos(9@,21@,22@,23@) 020C: create_explosion_with_radius 7 at 21@ 22@ 23@ wait 100 Actor.RemoveReferences(9@) Jump @FIND :AIC_GETACTOR 0006: 16@ = 305868 0006: 17@ = @AIC_TESTACTORHANDLE 0006: 20@ = 1988 0002: jump @AIC_STARTSEARCH :AIC_GETVEHICLE 0006: 16@ = 305869 0006: 17@ = @AIC_TESTVEHICLEHANDLE 0006: 18@ = -1 0006: 20@ = 2584 0256: player $PLAYER_CHAR defined 004D: jump_if_false @AIC_STARTSEARCH 00DF: actor $PLAYER_ACTOR driving 004D: jump_if_false @AIC_STARTSEARCH 03C0: 18@ = actor $PLAYER_ACTOR car 0002: jump @AIC_STARTSEARCH :AIC_GETOBJECT 0006: 16@ = 305871 0006: 17@ = @AIC_TESTOBJECTHANDLE 0006: 20@ = 412 :AIC_STARTSEARCH 0085: 4@ = 16@ // (int) 008B: 4@ = &0(4@,1i) // (int) 0085: 19@ = 4@ // (int) 000E: 19@ -= 10787160 0016: 19@ /= 4 008B: 19@ = &0(19@,1i) // (int) 000E: 4@ -= 10787168 0016: 4@ /= 4 008B: 4@ = &0(4@,1i) // (int) 0006: 9@ = -1 0085: 11@ = 4@ // (int) 0006: 10@ = 0 :AIC_SEARCHLOOPMAIN 000A: 4@ += 20 0050: gosub @AIC_READ4B 0085: 4@ = 5@ // (int) 8039: not 4@ == 0 004D: jump_if_false @AIC_SEARCHLOOPNEXT 000A: 4@ += 48 0050: gosub @AIC_READ4B 0085: 12@ = 5@ // (int) 000A: 4@ += 4 0050: gosub @AIC_READ4B 0085: 13@ = 5@ // (int) 000A: 4@ += 4 0050: gosub @AIC_READ4B 0085: 14@ = 5@ // (int) 050A: 15@ = distance_between_XYZ 0@ 1@ 2@ and_XYZ 12@ 13@ 14@ 0025: 3@ > 15@ // (float) 004D: jump_if_false @AIC_SEARCHLOOPNEXT 0085: 9@ = 10@ // (int) 0085: 4@ = 16@ // (int) 008B: 4@ = &0(4@,1i) // (int) 000A: 4@ += 4 0050: gosub @AIC_READ4B 0085: 4@ = 5@ // (int) 005A: 4@ += 9@ // (int) 0050: gosub @AIC_READ1B 0012: 9@ *= 256 005A: 9@ += 5@ // (int) 0002: jump 17@ :AIC_TESTVEHICLEHANDLE 056E: is 9@ valid_vehicle_handle 004D: jump_if_false @AIC_NOHANDLE 00D6: if or 003B: 18@ == 9@ // (int) 0119: car 9@ wrecked 004D: jump_if_false @AIC_NEWSEARCHRADIUS 0002: jump @AIC_NOHANDLE :AIC_TESTACTORHANDLE 056D: is 9@ valid_actor_handle 004D: jump_if_false @AIC_NOHANDLE 00D6: if or 003C: $PLAYER_ACTOR == 9@ // (int) 0118: actor 9@ dead 004D: jump_if_false @AIC_NEWSEARCHRADIUS 0002: jump @AIC_NOHANDLE :AIC_TESTOBJECTHANDLE //0001: wait 0 83CA: not object 9@ exists 004D: jump_if_false @AIC_NEWSEARCHRADIUS :AIC_NOHANDLE 0006: 9@ = -1 0002: jump @AIC_SEARCHLOOPNEXT :AIC_NEWSEARCHRADIUS 0085: 3@ = 15@ :AIC_SEARCHLOOPNEXT 005A: 11@ += 20@ // (int) 0085: 4@ = 11@ // (int) 000A: 10@ += 1 002D: 10@ >= 19@ // (int) 004D: jump_if_false @AIC_SEARCHLOOPMAIN 0051: return :AIC_READ1B 0085: 6@ = 4@ // (int) 0085: 8@ = 4@ // (int) 0016: 4@ /= 4 0012: 4@ *= 4 0062: 8@ -= 4@ // (int) 0012: 8@ *= 8 000E: 4@ -= 10787168 0016: 4@ /= 4 008B: 7@ = &0(4@,1i) // (int) 0085: 4@ = 6@ // (int) 0006: 5@ = 0 0006: 6@ = 0 :AIC_READ1B_LOOP 08B9: test 7@ bit 8@ 004D: jump_if_false @AIC_READ1B_NEXTBIT 08BF: set 5@ bit 6@ :AIC_READ1B_NEXTBIT 000A: 6@ += 1 000A: 8@ += 1 0039: 6@ == 8 004D: jump_if_false @AIC_READ1B_LOOP 0051: return :AIC_READ4B 0085: 6@ = 4@ // (int) 000E: 4@ -= 10787168 0016: 4@ /= 4 008B: 5@ = &0(4@,1i) // (int) 0085: 4@ = 6@ // (int) 0051: return
Который со взрывом?
не радиус небольшой,я веселился и поставил 3@ = 500.0 и сделал скрипт на взрыв актера........у меня апокалипсис начался ,повсему городу люди взрывались так что незнаю почему у тебя непашет
Насчет 2 сот незнаю,на крайний случай в блокнот запишу
kostay scr, не грузи людей терминологией
2svetka он имел ввиду у тебя вот это есть?
{
use 0051: return to break the loop
immediately when found at least one actor/car/object,
does not matter if he's nearest one.
}
// v EXTRA SEARCH CRITERIA GOES HERE v
{
21@ contains the handle of an actor/car/object
that should be excluded from the search result
(for example a handle found previously).
}
//803B: 21@ <> 9@
//004D: jump_if_false @AIC_NOHANDLE
Кому нибудь нужен пример использования Interceptor'а
спасибо Seemann'у за Interceptor пример с его использванием можно будет найти на missions.gtamaps.net
Ставь радиус поиска больше,например 3@ = 10.0 будет вестись поиск в радиусе 10
2Capushon вообщето и то и другое и ешё много чего мне запомнить легко,я говорил о новичках
Да Seemann это умеет,лучше всех
я вообще глобальные переменные стараюсь не юзать,во-первых запутатсья можно, во-вторых.....какая нибудь причина да найдется
Зачем постоянно декомпилить мэйн,просто сохраняйте мэйн в текстовый файл,а потом просто этот файл открывайте.....во-первых эффективнее работаете,во-вторых все остается таким каким и было:)
Pages: 1