dobra, jeszcze raz grzecznie i od początku.
mamy funkcje b_giveinv items w g1. chcę, aby podczas "przechodzenia" itemu z npc1 do npc2 była wyświetlana jego nazwa.
Dodam,że wołałbym się nie odwoływać do każdego dostepnego w grze iteminstance (dla rudy jest to zrobione).
fragment, który edytuje i mi nie działa:
if (amount == 1)
//&& (Hlp_IsValidItem(item))
{
itemInstance = Hlp_GetInstanceID(item);
itemname = item.name; //wird von CreateInvItems gesetzt --> Nico
msg0 = ConcatStrings (taker.name," odebrał: ");
msg1 = ConcatStrings (msg0 ,item.name);
//msg = ConcatStrings(IntToString(amount),_STR_MESSAGE_ITEMS_GIVEN);
PrintScreen (msg1, 1,91,"FONT_OLD_10_WHITE.TGA",_TIME_MESSAGE_GIVEN);
}
[code]
cały skrypt: [code]
// *****************************************************************
// B_GiveInvItems
// --------------
// wenn das Geben geklappt hat --> TRUE
// wenn nicht (Spieler hat nicht genug oder gar kein Item) --> FALSE
// *****************************************************************
func int B_GiveInvItems (var C_NPC giver, var C_NPC taker, var int itemInstance, var int amount)
{
// EXIT IF...
if (Npc_IsPlayer(giver))
{
if (amount > Npc_HasItems(giver,itemInstance))
{
return FALSE;
};
};
if (amount == 0)
{
return TRUE;
};
//FUNC
// ------ Itmes transferieren ------
Npc_RemoveInvItems (giver, itemInstance, amount);
CreateInvItems (taker, itemInstance, amount);
// ------ PrintScreen ------
var string concatText;
var string itemname;
itemname = item.name; //wird von CreateInvItems gesetzt --> Nico
if Npc_IsPlayer(giver) && (hero.attribute[ATR_HITPOINTS] > 1)
{
if (itemInstance == ItMiNugget)
{
concatText = ConcatStrings(IntToString(amount), _STR_MESSAGE_ORE_GIVEN);
PrintScreen (concatText, 3,_YPOS_MESSAGE_GIVEN,"FONT_OLD_10_WHITE.TGA",_TIME_MESSAGE_GIVEN);
}
else
{
if amount == 1
{
concatText = ConcatStrings (itemname,"przekazał");
PrintScreen (concatText, -1,_YPOS_MESSAGE_GIVEN, "FONT_OLD_10_WHITE.TGA", _TIME_MESSAGE_GIVEN);
}
else
{
concatText = ConcatStrings(giver.name, " oddał Ci ");
concatText = ConcatStrings(IntToString(amount)); // "x Gegenstände gegeben"
concatText = ConcatStrings(concatText,itemname);
concatText = ConcatStrings(concatText,"bryłek rudy");
PrintScreen (concatText, -1, _YPOS_MESSAGE_GIVEN, "FONT_OLD_10_WHITE.TGA", 2);
};
};
}
else if Npc_IsPlayer(taker)
{
if (itemInstance == ItMiNugget)
{
concatText = ConcatStrings(IntToString(amount), "przekazał"); // "x Gold erhalten"
PrintScreen (concatText, -1, _YPOS_MESSAGE_GIVEN, "FONT_OLD_10_WHITE.TGA", 2);
}
else
{
if amount == 1
{
concatText = ConcatStrings (itemname,"przekazał");
PrintScreen (concatText, -1, _YPOS_MESSAGE_GIVEN, "FONT_OLD_10_WHITE.TGA", 2); // "1 Gegenstand erhalten"
}
else
{
//itemInstance = Hlp_GetInstanceID(item);
concatText = ConcatStrings(IntToString(amount),"przekazał"); // "x Gegenstände erhalten"
concatText = ConcatStrings(concatText," (");
concatText = ConcatStrings(concatText,itemname);
concatText = ConcatStrings(concatText,")");
PrintScreen (concatText, -1, _YPOS_MESSAGE_GIVEN, "FONT_OLD_10_WHITE.TGA", 2);
};
};
}; [code]
Post połączony: 2014-02-15, 11:17
w dużym skrócie chcę , aby zmienna itemInstance odnosiła się do nazwy danego itema.