You are not logged in.
Так. Одному товарищу надо поменьше говорить и побольше слушать.
рабочий вариант скрипта:
{$CLEO} wait 5000 Model.Load(#MINIGUN) 038B: load_requested_models repeat wait 0 until Model.Available(#MINIGUN) repeat wait 0 until player.Defined($PLAYER_CHAR) 01B2: give_actor $PLAYER_ACTOR weapon 33 ammo 9999 0249: release_model #MINIGUN while true wait 0 if player.Defined($PLAYER_CHAR) then 0223: set_actor $PLAYER_ACTOR health_to 999 02AB: set_actor $PLAYER_ACTOR immunities 1 1 1 1 1 end end
И вообще, пора бы уж разобраться с компилятором. Естественно необходимо переключиться на режим той игры, для которой происходит компиляция. И читать правильную документацию.
Offline
Seemann wrote:Опкод enable_thread_saving пропущен намеренно?
Да, намеренно. Мне показалось, что этих сохранений больше проблем, чем пользы.
reute70 wrote:Ч0рт, круто, оно работает?
Пока пробовать не буду, подожду впечатлений от нетерпеливых!Смотри как бы не пришлось ждать слишком долго. Скриптеров на VC и 3 почти нет (надеюсь, появление CLEO для этих игр исправит эту ситуацию). Популярность этого форума невелика. Больше я нигде не публиковал.
На гтафорумз прямая дорога. Там примут только так
Offline
Такая проблема. Сделал скрипт чтоб менять скины игрока.
0@ = 1 // integer values :NONAME_11 wait 0 if Player.Defined($PLAYER_CHAR) else_jump @NONAME_11 wait 0 if not Actor.Driving($PLAYER_ACTOR) else_jump @NONAME_11 if and 05EE: key_pressed 48 //VK_... 05EE: key_pressed 49 //VK_... else_jump @NONAME_11 gosub @NONAME_81 :NONAME_81 wait 0 if 0@ == 0 // integer values else_jump @NONAME_158 023C: load_special_actor 1 'PLAYER' :NONAME_115 wait 0 if 023D: special_actor 1 loaded else_jump @NONAME_115 wait 0 0352: set_actor $PLAYER_ACTOR skin_to 'PLAYER' gosub @NONAME_620 :NONAME_158 wait 0 if 0@ == 1 // integer values else_jump @NONAME_235 023C: load_special_actor 1 'IGKEN' :NONAME_192 wait 0 if 023D: special_actor 1 loaded else_jump @NONAME_192 wait 0 0352: set_actor $PLAYER_ACTOR skin_to 'IGKEN' gosub @NONAME_620 :NONAME_235 wait 0 if 0@ == 2 // integer values else_jump @NONAME_312 023C: load_special_actor 1 'IGBUDDY' :NONAME_269 wait 0 if 023D: special_actor 1 loaded else_jump @NONAME_269 wait 0 0352: set_actor $PLAYER_ACTOR skin_to 'IGBUDDY' gosub @NONAME_620 :NONAME_312 wait 0 if 0@ == 3 // integer values else_jump @NONAME_389 023C: load_special_actor 1 'IGBUDY2' :NONAME_346 wait 0 if 023D: special_actor 1 loaded else_jump @NONAME_346 wait 0 0352: set_actor $PLAYER_ACTOR skin_to 'IGBUDY2' gosub @NONAME_620 :NONAME_389 wait 0 if 0@ == 4 // integer values else_jump @NONAME_466 023C: load_special_actor 1 'IGCOLON' :NONAME_423 wait 0 if 023D: special_actor 1 loaded else_jump @NONAME_423 wait 0 0352: set_actor $PLAYER_ACTOR skin_to 'IGCOLON' gosub @NONAME_620 :NONAME_466 wait 0 if 0@ == 5 // integer values else_jump @NONAME_543 023C: load_special_actor 1 'IGDIAZ' :NONAME_500 wait 0 if 023D: special_actor 1 loaded else_jump @NONAME_500 wait 0 0352: set_actor $PLAYER_ACTOR skin_to 'IGDIAZ' gosub @NONAME_620 :NONAME_543 wait 0 if 0@ == 6 // integer values else_jump @NONAME_11 023C: load_special_actor 1 'IGSONNY' :NONAME_577 wait 0 if 023D: special_actor 1 loaded else_jump @NONAME_577 wait 0 0352: set_actor $PLAYER_ACTOR skin_to 'IGSONNY' gosub @NONAME_620 :NONAME_620 038B: load_requested_models 0353: refresh_actor $PLAYER_ACTOR 0296: unload_special_actor 1 0@ += 1 // integer values wait 0 if 0@ > 6 // integer values else_jump @NONAME_11 0@ = 0 // integer values jump @NONAME_11
Но когда переключу 3 модели (причём пробовал в любой последовательности), при попытке переключить на следующую – четвёртую – зависает. Не могу понять почему. Мне кажется это либо из-за того что нельзя менять скин более 3 раз подряд, либо нельзя увеличивать значение переменной 0@ более 3 раз. Хотя оба варианта звучат глупо.
Offline
Вылетает потому, что в скрипте 3 gosub'а и ни одного return'а.
Разберись с этой командой.
Offline
Скажите, пожалуйста, лично я думаю, что это клео глючное. Но если нет, почему у мен не работает этот скрипт? Игра зависает сразу при нажатии Ctrl + 2.
{$CLEO} wait 5000 :NONAME_2 wait 0 if and 05EE: key_pressed 50 05EE: key_pressed 17 jf @NONAME_2 jump @NONAME_37 :NONAME_37 wait 0 if and 85EE: not key_pressed 50 85EE: not key_pressed 17 jf @NONAME_37 wait 0 Actor.LockInCurrentPosition($PLAYER_ACTOR) = True 4@ = Actor.Angle($PLAYER_ACTOR) 0619: enable_actor $PLAYER_ACTOR collision_detection 0 :NONAME_1111380 wait 0 :NONAME_4290 wait 0 if 05EE: key_pressed 87 jf @NONAME_4850 04C4: store_coords_to 0@ 1@ 2@ from_actor $PLAYER_ACTOR with_offset 0.0 13@ -1.0 Actor.PutAt($PLAYER_ACTOR, 0@, 1@, 2@) :NONAME_4850 wait 0 if 05EE: key_pressed 83 jf @NONAME_5470 04C4: store_coords_to 0@ 1@ 2@ from_actor $PLAYER_ACTOR with_offset 0.0 14@ -1.0 Actor.PutAt($PLAYER_ACTOR, 0@, 1@, 2@) :NONAME_5470 wait 0 if 05EE: key_pressed 68 jf @NONAME_6090 04C4: store_coords_to 0@ 1@ 2@ from_actor $PLAYER_ACTOR with_offset 13@ 0.0 -1.0 Actor.PutAt($PLAYER_ACTOR, 0@, 1@, 2@) :NONAME_6090 wait 0 if 05EE: key_pressed 65 jf @NONAME_6710 04C4: store_coords_to 0@ 1@ 2@ from_actor $PLAYER_ACTOR with_offset 14@ 0.0 -1.0 Actor.PutAt($PLAYER_ACTOR, 0@, 1@, 2@) :NONAME_6710 wait 0 if 05EE: key_pressed 81 jf @NONAME_7270 04C4: store_coords_to 0@ 1@ 2@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.5 Actor.PutAt($PLAYER_ACTOR, 0@, 1@, 2@) :NONAME_7270 wait 0 if 05EE: key_pressed 69 jf @NONAME_1111380 04C4: store_coords_to 0@ 1@ 2@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 -1.5 Actor.PutAt($PLAYER_ACTOR, 0@, 1@, 2@) jump @NONAME_1111380
И да, Alien, у тебя ведь ехе версии 1.0, можешь его передать? Может будет глюков меньше.
Last edited by GTASA (29-03-2010 05:15)
Offline
В Vice City только 16+2 локальных переменных, читай внимательно справочник и, вообще, по-моему кучу раз писали, что надо внимательнее к справочной информации относится прежде чем, что то делать.
I know everything and nothing...
Offline
Глянь теперь. Сократил, но не помогло. Почему?
Offline
Нет, я как раз в режиме Вайс Сити и делаю!
Заработало только после того, как я из кода убрал:
0619: enable_actor $PLAYER_ACTOR collision_detection 0
Last edited by GTASA (29-03-2010 05:25)
Offline
Максимальный опкод в Vice City это + CLEO = 05F6:
Actor.LockInCurrentPosition($PLAYER_ACTOR) = True - этого приема нет в Васе. Нужно писать по другому, так, как это опкодом пишется.
I know everything and nothing...
Offline
Не, этот работает, не работает про коллизию.
А что, нельзя никак коллизию тогда убрать? В вайсе ведь адреса памяти другие?
Offline
В Вайсе нет кода 0619:, так можно убрать коллизию только убъектов.
Вообще в Вайсе многие опкоды либо пишутся не так, как в Сане, либо вообще не существуют. Чтоб проверить, есть ли код, можно воспользоваться пойском опкодов, либо компилировать файл с этими кодами и снова открыть его (этот способ удоьен когда нужно проверить много опкодов, например скопированных из скрипта для СА)
Offline
Это точно: сам заметил что frozen state - это cant move и т.п.
А вот с приемом "вырезал из сани, вставил, скомпилил - потом открыл и все сановские опкоды стали вайсовскими" несогласен - потомучто насколько я помню если опкод написан не верно или его не существует в опкоднике Вайса - то компилить низачто не будет. Будет выдавать ошибки.
Last edited by Innocent (29-03-2010 09:39)
Offline
Все, у меня вайсовское клео идет теперь гладко, а до этого не шло не понимаю почему, хотя я ставил значок в углу на Вайс Сити.
Offline
А вот с приемом "вырезал из сани, вставил, скомпилил - потом открыл и все сановские опкоды стали вайсовскими" несогласен - потомучто насколько я помню если опкод написан не верно или его не существует в опкоднике Вайса - то компилить низачто не будет. Будет выдавать ошибки.
Ты не так понял. Я не говорил, что сановские коды станут вайсовскими. И компилить будет, я сам пробовал. Просто после компиляции и открытия будет видно, какие коды из сани являются такими же как в вайсе, а какие - нет.
Offline
256 стандартных клавиш проверяются опкодом 05EE.
Если нужно больше, можно считывать состояния клавиатуры, мыши и джойпада из памяти.
Offline
Скажите пожалуйста, как в Вайсе определенного пешехода поместить в определенную группу?
Offline
256 стандартных клавиш проверяются опкодом 05EE.
Если нужно больше, можно считывать состояния клавиатуры, мыши и джойпада из памяти.
Ок, именно это мне и нужно было, а то стандартных 10-15 клавиш в вайсе ох как не хватало...
Спс тебе еще раз=)
Offline
Кто-нибудь может дать список всех названий анимаций, как этот, только для Vice City?
Offline
ped.ifp
abseil ARRESTgun ATM batherdown batherscape batherup BIKE_elbowL BIKE_elbowR BIKE_fallR BIKE_fall_off BIKE_pickupL BIKE_pickupR BIKE_pullupL BIKE_pullupR bomber CAR_alignHI_LHS CAR_alignHI_RHS CAR_align_LHS CAR_align_RHS CAR_closedoorL_LHS CAR_closedoorL_RHS CAR_closedoor_LHS CAR_closedoor_RHS CAR_close_LHS CAR_close_RHS CAR_crawloutRHS CAR_doorlocked_LHS CAR_doorlocked_RHS CAR_getinL_LHS CAR_getinL_RHS CAR_getin_LHS CAR_getin_RHS CAR_getoutL_LHS CAR_getoutL_RHS CAR_getout_LHS CAR_getout_RHS car_hookertalk CAR_jackedLHS CAR_jackedRHS CAR_jumpin_LHS CAR_LB CAR_LjackedLHS CAR_LjackedRHS CAR_Lshuffle_RHS CAR_Lsit CAR_open_LHS CAR_open_RHS CAR_pulloutL_LHS CAR_pulloutL_RHS CAR_pullout_LHS CAR_pullout_RHS CAR_Qjack CAR_Qjacked CAR_rolldoor CAR_rolldoorLO CAR_rollout_LHS CAR_rollout_RHS CAR_shuffleLO CAR_shuffle_RHS CAR_sit CAR_sitp CAR_sitpLO cower DrivebyL_L DrivebyL_R Driveby_L Driveby_R DRIVE_BOAT DRIVE_BOAT_back DRIVE_BOAT_L DRIVE_BOAT_R Drive_L Drive_LO_l Drive_LO_R Drive_R Drown DUCK_down DUCK_low EV_dive EV_step FALL_back FALL_collapse FALL_fall FALL_front FALL_glide FALL_land FIGHT2IDLE FIGHTbkickL FIGHTbkickR FIGHTbodyblow FIGHTelbowL FIGHTelbowR FIGHThead FIGHTIDLE FIGHTjab FIGHTkick FIGHTknee FIGHTLhook FIGHTlngkck FIGHTppunch FIGHTpunch FIGHTrndhse FIGHTsh_back FIGHTsh_F FLOOR_hit FLOOR_hit_f fucku getup getup_front handscower handsup HIT_back HIT_behind HIT_bodyblow HIT_chest HIT_front HIT_head HIT_L HIT_R HIT_walk HIT_wall IDLE_armed IDLE_cam IDLE_chat IDLE_csaw IDLE_HBHB IDLE_ROCKET IDLE_stance IDLE_taxi IDLE_time IDLE_tired JOG_maleA JOG_maleB JUMP_glide JUMP_land JUMP_launch KD_left KD_right KICK_floor KO_shot_armL KO_shot_armR KO_shot_face KO_shot_front KO_shot_legL KO_shot_legR KO_shot_stom KO_skid_back KO_skid_front KO_spin_L KO_spin_R LIMP phone_in phone_out phone_talk pounds_A pounds_B PUNCHR RBLOCK_Cshoot roadcross run_1armed run_armed run_back run_civi run_csaw run_csaw_back run_csaw_left run_csaw_right run_fatold run_gang1 run_left run_player run_right run_rocket run_rocket_back run_rocket_left run_rocket_right Run_stop Run_stopR SEAT_down SEAT_idle SEAT_rvrs SEAT_up SHOT_leftP SHOT_partial SHOT_rightP SLAPS_A SLAPS_B sprint_civi sprint_panic turn_180 walkst_csaw_back walkst_csaw_left walkst_csaw_right walkst_rocket_back walkst_rocket_left walkst_rocket_right WALK_armed walk_back WALK_civi WALK_csaw walk_csaw_back walk_csaw_left walk_csaw_right WALK_fat WALK_fatold WALK_gang1 WALK_gang2 walk_left WALK_old WALK_player walk_right WALK_rocket walk_rocket_back walk_rocket_left walk_rocket_right WALK_shuffle WALK_start WALK_start_armed walk_start_back WALK_start_csaw walk_start_left walk_start_right WALK_start_rocket WEAPON_crouch WEAPON_throwu woman_idlestance woman_run woman_runpanic WOMAN_walkbusy WOMAN_walknorm WOMAN_walkold WOMAN_walksexy WOMAN_walkshop XPRESSscratch
Offline
Толку то, использовать то все равно скриптами нельзя.
Поэтому предлагаю сделать для Васи поддержку анимации, чтобы ее можно было применять как в Сане.
Alien, как на это смотришь?
Добавлено:
Нашел реальный косяк -> cleo парсит только одну строку из fxt файла, причем, если их несколько (строк), то вообще не парсит. Бьюсь об заклад, что в трешке такой же может быть косяк, проверь это Alien, please.
I know everything and nothing...
Offline