130 lines
3.7 KiB
Plaintext
130 lines
3.7 KiB
Plaintext
#include "prc_inc_racial"
|
|
|
|
//Put this OnEnter
|
|
void main()
|
|
{
|
|
float fSeconds = 5.0;
|
|
object oPC = GetEnteringObject();
|
|
if (!GetIsPC(oPC)) return;
|
|
object oPersistantInfo = GetItemPossessedBy(oPC, "persistinfo");
|
|
if(GetIsObjectValid(oPersistantInfo) != TRUE)
|
|
{
|
|
oPersistantInfo = CreateItemOnObject("persistinfo", oPC);
|
|
}
|
|
object odicebag = GetItemPossessedBy(oPC, "dmfi_pc_dicebag");
|
|
if(GetIsObjectValid(odicebag) != TRUE)
|
|
{
|
|
CreateItemOnObject("dmfi_pc_dicebag", oPC);
|
|
}
|
|
object ofollow = GetItemPossessedBy(oPC, "dmfi_pc_follow");
|
|
if(GetIsObjectValid(odicebag) != TRUE)
|
|
{
|
|
CreateItemOnObject("dmfi_pc_follow", oPC);
|
|
}
|
|
|
|
//Give the PCs language widgets according to class or race
|
|
|
|
{
|
|
if ((MyPRCGetRacialType(oPC)==RACIAL_TYPE_ELF)||
|
|
(MyPRCGetRacialType(oPC)==RACIAL_TYPE_HALFELF))
|
|
{
|
|
if (GetItemPossessedBy(oPC, "hlslang_1")== OBJECT_INVALID)
|
|
{
|
|
CreateItemOnObject("hlslang_1", oPC);
|
|
}
|
|
}
|
|
|
|
if ((MyPRCGetRacialType(oPC)==RACIAL_TYPE_GNOME))
|
|
{
|
|
if (GetItemPossessedBy(oPC, "hlslang_2")== OBJECT_INVALID)
|
|
{
|
|
CreateItemOnObject("hlslang_2", oPC);
|
|
}
|
|
}
|
|
|
|
if ((MyPRCGetRacialType(oPC)==RACIAL_TYPE_HALFLING))
|
|
{
|
|
if (GetItemPossessedBy(oPC, "hlslang_3")== OBJECT_INVALID)
|
|
{
|
|
CreateItemOnObject("hlslang_3", oPC);
|
|
}
|
|
}
|
|
|
|
if ((MyPRCGetRacialType(oPC)==RACIAL_TYPE_DWARF))
|
|
{
|
|
if (GetItemPossessedBy(oPC, "hlslang_4")== OBJECT_INVALID)
|
|
{
|
|
CreateItemOnObject("hlslang_4", oPC);
|
|
}
|
|
}
|
|
|
|
if ((MyPRCGetRacialType(oPC)==RACIAL_TYPE_HALFORC))
|
|
{
|
|
if (GetItemPossessedBy(oPC, "hlslang_5")== OBJECT_INVALID)
|
|
{
|
|
CreateItemOnObject("hlslang_5", oPC);
|
|
}
|
|
}
|
|
|
|
if ((GetLevelByClass(CLASS_TYPE_DRUID, oPC)>0)||
|
|
(GetLevelByClass(CLASS_TYPE_RANGER, oPC)>0))
|
|
{
|
|
if (GetItemPossessedBy(oPC, "hlslang_8")== OBJECT_INVALID)
|
|
{
|
|
CreateItemOnObject("hlslang_8", oPC);
|
|
}
|
|
}
|
|
|
|
if ((GetLevelByClass(CLASS_TYPE_ROGUE, oPC)>0))
|
|
{
|
|
if (GetItemPossessedBy(oPC, "hlslang_9")== OBJECT_INVALID)
|
|
{
|
|
CreateItemOnObject("hlslang_9", oPC);
|
|
}
|
|
}
|
|
}
|
|
|
|
if (GetLocalInt(oPersistantInfo, "IsBound") == 1)
|
|
{
|
|
location lTarget = GetLocation(GetWaypointByTag(GetLocalString(oPersistantInfo, "Bind")));
|
|
|
|
//only do the jump if the location is valid.
|
|
//though not flawless, we just check if it is in a valid area.
|
|
//the script will stop if the location isn't valid - meaning that
|
|
//nothing put after the teleport will fire either.
|
|
//the current location won't be stored, either
|
|
|
|
if (GetAreaFromLocation(lTarget) == OBJECT_INVALID) return;
|
|
|
|
AssignCommand(oPC, ClearAllActions());
|
|
|
|
AssignCommand(oPC, ActionJumpToLocation(lTarget));
|
|
}
|
|
|
|
|
|
int DoOnce = GetLocalInt(oPC, GetTag(OBJECT_SELF));
|
|
|
|
if (DoOnce==TRUE) return;
|
|
|
|
SetLocalInt(oPC, GetTag(OBJECT_SELF), TRUE);
|
|
|
|
AddJournalQuestEntry("ServerWebPages", 1, oPC, FALSE, FALSE);
|
|
AddJournalQuestEntry("RuneDeities", 1, oPC, FALSE, FALSE);
|
|
AddJournalQuestEntry("RuneGuilds", 1, oPC, FALSE, FALSE);
|
|
AddJournalQuestEntry("Parties", 1, oPC, FALSE, FALSE);
|
|
AddJournalQuestEntry("PlayerRules", 1, oPC, FALSE, FALSE);
|
|
AddJournalQuestEntry("PlayerRules2", 1, oPC, FALSE, FALSE);
|
|
AddJournalQuestEntry("PlayerRules3", 1, oPC, FALSE, FALSE);
|
|
AddJournalQuestEntry("PlayerRules4", 1, oPC, FALSE, FALSE);
|
|
AddJournalQuestEntry("PlayerRules5", 1, oPC, FALSE, FALSE);
|
|
AddJournalQuestEntry("PlayerRules6", 1, oPC, FALSE, FALSE);
|
|
AddJournalQuestEntry("RestrictedRaces", 1, oPC, FALSE, FALSE);
|
|
AddJournalQuestEntry("RestrictedClasses", 1, oPC, FALSE, FALSE);
|
|
AddJournalQuestEntry("RestrictedClassPowers", 1, oPC, FALSE, FALSE);
|
|
DelayCommand(fSeconds,
|
|
FloatingTextStringOnCreature("Please visit our websites at http://www.freewebs.com/runereborn",
|
|
oPC,
|
|
FALSE));
|
|
|
|
}
|