Czy wiesz, że... możesz podsyłać newsy, artykuły, pliki i zdjęcia?
Strona główna forum Szukaj Rejestracja
Witaj, nieznajomy!
Poprzedni 1 Następny
Postów: 13 Dołączył: 2011-12-07
#
Witam ponownie. ;)
W tym temacie chciałbym zapytać o dwie funkcje dla NPC:

1) Styl walki dla NPC
Próbowałem ulepszyć skrypt Nemesisa dodając dla niego styl walki (boks). Niestety nie widać efektu w grze, NPC dalej bije się "standardowym" stylem walki (jak przechodnie). Może ktoś powiedzieć, dlaczego tak się dzieje?

Kod:
//-------------MAIN---------------
0000: NOP 

:NONAME_2
wait 250 
if 
   Player.Defined(0)
else_jump @NONAME_482 
if 
  $ONMISSION == 0 
else_jump @NONAME_482 
if 
00FE:   actor $PLAYER_ACTOR sphere 0 in_sphere 287.6322 1839.766 7.72656 radius 12.0 12.0 5.0 
else_jump @NONAME_482 
Model.Load(#BRASSKNUCKLE)
Model.Load(#ROCKETLA)
023C: load_special_actor 'NEMESIS' as 1 // models 290-299 
038B: load_requested_models 
060A: create_decision_maker_type 0 store_to 3@ // decision\allowed\m_.ped files 
0AAC: 0@ = load_mp3 "CLEO\NEMESIS\MUSIC.MP3" 
1@ = Actor.Create(Mission1, #SPECIAL01, 287.6322, 1839.766, 7.72656)
Actor.Angle(1@) = 347.2881
Actor.Health(1@) = 11000
0446: set_actor 1@ immune_to_headshots 0 
04D8: set_actor 1@ drowns_in_water 0 
060B: set_actor 1@ decision_maker_to 3@ 
01B2: give_actor 1@ weapon 1 ammo 0 // Load the weapon model before using this 
01B2: give_actor 1@ weapon 35 ammo 15 // Load the weapon model before using this 
0245: set_actor 1@ walk_style_to "SWAT" 
07FE: set_actor 1@ fighting_style_to 5 2 
03FE: set_actor 1@ money 0 
05E2: AS_actor 1@ kill_actor $PLAYER_ACTOR 
Model.Destroy(#BRASSKNUCKLE)
Model.Destroy(#ROCKETLA)
0296: unload_special_actor 1 
2@ = Actor.Health(1@)
2@ /= 110 
0AB1: call_scm_func @NONAME_489 4 2 1 -589 1 
0AAD: set_mp3 0@ perform_action 1 

:NONAME_322
if and
   Player.Defined(0)
   not Actor.Dead(1@)
00F2:   actor $PLAYER_ACTOR near_actor 1@ radius 200.0 200.0 0 
else_jump @NONAME_425 
wait 0 
0AB9: get_mp3 0@ state_to 4@ 
if 
  4@ == -1 
else_jump @NONAME_403 
wait 125 
0AAD: set_mp3 0@ perform_action 1 

:NONAME_403
2@ = Actor.Health(1@)
2@ /= 110 
jump @NONAME_322 

:NONAME_425
0AAD: set_mp3 0@ perform_action 0 
0AAE: release_mp3 0@ 
065C: release_decision_maker 3@ 
0AB1: call_scm_func @NONAME_555 1 2 
if 
   Actor.Dead(1@)
else_jump @NONAME_477 
Actor.RemoveReferences(1@)
0A93: end_custom_thread 

:NONAME_477
Actor.RemoveReferences(1@)

:NONAME_482
jump @NONAME_2 

:NONAME_489
0AB1: call_scm_func @NONAME_604 1 0@ 0@ 
0AB1: call_scm_func @NONAME_707 1 2@ 2@ 
0AA6: call_method 4509088 12195720 num_params 4 pop 0 3@ 2@ 1@ 0@  
0AB2: ret 0 

:NONAME_555
0AB1: call_scm_func @NONAME_604 1 0@ 0@ 
0AA6: call_method 4509312 12195720 num_params 1 pop 0 0@  
0AB2: ret 0 
0662: NOP "NA" 
0000: NOP 

:NONAME_604
0A9F: 1@ = current_thread_pointer 
0A8E: 2@ = 1@ + 220 // int 
0A8D: 2@ = read_memory 2@ size 1 virtual_protect 0 
if 
  2@ == 1 
else_jump @NONAME_667 
1@ = 10783072 
jump @NONAME_674 

:NONAME_667
1@ += 60 

:NONAME_674
0@ *= 4 
005A: 1@ += 0@ // (int) 
1@ -= 10787168 
0AB2: ret 1 1@ 

:NONAME_707
if 
  0@ == 0 
else_jump @NONAME_732 
0AB2: ret 1 0 

:NONAME_732
0A9F: 1@ = current_thread_pointer 
1@ += 16 
0A8D: 1@ = read_memory 1@ size 4 virtual_protect 0 
0062: 1@ -= 0@ // (int) 
1@ += 4 
0AB2: ret 1 1@


2) Siła NPC

Czyli jak zwiększyć siłę NPC, aby zadawał większe obrażenia w walce wręcz?
Postów: 1004 Dołączył: 2009-01-20
#
odp. 2
Wydaje mi się że najłatwiejszym sposobem były by zwiększenie życia NPC. W tedy wydawało by się że NPC jest mocniejszy, a graczowi można by było zmniejszyć.
Postów: 13 Dołączył: 2011-12-07
#
Dzięki za odpowiedź, spróbuję zmniejszyć HP gracza, bo NPC ma już wystarczająco dużo. Zostało jeszcze pytanie nr 1. ;)
Postów: 1004 Dołączył: 2009-01-20
#
odn. 1
To masz tak
Kod:
07FE: set_actor 1@ fighting_style_to 5 2
05E2: AS_actor 1@ kill_actor $PLAYER_ACTOR

a powinno być tak
Kod:
05E2: AS_actor 1@ kill_actor $PLAYER_ACTOR
07FE: set_actor 1@ fighting_style_to 5 2

Miałem edytować posta ale tak jakoś mi zeszło i zapomniałem.
Postów: 13 Dołączył: 2011-12-07
#
Ok, działa. Tylko musiałem usunąć kastet... ;/ Ostatnie pytanie w tym temacie - da się połączyć styl walki z kastetem?
Poprzedni 1 Następny
Zaloguj się lub zarejestruj się, żeby pisać na forum.
Created & Powered by MakG