Initial Upload
Initial Upload
This commit is contained in:
74
_module/nss/x2_mod_def_equ.nss
Normal file
74
_module/nss/x2_mod_def_equ.nss
Normal file
@@ -0,0 +1,74 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Example XP2 OnItemEquipped
|
||||
//:: x2_mod_def_equ
|
||||
//:: (c) 2003 Bioware Corp.
|
||||
//:://///////////////////////////////////////////
|
||||
/*
|
||||
Put into: OnEquip Event
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Georg Zoeller
|
||||
//:: Created On: 2003-07-16
|
||||
//:://////////////////////////////////////////////
|
||||
#include "x2_inc_switches"
|
||||
#include "x2_inc_intweapon"
|
||||
void main()
|
||||
{
|
||||
|
||||
object oItem = GetPCItemLastEquipped();
|
||||
object oPC = GetPCItemLastEquippedBy();
|
||||
// -------------------------------------------------------------------------
|
||||
// Intelligent Weapon System
|
||||
// -------------------------------------------------------------------------
|
||||
if (IPGetIsIntelligentWeapon(oItem))
|
||||
{
|
||||
IWSetIntelligentWeaponEquipped(oPC,oItem);
|
||||
// prevent players from reequipping their weapon in
|
||||
if (IWGetIsInIntelligentWeaponConversation(oPC))
|
||||
{
|
||||
object oConv = GetLocalObject(oPC,"X2_O_INTWEAPON_SPIRIT");
|
||||
IWEndIntelligentWeaponConversation(oConv, oPC);
|
||||
}
|
||||
else
|
||||
{
|
||||
//------------------------------------------------------------------
|
||||
// Trigger Drain Health Event
|
||||
//------------------------------------------------------------------
|
||||
if (GetLocalInt(oPC,"X2_L_ENSERRIC_ASKED_Q3")==1)
|
||||
{
|
||||
ExecuteScript ("x2_ens_dodrain",oPC);
|
||||
}
|
||||
else
|
||||
{
|
||||
IWPlayRandomEquipComment(oPC,oItem);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Generic Item Script Execution Code
|
||||
// If MODULE_SWITCH_EXECUTE_TAGBASED_SCRIPTS is set to TRUE on the module,
|
||||
// it will execute a script that has the same name as the item's tag
|
||||
// inside this script you can manage scripts for all events by checking against
|
||||
// GetUserDefinedItemEventNumber(). See x2_it_example.nss
|
||||
// -------------------------------------------------------------------------
|
||||
if (GetModuleSwitchValue(MODULE_SWITCH_ENABLE_TAGBASED_SCRIPTS) == TRUE)
|
||||
{
|
||||
SetUserDefinedItemEventNumber(X2_ITEM_EVENT_EQUIP);
|
||||
int nRet = ExecuteScriptAndReturnInt(GetUserDefinedItemEventScriptName(oItem),OBJECT_SELF);
|
||||
if (nRet == X2_EXECUTE_SCRIPT_END)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
////////custom level///////
|
||||
string sTag = GetTag(oItem);
|
||||
if(GetStringLeft(sTag,2)== "L_" && GetHitDice(oPC)<=21)
|
||||
{
|
||||
AssignCommand(oPC, ClearAllActions());
|
||||
AssignCommand(oPC, ActionUnequipItem(oItem));
|
||||
SendMessageToPC(oPC,"You are not of high enough level to use this item");
|
||||
}
|
||||
else return;
|
||||
}
|
Reference in New Issue
Block a user