Gothic 1. Spróbowałem nawet dodać bezpośrednio funkcję w to miejsce zamiast odwołania i dalej nic się nie zmieniło. Także twoje obawy, że w funkcji, której nie skopiowałem jest coś źle napisane były zbędne ; p
INSTANCE ItMi_Angel (C_Item)
{
name = "Wędka";
mainflag = ITEM_KAT_NONE;
flags = ITEM_MULTI;
value = 30;
visual = "Angel.3DS";
material = MAT_WOOD;
scemeName = "ANGEL";
on_state[0] = RYBACTWO_S1;
description = name;
TEXT[5] = NAME_Value;
COUNT[5] = value;
};
func void RYBACTWO_S1 ()
{
var C_NPC her; her = Hlp_GetNpc(PC_Hero);
var C_NPC rock; rock = Hlp_GetNpc(PC_Rockefeller);
//***ALT** if (Hlp_GetInstanceID (self)== Hlp_GetInstanceID (Hero)) // MH: geändert, damit kontrollierte NSCs nicht schlafen können!
if ( (Hlp_GetInstanceID(self)==Hlp_GetInstanceID(her))||(Hlp_GetInstanceID(self)==Hlp_GetInstanceID(rock)) )
{
if (Npc_GetDistToWP (hero, "POMOST") < 300) || (Npc_GetDistToWP (hero, "POMOST2") < 300) || (Npc_GetDistToWP (hero, "POMOST3") < 300) || (Npc_GetDistToWP (hero, "POMOST4") < 300) || (Npc_GetDistToWP (hero, "POMOST5") < 300)
|| (Npc_GetDistToWP (hero, "POMOST6") < 300) || (Npc_GetDistToWP (hero, "POMOST7") < 300) || (Npc_GetDistToWP (hero, "POMOST8") < 300) || (Npc_GetDistToWP (hero, "POMOST9") < 300) || (Npc_GetDistToWP (hero, "POMOST10") < 300)
{
if (Npc_HasItems (hero, ItMi_bait_02) >=1)
{
Npc_RemoveInvItems (hero, ItMi_bait_02, 1);
Losowanie_fish2 = Hlp_Random (10);
if (Losowanie_fish2 == 1) || (Losowanie_fish2 == 7)
{
Print ("Złowiłeś płotkę!");
CreateInvItems (hero, ItFo_Fish6, 1);
};
if (Losowanie_fish2 == 2)
{
Print ("Złowiłeś pstrąga!");
CreateInvItems (hero, ItFo_Fish2, 1);
};
if (Losowanie_fish2 == 4) || (Losowanie_fish2 == 10)
{
Print ("Wyłowiłeś glona!");
CreateInvItems (hero, ItFo_Plants_Glon, 1);
};
if (Losowanie_fish2 == 4)
{
Print ("Nic nie złowiłeś!");
};
if (Losowanie_fish2 == 5) || (Losowanie_fish2 == 9)
{
Print ("Złowiłeś karasia!");
CreateInvItems (hero, ItFo_Fish4, 1);
};
if (Losowanie_fish2 == 6) || (Losowanie_fish2 == 8)
{
Print ("Walczysz z pstrągiem tęczowym!");
Losowanie_SuperFish = Hlp_Random (2);
if Losowanie_SuperFish
{
Print ("Udało się! Złowiłeś pstrąga tęczowego!");
CreateInvItems (hero, ItFo_Fish5, 1);
} else {
Print ("Ryba uciekła!");
};
};
}
else if (Npc_HasItems (hero, ItMi_bait_01) >=1)
{
Npc_RemoveInvItems (hero, ItMi_bait_01, 1);
Losowanie_fish4 = Hlp_Random (10); //100%
if (Losowanie_fish4 == 1) || (Losowanie_fish4 == 3) || (Losowanie_fish4 == 6) || (Losowanie_fish4 == 8)
{
Print ("Złowiłeś płotkę!");
CreateInvItems (hero, ItFo_Fish6, 1);
};
if (Losowanie_fish4 == 2) || (Losowanie_fish4 == 4)
{
Print ("Wyłowiłeś glona!");
CreateInvItems (hero, ItFo_Plants_Glon, 1);
};
if (Losowanie_fish4 == 4) || (Losowanie_fish4 == 5) || (Losowanie_fish4 == 7)
{
Print ("Nic nie złowiłeś!");
};
if (Losowanie_fish4 == 9)
{
Print ("Walczysz z pstrągiem tęczowym!");
Losowanie_SuperFish = Hlp_Random (2);
if Losowanie_SuperFish
{
Print ("Udało się! Złowiłeś pstrąga tęczowego!");
CreateInvItems (hero, ItFo_Fish5, 1);
} else {
Print ("Ryba uciekła!");
};
};
};
}
else
{
PrintScreen ("Nie możesz tu łowić!", -1, -1, "Font_New_10_Red.TGA", 1);
};
};
};
To jest jakiś bug Gothica. Może w MDS da się to naprawić tak jak niby z dublującymi się przedmiotami?