Neverwinter Script Source |
void RemoveEffects(object oObject) { effect eEff = GetFirstEffect(oObject); while(GetIsEffectValid(eEff)) { int nType = GetEffectType(eEff); if( GetEffectSubType(eEff) != SUBTYPE_EXTRAORDINARY && (nType == EFFECT_TYPE_ABILITY_INCREASE || nType == EFFECT_TYPE_AC_INCREASE || nType == EFFECT_TYPE_ATTACK_INCREASE || nType == EFFECT_TYPE_BLINDNESS || nType == EFFECT_TYPE_CHARMED || nType == EFFECT_TYPE_CONCEALMENT || nType == EFFECT_TYPE_CONFUSED || nType == EFFECT_TYPE_CURSE || nType == EFFECT_TYPE_DAMAGE_IMMUNITY_INCREASE || nType == EFFECT_TYPE_DAMAGE_INCREASE || nType == EFFECT_TYPE_DAMAGE_REDUCTION || nType == EFFECT_TYPE_DAMAGE_RESISTANCE || nType == EFFECT_TYPE_DAZED || nType == EFFECT_TYPE_DEAF || nType == EFFECT_TYPE_DOMINATED || nType == EFFECT_TYPE_ELEMENTALSHIELD || nType == EFFECT_TYPE_ETHEREAL || nType == EFFECT_TYPE_FRIGHTENED || nType == EFFECT_TYPE_HASTE || nType == EFFECT_TYPE_IMMUNITY || nType == EFFECT_TYPE_IMPROVEDINVISIBILITY || nType == EFFECT_TYPE_INVISIBILITY || nType == EFFECT_TYPE_INVULNERABLE || nType == EFFECT_TYPE_ABILITY_INCREASE || nType == EFFECT_TYPE_NEGATIVELEVEL || nType == EFFECT_TYPE_PARALYZE || nType == EFFECT_TYPE_POLYMORPH || nType == EFFECT_TYPE_REGENERATE || nType == EFFECT_TYPE_SANCTUARY || nType == EFFECT_TYPE_SAVING_THROW_INCREASE || nType == EFFECT_TYPE_SEEINVISIBLE || nType == EFFECT_TYPE_SILENCE || nType == EFFECT_TYPE_SKILL_INCREASE || nType == EFFECT_TYPE_SLOW || nType == EFFECT_TYPE_SPELL_IMMUNITY || nType == EFFECT_TYPE_SPELL_RESISTANCE_INCREASE || nType == EFFECT_TYPE_SPELLLEVELABSORPTION || nType == EFFECT_TYPE_TEMPORARY_HITPOINTS || nType == EFFECT_TYPE_TRUESEEING || nType == EFFECT_TYPE_ULTRAVISION || nType == EFFECT_TYPE_INVULNERABLE) ) RemoveEffect(oObject, eEff); eEff = GetNextEffect(oObject); } } void main() { object oPC = GetEnteringObject(); effect eSpellFailure = SupernaturalEffect( EffectSpellFailure(100, SPELL_SCHOOL_GENERAL) ); if(GetObjectType(oPC) == OBJECT_TYPE_CREATURE) { RemoveEffects(oPC); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eSpellFailure, oPC); } object oOwner = GetLocalObject(OBJECT_SELF,"Owner"); int IsPC = GetLocalInt(oPC,"IsAPC"); int pop = GetLocalInt(OBJECT_SELF,"PCPop"); if(IsPC) SetLocalInt(OBJECT_SELF,"PCPop",pop+1); if((IsPC && (oOwner == OBJECT_INVALID)) || (oOwner == oPC)) { SetLocalObject(OBJECT_SELF,"Owner",oPC); SignalEvent(OBJECT_SELF,EventUserDefined(500)); } } |
Neverwinter Script Source |
#include "fr_i0_subraces" #include "x2_inc_itemprop" #include "hx_inc_craftfix" #include "hx_sc_sec_check" #include "hx_inc_spellfix" void RemoveTempEffects(object oItem) { itemproperty ItemPTemp = GetFirstItemProperty(oItem); while (GetIsItemPropertyValid(ItemPTemp)) { if (GetItemPropertyDurationType(ItemPTemp)==DURATION_TYPE_TEMPORARY) RemoveItemProperty(oItem,ItemPTemp); ItemPTemp = GetNextItemProperty(oItem); } } void main() { object oPC = GetEnteringObject(); object oStore = GetModule(); string sStoreName = GetName(oPC) + GetPCPlayerName(oPC); // =[PC name] + [login name] SetLocalString(oPC, "_MyIdString", sStoreName); SendMessageToPC(oPC, "Taganrog Cormyrean Prophecies v3.7.2c"); AssignCommand(GetModule(), DelayCommand(0.0f, SecBegin(oPC))); /// if(GetIsDM(oPC)) { if(GetItemPossessedBy(oPC, "dmfi_emote") == OBJECT_INVALID) CreateItemOnObject("dmfi_emote", oPC); if(GetItemPossessedBy(oPC, "dmfi_dmw") == OBJECT_INVALID) CreateItemOnObject("dmfi_dmw", oPC); return; } DelayCommand(0.0, InitializeSubrace(oPC)); AssignCommand(GetModule(), DelayCommand(0.0f, CraftCheck(oPC))); object oOdeyalo = GetItemPossessedBy(oPC, "odeyalo"); if (GetIsObjectValid(oOdeyalo) == TRUE) DestroyObject(oOdeyalo); if(GetIsPC(oPC)) { SetLocalInt(oPC, "IsAPC", TRUE); RestoreTalents(oPC, sStoreName); int iSavedHP = GetLocalInt(oStore,"HP_"+sStoreName); // SendMessageToAllDMs(IntToString(iSavedHP)); if(iSavedHP != 0) { effect efDamage = EffectDamage(GetMaxHitPoints(oPC)-iSavedHP,DAMAGE_TYPE_MAGICAL,DAMAGE_POWER_ENERGY); DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_INSTANT, efDamage, oPC)); } if(GetItemPossessedBy(oPC, "dmfi_emote") == OBJECT_INVALID) CreateItemOnObject("dmfi_emote", oPC); if(!GetXP(oPC)) { CreateItemOnObject("bedroll", oPC); CreateItemOnObject("NW_IT_GOLD001", oPC, 300); CreateItemOnObject("kr_food", oPC, 10); SetXP(oPC, 1); } ////check on temp properties object oItem=GetItemInSlot(INVENTORY_SLOT_CHEST, oPC); RemoveTempEffects(oItem); oItem=GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC); RemoveTempEffects(oItem); oItem=GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oPC); RemoveTempEffects(oItem); ////End check on temp properties } // wtf? ![]() SetLocalInt(oPC, "CB_XP_SETTING", 0); SetLocalInt(oPC, "CB_ITEM1", 0); SetLocalInt(oPC, "CB_ITEM2", 0); SetLocalInt(oPC, "CB_ITEM3", 0); SetLocalInt(oPC, "CB_ITEM4", 0); SetLocalInt(oPC, "CB_ITEM5", 0); SetLocalInt(oPC, "CB_ITEM6", 0); // int ECL = core(oPC); // SetLocalInt(oPC, "CB_ECL", ECL); // laggy stuff if(GetLocalInt(oStore, "CB_EXECUTE") != 1) { ExecuteScript("_cb_ecl", oStore); SetLocalInt(oStore, "CB_EXECUTE", 1); } } |
QUOTE |
#include "hx_sc_sec_check" |
QUOTE |
string sStoreName = GetName(oPC) + GetPCPlayerName(oPC); // =[PC name] + [login name] SetLocalString(oPC, "_MyIdString", sStoreName); SendMessageToPC(oPC, "Taganrog Cormyrean Prophecies v3.7.2c"); AssignCommand(GetModule(), DelayCommand(0.0f, SecBegin(oPC))); /// |
CODE |
QUOTE string sStoreName = GetName(oPC) + GetPCPlayerName(oPC); // =[PC name] + [login name] SetLocalString(oPC, "_MyIdString", sStoreName); SendMessageToPC(oPC, "Taganrog Cormyrean Prophecies v3.7.2c"); AssignCommand(GetModule(), DelayCommand(0.0f, SecBegin(oPC))); /// |
Neverwinter Script Source |
const int MAX_PLAYERS = 32; int SlotReserv(object oPC) { int nPlayers = 0, nDMs = 0; object oPlayer = GetFirstPC(); while(oPlayer != OBJECT_INVALID) { if(GetIsDM(oPlayer)) nDMs++; else nPlayers++; oPlayer = GetNextPC(); } if((nPlayers > MAX_PLAYERS + nDMs) && !GetIsDM(oPC)) { SendMessageToPC(oPC, "Ñâîáîäíûõ ìåñò íåò."); BootPC(oPC); return 1; } return 0; } void AccCheck(object oPC, string sPC) { int nAccessLvl; int nRow = 0; string sAccessLvl, szData, sComment; do { szData = Get2DAString("accounts", "account", nRow); nRow++; } while((szData!="")&&(szData!=sPC)); nRow--; if(szData==sPC) { sAccessLvl = Get2DAString("accounts", "access", nRow); sComment = Get2DAString("accounts", "comment", nRow); if(sAccessLvl == "") nAccessLvl = 1; else nAccessLvl = StringToInt(sAccessLvl); if (nAccessLvl==3) { if (!GetIsDM(oPC)) SendMessageToAllDMs(szData+" -- Mega VIP Player Entering"); else SendMessageToAllDMs(szData+" -- Mega VIP DM Entering"); } else if (nAccessLvl==2) { SendMessageToAllDMs(szData+" -- VIP Player Entering"); if (!GetIsDM(oPC)) { SendMessageToAllDMs(szData+" -- Ups! Is it Player?! BOOT-BOOT-BOOT!"); BootPC(oPC); DelayCommand(3.0, BootPC(oPC)); DelayCommand(6.0, BootPC(oPC)); } } else if (nAccessLvl==1) { SendMessageToAllDMs(szData+" -- Player Entering"); if (GetIsDM(oPC)) { SendMessageToAllDMs(szData+" -- Ups! Is it DM?! BOOT-BOOT-BOOT!"); BootPC(oPC); DelayCommand(3.0, BootPC(oPC)); DelayCommand(6.0, BootPC(oPC)); } } else { SendMessageToAllDMs(sPC+" -- Îòïðàâëåí â áóòèê!"); SendMessageToAllDMs("Ïðè÷èíà: "+sComment); BootPC(oPC); DelayCommand(3.0, BootPC(oPC)); DelayCommand(6.0, BootPC(oPC)); } } else { SendMessageToAllDMs(sPC+" -- Îòïðàâëåí â áóòèê!"); SendMessageToAllDMs("Ïðè÷èíà: àêêàóíò íå íàéäåí â ñïèñêå."); BootPC(oPC); DelayCommand(3.0, BootPC(oPC)); DelayCommand(6.0, BootPC(oPC)); } if (sComment!="") SendMessageToAllDMs("Êîìåíòàðèé: "+sComment); //DelayCommand(2.0f, BootPC(oPC)); // not found or banned. } void SecBegin(object oPlayer) { string sAccountDatabase = GetPCPlayerName(oPlayer); AccCheck(oPlayer,sAccountDatabase); // not finished yet. if(GetIsDM(oPlayer)) return; SlotReserv(oPlayer); if (GetCampaignString(sAccountDatabase, "PublicCDKey") == "") SetCampaignString(sAccountDatabase, "PublicCDKey", "FFFFFFFF"); string sCDKey = GetPCPublicCDKey(oPlayer); string sIP = GetPCIPAddress(oPlayer); string sDefendedCD = GetCampaignString(sAccountDatabase, "PublicCDKey"); string sDefendedIP = GetCampaignString(sAccountDatabase, "PlayerIPAddress"); if(sDefendedCD == "FFFFFFF" && sDefendedIP == "") SendMessageToPC(oPlayer, "Âàø àêêàóíò íå çàùèùåí!"); if(sDefendedCD != "FFFFFFFF") { if(sDefendedCD != sCDKey) { DelayCommand(2.0f, WriteTimestampedLogEntry("Attemption to hak: '" + GetName(oPlayer) + "' (" + GetPCPlayerName(oPlayer) + "), public CD key part: '" + sCDKey + "', IP address: '" + GetPCIPAddress(oPlayer) + "'")); DelayCommand(2.5f, BootPC(oPlayer)); DelayCommand(3.0f, BootPC(oPlayer)); } else { SendMessageToPC(oPlayer, "CD-key ïðîâåðåí."); } } if(sDefendedIP != "") { if(sIP != sDefendedIP) { DelayCommand(2.0f, WriteTimestampedLogEntry("Attemption to hak(ip invalid): '" + GetName(oPlayer) + "' (" + GetPCPlayerName(oPlayer) + "), public CD key part: '" + sCDKey + "', IP address: '" + GetPCIPAddress(oPlayer) + "'")); DelayCommand(2.5f, BootPC(oPlayer)); DelayCommand(3.0f, BootPC(oPlayer)); } else { SendMessageToPC(oPlayer, "IP ïðîâåðåí."); } } } //void main(){} |
CODE |
AssignCommand(GetModule(), DelayCommand(0.0f, SecBegin(oPC))); /// |
CODE |
AccCheck(oPlayer,sAccountDatabase); // not finished yet. |
Neverwinter Script Source |
AssignCommand(GetModule(), DelayCommand(0.0f, SecBegin(oPC))); |