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