[G2:NK]Acess Violation przy oddawaniu zadania 10234 33

O temacie

Autor Graveir

Zaczęty 15.02.2011 roku

Wyświetleń 10234

Odpowiedzi 33

Bucik

Bucik

Użytkownicy
posty182
Propsy128
Profesjabrak
  • Użytkownicy
 

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
Heh ciekawe jak to będzie wyglądało-zabijamy wilka i wyciągamy z niego miecz xD
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

Bucik

Bucik

Użytkownicy
posty182
Propsy128
Profesjabrak
  • Użytkownicy
Wszystko już wiesz? Działa chleb w żołądku wilka?
 

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
Co do wilka żołądka nie patrzyłem.Ale wiem,że żołądek goblina przechowuje moją wódkę xD czyli chleb też raczej zadziała.A skoro już jesteście tacy pomocni-jak usunąć/przeteleportować postać po dialogu?Bo chcę,by ta postać,która zleca nam zadanie zabicia tych potworów po skończonym dialogu została "usunięta"z gry,lub przeteleportowana tam,gdzie bez kodów się nie da dostać.
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

Bucik

Bucik

Użytkownicy
posty182
Propsy128
Profesjabrak
  • Użytkownicy
Spróbuj zrobić kolesiowi rutynę na ukrytym waypoint'cie i po dialogu tylko ją wywołać. Jeśli chodzi ci jendak o natychmiastowe zniknięcie no to szczerze mówiąc nie wiem, musiałbym sprawdzić, poszperać w skryptach.

//EDIT
Sprawdź ta funkcje:
AI_Teleport (InstancjaNPC_LubObiektKlasyC_NPC, "NazwaWypointu");
Możesz też go zabić dla pewności, że się nie ruszy.
B_KillNpc(InstancjaNPC);Tyle, że nie wiem czy ta funkcja będzie zaimplementowana przed twoim dialogiem bo nie jest wbudowana. Ale zobacz - powinno zadziałać.
 

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
No to jeśli miałbyś czas to poszukaj.A z tym wywołaniem rutyny przez przypadek to on nie stałby w miejscu?Bo mi się wydaje,że jakbym użył zmiany rutyny to on raczej nie pobiegnie/nie przeteleportuje się do waypointu ukrytego.
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

Bucik

Bucik

