You are not logged in.
Проверяй если актёра НЕТУ в машине
Я бы с радостью, но проблема в том, что когда актёр выходит из машины, проверка not Actor.Driving($PLAYER_ACTOR) и not Actor.InCar($PLAYER_ACTOR, 0@) говорит, что он в авто.
Offline
хммм...
тут адресами нужно шаманить.
могу предложить потанцевать с бубном возле иды или олли дебагера (по усмотрению)
Offline
Попробуй
09DE: actor $PLAYER_ACTOR entering_car
Offline
Это от того, что оная команда...
И использовать её надобно...
Как это чудно(долой превед)!
Но, позвольте спросить, мил человек, а на хрена такая защита, неужто столько сил положено на создание сего мануСкрипта, а тут ещё испортит(извратит начальный замысел) своей неумелой рукой некий отрок?
Я думаю, что когда человек выходит в Сеть и хочет предоставить свои труды другим - это предполагает открытость (хоть какая-то, про заработки другая совсем история) исходных кодов, радость для человека именно поделиться с другими своими успехами(раз человек вышел в инет, про бабло я опять не говорю), а не хочешь делиться, сиди себе домой, хоть ИИ свой собственный создавай и никому не показывай!
Offline
Нъльзя не согласиться с тобой, reute70. Но и знание съго завътного компонънта отнюдь не повръдитЪ скриптингу дабы отвъргнуться в случае крайнъм от нъжелатъльности разной, кой к той стати говоря, поразвълось на Руси великое множество, да и из стран заморских тоже пожаловали на такое вадиться.
Offline
Попробуй
09DE: actor $PLAYER_ACTOR entering_car
Увы, но данный опкод, как оказалось, отвечает только за ВХОД, но не за ВЫХОД, а именно он мне и нужен. Я полазил в поисковике опкодов в SB, но нужной проверки не нашёл.
Offline
Подскажите пожалуйста любой рабочий пример
в котором используются опкоды:
0635: AS_actor $PLAYER_ACTOR aim_at_actor 1@ 2000 ms
0667: AS_actor $PLAYER_ACTOR aim_at 969.3931 -1098.341 22.877 120000 ms
074D: AS_actor $PLAYER_ACTOR turns_to_and_look_at_actor 37@ timelimit -2
может я не так их использую, но они у меня не работают
Offline
Увы, но данный опкод, как оказалось, отвечает только за ВХОД, но не за ВЫХОД, а именно он мне и нужен. Я полазил в поисковике опкодов в SB, но нужной проверки не нашёл.
Тогда надо искать альтернативный способ. В крайнем случае измерять циклом расстояние между актером и центром машины. Если оно начало увеличиваться, значит актер начал выходить.
Offline
CraZZZy-GameRRR wrote:Увы, но данный опкод, как оказалось, отвечает только за ВХОД, но не за ВЫХОД, а именно он мне и нужен. Я полазил в поисковике опкодов в SB, но нужной проверки не нашёл.
Тогда надо искать альтернативный способ. В крайнем случае измерять циклом расстояние между актером и центром машины. Если оно начало увеличиваться, значит актер начал выходить.
В принципе можно так сделать, но немного муторновато. А вообще странно - есть проверка входа, но нет проверки выхода.
Offline
Существует ли проверка момента выхода актёра из машины?
А может через адрес памяти ?
CPed +0x530 = [dword] Статус:
0 = покидает машину, падает с байка или что-то в этом роде
.... 0A96: 0@ = actor $PLAYER_ACTOR struct inc(0@,0x530) 0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0 if 0@ == 0 then // Аокидает машину end ....
Или может тут найдёшь http://gtamodding.ru/wiki/Адреса_Памяти … 0.B4.D1.8B
Offline
CraZZZy-GameRRR wrote:Существует ли проверка момента выхода актёра из машины?
А может через адрес памяти ?
CPed +0x530 = [dword] Статус:
0 = покидает машину, падает с байка или что-то в этом роде.... 0A96: 0@ = actor $PLAYER_ACTOR struct inc(0@,0x530) 0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0 if 0@ == 0 then // Аокидает машину end ....Или может тут найдёшь http://gtamodding.ru/wiki/Адреса_Памяти … 0.B4.D1.8B
Спасибо! Сегодня уже поздно, спать ложусь. Завтра обязательно попробую так сделать.
Offline
просто проверь не проигрывает ли игрок анимацию выхода из машины(название не спрашивай, через макс поискать можно)
мне надо организовать в КЛЕО массив из 1000 элементов
как это можно реализовать?
Last edited by 3Doomer (12-09-2009 07:53)
GIMS developer
Offline
просто проверь не проигрывает ли игрок анимацию выхода из машины(название не спрашивай, через макс поискать можно)
через аним манагер лучше анимации закрывания двери - CAR_closedoor_RHS CAR_closedoor_LHS CAR_closedoorl_RHS CAR_closedoorl_LHS это все когда в машине уже закрывает дверь, условие or надо, так что anim manager рулит
EDIT:
нашёл анимации просто входа в машину : CAR_getin_LHS CAR_getin_RHS CAR_getinl_LHS CAR_getinl_RHS
Last edited by PIT (12-09-2009 09:04)
100 постов - 27 августа;
Offline
а я бы так сделал:
if 0AB1: call_scm_func @HasActorTask 2 $PLAYER_ACTOR 704 then ... end ... :HasActorTask 0A96: 0@ = actor 0@ struct 0@ += 0x47C 0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0 //CPedIntelligence * 0@ += 4 //CPedTasks 0AA8: call_function_method 0x681740 struct 0@ num_params 1 pop 0 1@ 0@ if 0@ == 0 then 059A: return_false else 0485: return_true end 0AB2: ret 0
Кое-какие номера тасков:
0 - отсутствие задания, пустой слот. 700, 701 - садится в авто (701 - обычный вход, 700 - прыжком через дверку (если нет крыши)). 704 - выходит из авто. 800 - бежит к машине, чтобы сесть в нее.
Offline
Так проблема с глобальными клео переменными.
Присваиваю значение локально 1@, потом присваиваю значение var 9 ,далее читаю var 9 в 1@(в том же файле) и в 1@ КАКОЙТО бред(455456бла-бла... - не тот адрес? - почему?(бывает при попытке использовать глобальную переменную)).
Проверял статус текстом(клео версией из справки по сб).
Ипользую в своих скриптах 7 переменных - всё ок ,а тут...
Пробовал номер 8 и номер 9 - не помогает.
Безопасно ли взять вместо клео переменной $30 или $56?(неиспользуемые или просто все так думают?(можа гдето офестом туда шото пишатся ))
Право на копирование и распространие Kostay_scr 2009
{$CLEO} var $56:integer; 1@:integer; end // var 0000: //0AB1: call_scm_func @AddStatusText 4 VARNUMBER = 1 TYPE = 0 GXT = @StatusText LINE = 1 03C4: set_status_text $56 type 0 GXT 'ZER2_43' // global_variable // Score ~1~ :pikapi wait 100 if 0AB0: key_pressed 46 jf @pikapi_isp model.Load(-273) while not model.Available(-273) wait 50 end //player.Money($player_char)+=10000 pickup.Create(0@,-273,3,2251.1536 -1258.0615 23.7) :podn wait 50 if pickup.Picked_up(0@) jf @podn //09BC: put_actor $PLAYER_ACTOR at $X_BUY_MARKER $Y_BUY_MARKER $Z_BUY_MARKER // versionD 1@ = $56 1@+=10 $56 = 1@ model.Destroy(-273) wait 1000 jump @pikapi_isp :pikapi_isp wait 100 1@ = $56 if 1@>=1 jf @pikapi if 0AB0: key_pressed 189 then 5@ = 0 jump @vz end if 0AB0: key_pressed 187 then 5@ = 10 else jump @pikapi end :vz wait 10 if actor.Driving($PLAYER_ACTOR) then 03C0: 6@ = actor $PLAYER_ACTOR car !!!!0407: store_coords_to 1@ 2@ 3@ from_car 6@ with_offset 0.0 -5.0 0.0 //почему я так не люблю //проверять код? else !!!!04C4: store_coords_to 1@ 2@ 3@ from_actor $PLAYER_ACTOR with_offset 0.0 -2.0 0.0 end model.Load(-273) while not model.Available(-273) wait 50 end object.init(4@,-273 1@ 2@ 3@) object.ToggleInMovingList(4@ 1) if 5@ == 0 then 1@-=1 else if 1@>=5 jf @pikapim 1@-=5 //end 08D2: object 4@ scale_model 3.0 end $56 = 1@ 0A92: create_custom_thread "pikapi_dynamita_vzriv.knp" 4@ 5@ model.Destroy(-273) //camera.Restore_WithJumpCut() wait 1000 jump @pikapi :pikapim wait 10 model.Destroy(-273) jump @pikapi :AddStatusText 0AB1: call_scm_func @__VarToOffset 1 0@ 0@ 0AB1: call_scm_func @__LabelToOffset 1 2@ 2@ 0AA6: call_method 0x0044CDA0 struct 0x00BA1788 num_params 4 pop 0 ( LINE = 3@ GXT = 2@ TYPE = 1@ VARNUMBER = 0@ ) 0AB2: ret 0 :RemoveStatusText 0AB1: call_scm_func @__VarToOffset 1 0@ 0@ 0AA6: call_method 0x0044CE80 struct 0x00BA1788 num_params 1 pop 0 ( VARNUMBER = 0@ ) 0AB2: ret 0 :SetTimer 0AB1: call_scm_func @__VarToOffset 1 0@ 0@ 0AB1: call_scm_func @__LabelToOffset 1 2@ 2@ 0AA6: call_method 0x0044CD50 struct 0x00BA1788 num_params 3 pop 0 ( TYPE = 1@ GXT = 2@ VARNUMBER = 0@ ) 0AB2: ret 0 :StopTimer 0AB1: call_scm_func @__VarToOffset 1 0@ 0@ 0AA6: call_method 0x0044CE60 struct 0x00BA1788 num_params 1 pop 0 ( VARNUMBER = 0@ ) 0AB2: ret 0 :__VarToOffset 0A9F: 1@ = current_thread_pointer 0A8E: 2@ = 1@ + 0xDC // mission Flag 0A8D: 2@ = read_memory 2@ size 1 virtual_protect 0 if 2@ == 1 then 1@ = 0x00A48960 // mission locals else 1@ += 0x3C end 0@ *= 4 005A: 1@ += 0@ // address of the local variable 1@ -= 0xA49960 0AB2: ret 1 1@ :__LabelToOffset if 0@ == 0 then 0AB2: ret 1 0 end 0A9F: 1@ = current_thread_pointer 1@ += 0x10 0A8D: 1@ = read_memory 1@ size 4 virtual_protect 0 // baseIP 0062: 1@ -= 0@ // label address 1@ += 3 0AB2: ret 1 1@ :StatusText 0900: 'BB_19' 0000:
Здесь опкоды для вар заменены на $56 + var..end.
Ну понятно в чём дело...
Но вот ещё один вопрос - он мучает меня давно.
Если поставить клещ и много скриптов(у меня 36(моих)).
Запустить игру:
1.Не нажимает мышь,когда начнёшь игру и поставиш на паузу,снимеш с паузы - может пропасть.
2. -=!Если сразу начать новую игру - не загрузит!=- Чёрный экран и всё.
Если всё таки удастся начать игру, а потом опять новую то всеравно может не запуститься - висит последний кадр с очень низкой яркость(еле различим).
Такое на пропатченом от заставок ехе 1.0 и на обчном 1.0 тоже.
В архиве скрин + ехешники
Last edited by kostay scr (12-09-2009 19:46)
GTA VC - ЭТО НАСТОЯЩАЯ ГТА!
Offline
CraZZZy-GameRRR wrote:Существует ли проверка момента выхода актёра из машины?
А может через адрес памяти ?
CPed +0x530 = [dword] Статус:
0 = покидает машину, падает с байка или что-то в этом роде.... 0A96: 0@ = actor $PLAYER_ACTOR struct inc(0@,0x530) 0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0 if 0@ == 0 then // Аокидает машину end ....Или может тут найдёшь http://gtamodding.ru/wiki/Адреса_Памяти … 0.B4.D1.8B
Большое спасибо, Deniska! Работает!
Offline
Но вот ещё один вопрос - он мучает меня давно.
Если поставить клещ и много скриптов(у меня 36(моих)).
Запустить игру:
1.Не нажимает мышь,когда начнёшь игру и поставиш на паузу,снимеш с паузы - может пропасть.
2. -=!Если сразу начать новую игру - не загрузит!=- Чёрный экран и всё.
Если всё таки удастся начать игру, а потом опять новую то всеравно может не запуститься - висит последний кадр с очень низкой яркость(еле различим).
Такое на пропатченом от заставок ехе 1.0 и на обчном 1.0 тоже.
В архиве скрин + ехешники
Кто нить ответит?
Last edited by kostay scr (13-09-2009 11:16)
GTA VC - ЭТО НАСТОЯЩАЯ ГТА!
Offline
Но вот ещё один вопрос - он мучает меня давно.
Если поставить клещ и много скриптов(у меня 36(моих)).
Запустить игру:
1.Не нажимает мышь,когда начнёшь игру и поставиш на паузу,снимеш с паузы - может пропасть.
2. -=!Если сразу начать новую игру - не загрузит!=- Чёрный экран и всё.
Если всё таки удастся начать игру, а потом опять новую то всеравно может не запуститься - висит последний кадр с очень низкой яркость(еле различим).
Такое на пропатченом от заставок ехе 1.0 и на обчном 1.0 тоже.
В архиве скрин + ехешникиКто нить ответит?
Отвечу.
1. у меня такая же проблема, это решается путём просмотра заставок (как ты говорил - у тебя их нет).
2. на счёт очень низкой яркости, это не яркость. Это в каком-то скрипте у тебя fade не до конца (или в мэйне).
Offline
Всем привет,спасибо тем кто мне помог,у меня еще один вопрос,как делать ASI скрипты для GTA IV?
Offline
Offline
Оооо, ну Sw[ee]t, ты что тормоз?
Написано же - если просматривать заставки тоже может зависнуть,но не так часто.
Про fade я знаю - не дурак,он мэйновский(1 миссия).
Если поставить процессу низкий приритет вылетает не так часто.
Я думаю клео в фоне что то подгружает,а если не смотреть заставки и быстро начать игру - не успевает закончить и виснет.
Если это так, то как интересно выделить больше ресурсов на подгрузку или ещё не знаю там чего.:crazy:
GTA VC - ЭТО НАСТОЯЩАЯ ГТА!
Offline
Оооо, ну Sw[ee]t, ты что тормоз?
Написано же, что у меня было такое же (я даже могу угадать какая у него система... Виста ).
Я данную проблему решаю путём яростного тыкания на левую кнопку мыши, тогда всё ок.
Offline
Заранее извеняюсь что не написал это в выше указаном посте,как конвертить формат .IVAUD в wav или mp3?Нашел тут одну утилиту Утилиту,но по ходу она не пашет,очень нужно один саундтрек из игры вытащить
З.Ы Заранее спасибо
Last edited by Lost_forever (13-09-2009 19:41)
Offline