Nie znam :(
Post połączony: 2017-01-11, 14:44
Trochę zmodyfikowałem skrypt, ale wiadomo że nie będzie działać. Musi być jakieś "połączenie" między tym, a skryptem który oblicza obrażenia, a wiadomo że nie ma go w zwykłych skryptach. A ja wogóle nie ogarniam Ikarusa. Zdaje sobie sprawe, że to forum jest do nauki, a nie wyręczania się ludzmi, ale proszę o pomoc. Podejrzewam, że tu wystarczy zmienić parę linijek. Dla kogoś ogarniętego to jest moment. Ja nie mam pojęcia od której strony to ugryźć.
func int DMG_OnDmg(var int victimPtr, var int attackerPtr, var int dmg)
{
// Diese Funktion anpassen, wenn ihr den Schaden verändern wollt! 'dmg' ist der von Gothic berechnete Schaden.
//dmg = 10; ///jeder Angriff = 10 Schaden just testing
//Var c_npc slf; slf = attackerptr;
//Var c_npc oth; slf = victimPtr;
var int meleedamage;
var c_item tmpItm; tmpItm = Npc_GetEquippedRangedWeapon(self);
var c_item wpn; wpn = Npc_GetEquippedRangedWeapon(self);
var int wpnDmg; wpnDmg = tmpItm.damageTotal;
if (Npc_HasReadiedRangedWeapon(self)) //Fernkampf ist buggy
{
//var c_item wpn; wpn = Npc_GetEquippedRangedWeapon(self);
//var int rangecritchance;
//if wpn2.flags & ITEM_BOW { rangecritchance = slf.HitChance[NPC_TALENT_BOW]; }
//else if wpn2.flags & ITEM_CROSSBOW { rangecritchance = slf.HitChance[NPC_TALENT_CROSSBOW]; };
meleedamage = (wpnDmg + self.attribute[ATR_DEXTERITY]); /////testing ändern
};
dmg = meleedamage;
return dmg;
};
func void _DMG_OnDmg()
{
EDI = DMG_OnDmg(EBP, MEM_ReadInt(MEM_ReadInt(ESP+644)+8), EDI);
};
func void InitDamage()
{
const int dmg = 0;
if (dmg) { return; };
//HookEngineF(6736583/*0x66CAC7*/, 5, _DMG_OnDmg);
dmg = 1;
};