Użytkownicy
posty182
Propsy128
Profesjabrak
  • Użytkownicy
 

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
Zabijanie raczej odpada-bo zostaje ciało.A ja nie chcę,by był ślad jego istnienia xD a co do sprawdzenia to będę musiał od nowa dialogi aktualizować,a to trochę trwa na moim złomodorze xD
Edit:Sprawdziłem i kill odpada,bo zabija przed skończeniem dialogu(dałem KillNpc(self))
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator
Dowal mu coś takiego:
func void pa_pa (var c_npc npc)
{
AI_StopProcessInfos (npc);
// Npc_ClearAIQueue (npc); //gdyby nie działało wywal ukośniki na początku linijki, może coś pomoże
AI_Teleport (npc, "TOT");
RemoveInvItem (npc,ItMi_Stuff_OldCoin_02);
Npc_ChangeAttribute (npc, ATR_HITPOINTS, -npc.attribute[ATR_HITPOINTS_MAX]);
Wld_RemoveNpc (npc); //tu może wywalić błąd, wtedy ręcznie wpisz instance
};
Możesz też na samym początku zmienić mu rutynę na ta_position w waypoincie "TOT", ale to chyba nie będzie potrzebne.

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
Dowal mu coś takiego:
func void pa_pa (var c_npc npc)
{
AI_StopProcessInfos (npc);
// Npc_ClearAIQueue (npc); //gdyby nie działało wywal ukośniki na początku linijki, może coś pomoże
AI_Teleport (npc, "TOT");
RemoveInvItem (npc,ItMi_Stuff_OldCoin_02);
Npc_ChangeAttribute (npc, ATR_HITPOINTS, -npc.attribute[ATR_HITPOINTS_MAX]);
Wld_RemoveNpc (npc); //tu może wywalić błąd, wtedy ręcznie wpisz instance
};
Możesz też na samym początku zmienić mu rutynę na ta_position w waypoincie "TOT", ale to chyba nie będzie potrzebne.
RemoveInvItem (npc,ItMi_Stuff_OldCoin_02);jeśli NPC nie będzie miał tego item`a wywali Acess Violation ;)

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
Próbowałem dać w opcjach choice po AI_Stopprocess Wld_RemoveNpc (VLK_4305_Artemid)i wywala Accessa.Czyli pozostaje usunięcie przez B_Kapitelwelsch(czyli,że w 2 rozdziale jest kasowany).
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
Próbowałem dać w opcjach choice po AI_Stopprocess Wld_RemoveNpc (VLK_4305_Artemid)i wywala Accessa.Czyli pozostaje usunięcie przez B_Kapitelwelsch(czyli,że w 2 rozdziale jest kasowany).
ujme to tak :facepalm:  
przecież avallach napisał ci skrypt

func void pa_pa (var c_npc npc)
{
AI_StopProcessInfos (npc);
// Npc_ClearAIQueue (npc); //gdyby nie działało wywal ukośniki na początku linijki, może coś pomoże
AI_Teleport (npc, "TOT"); // tym teleportujesz npc z daleka od naszego bochatera
//RemoveInvItem (npc,ItMi_Stuff_OldCoin_02); //tym usuń wszystko z ekwipunku co ma flag item_mission
Npc_ChangeAttribute (npc, ATR_HITPOINTS, -npc.attribute[ATR_HITPOINTS_MAX]);//tu go zabijasz jeśli npc zabity zostanie poza obszarem wzroki i nie będzie miał item`ów mission to go usunie z planszy
//Wld_RemoveNpc (npc); //tu może wywalić błąd, wtedy ręcznie wpisz instance
};
ten kod dajesz na początku pliku z dialogiem
a w dialogu dajesz
pa_pa (self);
daj skrypt postaci zobaczy się czy nie dałeś jakiegoś item`u z flagą item_mision

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
Nie chcę robić nowej funkcji,więc wolę skorzystać z pliku B_Kapitelwelsche(czy jakoś tak).W drugim rozdziale postacie ładnie się kasują,ale kiedy chcę przeteleportować postać Wrzoda i Kupca z wieży Xardasa w 4 rozdziale to jest problem...a mianowicie Wrzoda teleportuje,ale Kupiec dalej stoi w swoim miejscu.Dałem odpowiednie rutyny(tak sądzę).Wkleję te skrypty:
1)Wrzód:
FUNC VOID Rtn_Stand_300()
{
TA_Practice_Sword(00,00,16,00,"NW_CITY_MUD");
TA_Practice_Sword(16,00,00,00,"NW_CITY_MUD");
};
Do niego wpis w B_Kapitelwelsche:
else if (neues_Kapitel == 4)
Npc_ExchangeRoutine (NONE_300_Wrzod, "STAND");
AI_Teleport (NONE_300_Wrzod,"NW_CITY_MUD");
No i w 4 rozdziale Wrzoda ładnie teleportuje do NW_CITY_MUD.Ale tak pięknie nie jest z Kupcem...

2)Kupiec:
FUNC VOID Rtn_KUPIEC_30006()
{
TA_Stand_ArmsCrossed(08,00,16,00,"NW_CITY_KUPIEC");
        TA_Stand_ArmsCrossed(16,00,08,00,"NW_CITY_KUPIEC");
};
Wpis do B_Kapitelweschel(podobnie jak u Wrzoda):
Npc_ExchangeRoutine (NONE_305_Kupiec, "KUPIEC");
AI_Teleport (NONE_305_Kupiec,"NW_CITY_KUPIEC");
Czemu Wrzoda teleportuje,a Kupca nie??
Edit:Znaczy się Kupca też teleportuje,ale zamiast stać w tym waypoincie wraca do waypointa startowego(czyli w wieży Xardasa)
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
Jako,iż minął dzień od ostatniego posta odświeżam temat.
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry