17.12.2019, 14:04:59
DamMagicAltenStab_00.d
Где комментарий, должен быть урон, который наносится врагу..
else if(Hlp_IsItem(MyWeapon3,ItRw_Addon_FireBow) == TRUE)
{
if(slf.attribute[ATR_HITPOINTS] > 0)
{
Wld_PlayEffect("VOB_BURN",slf,slf,0,0,0,FALSE);
//
if(slf.attribute[ATR_HITPOINTS] <= 0)
{
B_GivePlayerXP(slf.level * 10);
};
};
}
else if(Hlp_IsItem(MyWeapon4,ItRw_Addon_FireCrossBow) == TRUE)
{
if(slf.attribute[ATR_HITPOINTS] > 0)
{
Wld_PlayEffect("VOB_BURN",slf,slf,0,0,0,FALSE);
//
if(slf.attribute[ATR_HITPOINTS] <= 0)
{
B_GivePlayerXP(slf.level * 10);
};
};
}
edit. Сделал эффект горения огненному луку и арбалету
else if(Hlp_IsItem(MyWeapon3,ItRw_Addon_FireBow) == TRUE)
{
if(slf.attribute[ATR_HITPOINTS] > 0)
{
//Wld_PlayEffect("VOB_BURN",slf,slf,0,0,0,FALSE);
//new
if((slf.aivar[AIV_MM_REAL_ID] == ID_ICEGOLEM) || (slf.aivar[AIV_MM_REAL_ID] == ID_Icewolf) || (slf.aivar[AIV_MM_REAL_ID] == ID_DRAGON_ICE) || (slf.aivar[AIV_MM_REAL_ID] == ID_WARANLED) || (slf.aivar[AIV_MM_REAL_ID] == ID_ICETROLL))
{
Wld_PlayEffect("VOB_BURN",slf,slf,0,0,0,FALSE);
}
else if((slf.aivar[AIV_MM_REAL_ID] == ID_FIREGOLEM) || (slf.aivar[AIV_MM_REAL_ID] == ID_FIREWARAN) || (slf.aivar[AIV_MM_REAL_ID] == ID_DRAGON_FIRE) || (slf.aivar[AIV_MM_REAL_ID] == ID_FIREGIANTRAT) || (slf.aivar[AIV_MM_REAL_ID] == ID_FIREBLOODFLY) || (slf.aivar[AIV_MM_REAL_ID] == ID_Gargoyle))
{
}
else
{
Wld_PlayEffect("VOB_BURN",slf,slf,0,0,0,FALSE);
};
if(!FF_Active(FireDamageBoxCrossbow))
{
global_fired_npc_self = Hlp_GetNpc(slf);
FF_ApplyOnceExt(FireDamageBoxCrossbow, 1000, 3);
};
//end
if(slf.attribute[ATR_HITPOINTS] <= 0)
{
B_GivePlayerXP(slf.level * 10);
//new
if(FF_Active(FireDamageBoxCrossbow))
{
FF_Remove(FireDamageBoxCrossbow);
};
//end
};
};
}
else if(Hlp_IsItem(MyWeapon4,ItRw_Addon_FireCrossBow) == TRUE)
{
if(slf.attribute[ATR_HITPOINTS] > 0)
{
//Wld_PlayEffect("VOB_BURN",slf,slf,0,0,0,FALSE);
//new
if((slf.aivar[AIV_MM_REAL_ID] == ID_ICEGOLEM) || (slf.aivar[AIV_MM_REAL_ID] == ID_Icewolf) || (slf.aivar[AIV_MM_REAL_ID] == ID_DRAGON_ICE) || (slf.aivar[AIV_MM_REAL_ID] == ID_WARANLED) || (slf.aivar[AIV_MM_REAL_ID] == ID_ICETROLL))
{
Wld_PlayEffect("VOB_BURN",slf,slf,0,0,0,FALSE);
}
else if((slf.aivar[AIV_MM_REAL_ID] == ID_FIREGOLEM) || (slf.aivar[AIV_MM_REAL_ID] == ID_FIREWARAN) || (slf.aivar[AIV_MM_REAL_ID] == ID_DRAGON_FIRE) || (slf.aivar[AIV_MM_REAL_ID] == ID_FIREGIANTRAT) || (slf.aivar[AIV_MM_REAL_ID] == ID_FIREBLOODFLY) || (slf.aivar[AIV_MM_REAL_ID] == ID_Gargoyle))
{
}
else
{
Wld_PlayEffect("VOB_BURN",slf,slf,0,0,0,FALSE);
};
if(!FF_Active(FireDamageBoxCrossbow))
{
global_fired_npc_self = Hlp_GetNpc(slf);
FF_ApplyOnceExt(FireDamageBoxCrossbow, 1000, 3);
};
//end
if(slf.attribute[ATR_HITPOINTS] <= 0)
{
B_GivePlayerXP(slf.level * 10);
//new
if(FF_Active(FireDamageBoxCrossbow))
{
FF_Remove(FireDamageBoxCrossbow);
};
//end
};
};
}
//new
func void FireDamageBoxCrossbow()
{
if((global_fired_npc_self.aivar[AIV_MM_REAL_ID] == ID_ICEGOLEM) || (global_fired_npc_self.aivar[AIV_MM_REAL_ID] == ID_Icewolf) || (global_fired_npc_self.aivar[AIV_MM_REAL_ID] == ID_DRAGON_ICE) || (global_fired_npc_self.aivar[AIV_MM_REAL_ID] == ID_WARANLED) || (global_fired_npc_self.aivar[AIV_MM_REAL_ID] == ID_ICETROLL))
{
global_fired_npc_self.attribute[ATR_HITPOINTS] = global_fired_npc_self.attribute[ATR_HITPOINTS] - 60;
}
else if((global_fired_npc_self.aivar[AIV_MM_REAL_ID] == ID_FIREGOLEM) || (global_fired_npc_self.aivar[AIV_MM_REAL_ID] == ID_FIREWARAN) || (global_fired_npc_self.aivar[AIV_MM_REAL_ID] == ID_DRAGON_FIRE) || (global_fired_npc_self.aivar[AIV_MM_REAL_ID] == ID_FIREGIANTRAT) || (global_fired_npc_self.aivar[AIV_MM_REAL_ID] == ID_FIREBLOODFLY) || (global_fired_npc_self.aivar[AIV_MM_REAL_ID] == ID_Gargoyle))
{
}
else if(global_fired_npc_self.flags == NPC_FLAG_IMMORTAL)
{
}
else
{
global_fired_npc_self.attribute[ATR_HITPOINTS] = global_fired_npc_self.attribute[ATR_HITPOINTS] - 30;
};
if((global_fired_npc_self.aivar[AIV_VictoryXPGiven] == FALSE) && (global_fired_npc_self.attribute[ATR_HITPOINTS] <= 0))
{
B_GivePlayerXP(global_fired_npc_self.level * XP_PER_VICTORY);
global_fired_npc_self.aivar[AIV_VictoryXPGiven] = TRUE;
if (FF_Active(FireDamageBoxCrossbow))
{
FF_Remove(FireDamageBoxCrossbow);
};
};
};
Где комментарий, должен быть урон, который наносится врагу..
else if(Hlp_IsItem(MyWeapon3,ItRw_Addon_FireBow) == TRUE)
{
if(slf.attribute[ATR_HITPOINTS] > 0)
{
Wld_PlayEffect("VOB_BURN",slf,slf,0,0,0,FALSE);
//
if(slf.attribute[ATR_HITPOINTS] <= 0)
{
B_GivePlayerXP(slf.level * 10);
};
};
}
else if(Hlp_IsItem(MyWeapon4,ItRw_Addon_FireCrossBow) == TRUE)
{
if(slf.attribute[ATR_HITPOINTS] > 0)
{
Wld_PlayEffect("VOB_BURN",slf,slf,0,0,0,FALSE);
//
if(slf.attribute[ATR_HITPOINTS] <= 0)
{
B_GivePlayerXP(slf.level * 10);
};
};
}
edit. Сделал эффект горения огненному луку и арбалету
else if(Hlp_IsItem(MyWeapon3,ItRw_Addon_FireBow) == TRUE)
{
if(slf.attribute[ATR_HITPOINTS] > 0)
{
//Wld_PlayEffect("VOB_BURN",slf,slf,0,0,0,FALSE);
//new
if((slf.aivar[AIV_MM_REAL_ID] == ID_ICEGOLEM) || (slf.aivar[AIV_MM_REAL_ID] == ID_Icewolf) || (slf.aivar[AIV_MM_REAL_ID] == ID_DRAGON_ICE) || (slf.aivar[AIV_MM_REAL_ID] == ID_WARANLED) || (slf.aivar[AIV_MM_REAL_ID] == ID_ICETROLL))
{
Wld_PlayEffect("VOB_BURN",slf,slf,0,0,0,FALSE);
}
else if((slf.aivar[AIV_MM_REAL_ID] == ID_FIREGOLEM) || (slf.aivar[AIV_MM_REAL_ID] == ID_FIREWARAN) || (slf.aivar[AIV_MM_REAL_ID] == ID_DRAGON_FIRE) || (slf.aivar[AIV_MM_REAL_ID] == ID_FIREGIANTRAT) || (slf.aivar[AIV_MM_REAL_ID] == ID_FIREBLOODFLY) || (slf.aivar[AIV_MM_REAL_ID] == ID_Gargoyle))
{
}
else
{
Wld_PlayEffect("VOB_BURN",slf,slf,0,0,0,FALSE);
};
if(!FF_Active(FireDamageBoxCrossbow))
{
global_fired_npc_self = Hlp_GetNpc(slf);
FF_ApplyOnceExt(FireDamageBoxCrossbow, 1000, 3);
};
//end
if(slf.attribute[ATR_HITPOINTS] <= 0)
{
B_GivePlayerXP(slf.level * 10);
//new
if(FF_Active(FireDamageBoxCrossbow))
{
FF_Remove(FireDamageBoxCrossbow);
};
//end
};
};
}
else if(Hlp_IsItem(MyWeapon4,ItRw_Addon_FireCrossBow) == TRUE)
{
if(slf.attribute[ATR_HITPOINTS] > 0)
{
//Wld_PlayEffect("VOB_BURN",slf,slf,0,0,0,FALSE);
//new
if((slf.aivar[AIV_MM_REAL_ID] == ID_ICEGOLEM) || (slf.aivar[AIV_MM_REAL_ID] == ID_Icewolf) || (slf.aivar[AIV_MM_REAL_ID] == ID_DRAGON_ICE) || (slf.aivar[AIV_MM_REAL_ID] == ID_WARANLED) || (slf.aivar[AIV_MM_REAL_ID] == ID_ICETROLL))
{
Wld_PlayEffect("VOB_BURN",slf,slf,0,0,0,FALSE);
}
else if((slf.aivar[AIV_MM_REAL_ID] == ID_FIREGOLEM) || (slf.aivar[AIV_MM_REAL_ID] == ID_FIREWARAN) || (slf.aivar[AIV_MM_REAL_ID] == ID_DRAGON_FIRE) || (slf.aivar[AIV_MM_REAL_ID] == ID_FIREGIANTRAT) || (slf.aivar[AIV_MM_REAL_ID] == ID_FIREBLOODFLY) || (slf.aivar[AIV_MM_REAL_ID] == ID_Gargoyle))
{
}
else
{
Wld_PlayEffect("VOB_BURN",slf,slf,0,0,0,FALSE);
};
if(!FF_Active(FireDamageBoxCrossbow))
{
global_fired_npc_self = Hlp_GetNpc(slf);
FF_ApplyOnceExt(FireDamageBoxCrossbow, 1000, 3);
};
//end
if(slf.attribute[ATR_HITPOINTS] <= 0)
{
B_GivePlayerXP(slf.level * 10);
//new
if(FF_Active(FireDamageBoxCrossbow))
{
FF_Remove(FireDamageBoxCrossbow);
};
//end
};
};
}
//new
func void FireDamageBoxCrossbow()
{
if((global_fired_npc_self.aivar[AIV_MM_REAL_ID] == ID_ICEGOLEM) || (global_fired_npc_self.aivar[AIV_MM_REAL_ID] == ID_Icewolf) || (global_fired_npc_self.aivar[AIV_MM_REAL_ID] == ID_DRAGON_ICE) || (global_fired_npc_self.aivar[AIV_MM_REAL_ID] == ID_WARANLED) || (global_fired_npc_self.aivar[AIV_MM_REAL_ID] == ID_ICETROLL))
{
global_fired_npc_self.attribute[ATR_HITPOINTS] = global_fired_npc_self.attribute[ATR_HITPOINTS] - 60;
}
else if((global_fired_npc_self.aivar[AIV_MM_REAL_ID] == ID_FIREGOLEM) || (global_fired_npc_self.aivar[AIV_MM_REAL_ID] == ID_FIREWARAN) || (global_fired_npc_self.aivar[AIV_MM_REAL_ID] == ID_DRAGON_FIRE) || (global_fired_npc_self.aivar[AIV_MM_REAL_ID] == ID_FIREGIANTRAT) || (global_fired_npc_self.aivar[AIV_MM_REAL_ID] == ID_FIREBLOODFLY) || (global_fired_npc_self.aivar[AIV_MM_REAL_ID] == ID_Gargoyle))
{
}
else if(global_fired_npc_self.flags == NPC_FLAG_IMMORTAL)
{
}
else
{
global_fired_npc_self.attribute[ATR_HITPOINTS] = global_fired_npc_self.attribute[ATR_HITPOINTS] - 30;
};
if((global_fired_npc_self.aivar[AIV_VictoryXPGiven] == FALSE) && (global_fired_npc_self.attribute[ATR_HITPOINTS] <= 0))
{
B_GivePlayerXP(global_fired_npc_self.level * XP_PER_VICTORY);
global_fired_npc_self.aivar[AIV_VictoryXPGiven] = TRUE;
if (FF_Active(FireDamageBoxCrossbow))
{
FF_Remove(FireDamageBoxCrossbow);
};
};
};