Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Global FactionPowers, TreasureList, CharList, LastPhoto, PhotoName, PhotoList, TodaysMonth, TimeOutGo
- Global gDispatcher, LegitUsers, CDKeys
- global gWeather
- global gMuted
- global gGlobalMute
- global gPacketCounts
- global GameMasters, ColiseumFlag, CTFFlag, CurrentCarriers, Arena
- on IncomingMessage(me, movie, group, user, fullMsg)
- username = user.name
- content = fullmsg.content
- -- Compares packet counts with client and server.
- if (ilk(content) = #list) then
- clientCounts = content[1]
- serverCounts = gPacketCounts.getProp(username)
- gPacketCounts.setProp(username, serverCounts + 1)
- if not(gPacketCounts.getProp(username) = clientCounts) then
- sendPacket("system.user.delete", empty, username)
- exit
- end if
- else
- sendPacket("system.user.delete", empty, username)
- exit
- end if
- fullmsg.content = content[2]
- content = fullmsg.content
- if (content contains "..\") then sendPacket("system.user.delete", empty, username)
- if (content contains "../") then sendPacket("system.user.delete", empty, username)
- if string(username) <> string(fullmsg.SenderID) then
- User.sendMessage("DieScum", "byebye", 0, FALSE, username)
- exit
- end if
- case fullMsg.subject of
- "DeathMessage":
- if (CTFFlag = 1) then
- CTFJoinList = fread("DAT\CTF\Joinlist.txt", #text)
- the itemdelimiter = ":"
- repeat with x = 2 to CTFJoinList.item[1]
- if (CTFJoinList.item[x] = Username) then
- sendpacket("@CTF", "DeathTxt", "*** " & Username & " was just killed in CTF by " & content & ".")
- exit
- end if
- end repeat
- end if
- if (ColiseumFlag = 1) then
- ColiJoinList = fread("DAT\Coliseum\Joinlist.txt", #text)
- the itemdelimiter = ":"
- repeat with x = 2 to ColiJoinList.item[1]
- if (ColiJoinList.item[1] = Username) then
- sendpacket("@Coliseum", "DeathTxt", "*** " & Username & " was just killed in the Coliseum by " & content & ".")
- exit
- end if
- end repeat
- end if
- sendpacket("@allusers", "deathtxt", "*** " & Username & " was just killed by " & content & ".")
- "Verify Client":
- clientHash = fread("Database\Settings\Client Hash.txt", #text)
- if (not(clientHash = content)) then sendPacket(username, "Outdated Client", void)
- "Character Manager Load":
- if (not(getUserRank(username) = "Game Master")) then exit
- if not(file("Database\Characters\" & content & ".txt").exists) then
- sendPacket(username, "Alert", "A character with that username does not exist.")
- exit
- end if
- charFile = fread("Database\Characters\" & content & ".txt", #text)
- itemsFile = fread("Database\Characters\" & content & "-i.txt", #text)
- respawnPoint = fread("DAT\DM\" & content & ".txt", #text)
- bankFile = fread("DAT\Bank\" & content & ".txt", #text)
- reputation = fread("Database\Characters\" & content & "-r.txt", #text)
- PKs = fread("Database\Characters\" & content & "-PKs.txt", #text)
- Deaths = fread("Database\Characters\" & content & "-PDs.txt", #text)
- data = [charFile, itemsFile, respawnPoint, bankFile, reputation, PKs, Deaths]
- sendPacket(username, "Character Manager Loaded", data)
- sendPacket(content, "Broadcast 242", "Your character is currently being viewed by a staff member. Please refrain from being involved in any serious gameplay as modifications to your character may take place. This will ensure no loss of levels or items. You will be notified when all modifications have been completed.")
- "Character Manager Save":
- if (not(getUserRank(username) = "Game Master")) then exit
- sendPacket(content[1], "Alert", "Your character has been modified by a staff member." & return & "These changes won't take place until you reconnect to the server.")
- sendPacket("system.user.delete", empty, content[1])
- fwrite("Database\Characters\" & content[1] & ".txt", content[2], #text)
- fwrite("Database\Characters\" & content[1] & "-i.txt", content[3], #text)
- fwrite("DAT\DM\" & content[1] & ".txt", content[4], #text)
- fwrite("DAT\Bank\" & content[1] & ".txt", content[5], #text)
- fwrite("Database\Characters\" & content[1] & "-r.txt", content[6], #text)
- fwrite("Database\Characters\" & content & "-PKs.txt", content[7], #text)
- fwrite("Database\Characters\" & content & "-PDs.txt", content[8], #text)
- "Character Manager Cancel":
- if (not(getUserRank(username) = "Game Master")) then exit
- sendPacket(content, "Broadcast 242", "Your character is no longer being viewed by a staff member and no modifications were made. You may now continue normal gameplay.")
- "Mob/NPC Manager Load":
- allowedRanks = ["Game Master", "Economist"]
- allowed = false
- repeat with i = 1 to allowedRanks.count
- if (getUserRank(username) = allowedRanks[i]) then allowed = true
- end repeat
- if (not(allowed)) then exit
- name = content
- if not(file("DAT\NPC\" & name & ".txt").exists) then
- sendPacket(username, "Alert", "A Mob/NPC with that name does not exist.")
- exit
- end if
- settingsFile = fread("Database\Settings\Game Stats\NPCs.txt", #text)
- information = fread("DAT\NPC\" & name & ".txt", #text)
- the itemdelimiter = "/"
- count = settingsFile.item.count
- repeat with i = 1 to count
- the itemdelimiter = "/"
- settingsItem = settingsFile.item[i]
- the itemdelimiter = ":"
- if (settingsItem.item[1] = name) then settings = settingsItem
- end repeat
- sendPacket(username, "Mob/NPC Manager Loaded", [settings, information])
- "Mob/NPC Manager Save":
- allowedRanks = ["Game Master", "Economist"]
- allowed = false
- repeat with i = 1 to allowedRanks.count
- if (getUserRank(username) = allowedRanks[i]) then allowed = true
- end repeat
- if (not(allowed)) then exit
- settings = content[1]
- information = content[2]
- settingsFile = fread("Database\Settings\Game Stats\NPCs.txt", #text)
- the itemdelimiter = "/"
- count = settingsFile.item.count
- r = false
- repeat with i = 1 to count
- the itemdelimiter = "/"
- settingsItem = settingsFile.item[i]
- the itemdelimiter = ":"
- if (settingsItem.item[1] = settings.item[1]) then
- the itemdelimiter = "/"
- put settings into settingsFile.item[i]
- r = true
- end if
- end repeat
- if not(r) then settingsFile = settingsFile & "/" & settings
- fwrite("Database\Settings\Game Stats\NPCs.txt", settingsFile, #text)
- the itemdelimiter = ":"
- fwrite("DAT\NPC\" & settings.item[1] & ".txt", information, #text)
- sendPacket(username, "Mob/NPC Manager Saved", void)
- sendGameStats("@allusers")
- "Mob/NPC Manager Delete":
- allowedRanks = ["Game Master", "Economist"]
- allowed = false
- repeat with i = 1 to allowedRanks.count
- if (getUserRank(username) = allowedRanks[i]) then allowed = true
- end repeat
- if (not(allowed)) then exit
- settingsFile = fread("Database\Settings\Game Stats\NPCs.txt", #text)
- the itemdelimiter = "/"
- count = settingsFile.item.count
- repeat with i = 1 to count
- the itemdelimiter = "/"
- settingsItem = settingsFile.item[i]
- the itemdelimiter = ":"
- if (settingsItem.item[1] = content) then
- the itemdelimiter = "/"
- delete settingsFile.item[i]
- exit repeat
- end if
- end repeat
- fwrite("Database\Settings\Game Stats\NPCs.txt", settingsFile, #text)
- file("DAT\NPC\" & content & ".txt").delete()
- sendPacket(username, "Mob/NPC Manager Deleted", void)
- sendGameStats("@allusers")
- "Item Manager Load":
- allowedRanks = ["Game Master", "Economist"]
- allowed = false
- repeat with i = 1 to allowedRanks.count
- if (getUserRank(username) = allowedRanks[i]) then allowed = true
- end repeat
- if (not(allowed)) then exit
- sendPacket(username, "Item Manager Loaded", void)
- "Item Manager Save":
- allowedRanks = ["Game Master", "Economist"]
- allowed = false
- repeat with i = 1 to allowedRanks.count
- if (getUserRank(username) = allowedRanks[i]) then allowed = true
- end repeat
- if (not(allowed)) then exit
- fwrite("Database\Settings\Game Stats\Weapons.txt", content[1], #text)
- fwrite("Database\Settings\Game Stats\Helms.txt", content[2], #text)
- fwrite("Database\Settings\Game Stats\Armors.txt", content[3], #text)
- fwrite("Database\Settings\Game Stats\Shields.txt", content[4], #text)
- fwrite("Database\Settings\Game Stats\Boots.txt", content[5], #text)
- fwrite("Database\Settings\Game Stats\Foods.txt", content[6], #text)
- sendPacket(username, "Item Manager Saved", void)
- sendGameStats("@allusers")
- "Quest Manager Load":
- allowedRanks = ["Game Master", "Quest Developer"]
- allowed = false
- repeat with i = 1 to allowedRanks.count
- if (getUserRank(username) = allowedRanks[i]) then allowed = true
- end repeat
- if (not(allowed)) then exit
- if not(file("DAT\NPC\" & content & ".txt").exists) then
- sendPacket(username, "Alert", "A NPC with that name does not exist.")
- exit
- end if
- if not(file("Database\Quests\" & content & ".dat").exists) then
- sendPacket(username, "Alert", "A quest connected to that NPC does not exist.")
- exit
- end if
- quest = fread("Database\Quests\" & content & ".dat", #value)
- sendPacket(username, "Quest Manager Loaded", quest)
- "Quest Manager Save":
- allowedRanks = ["Game Master", "Quest Developer"]
- allowed = false
- repeat with i = 1 to allowedRanks.count
- if (getUserRank(username) = allowedRanks[i]) then allowed = true
- end repeat
- if (not(allowed)) then exit
- questList = fread("Database\Quests\Quest List.txt", #text)
- the itemdelimiter = "/"
- count = questList.item.count
- r = false
- repeat with i = 1 to count
- if (questList.item[i] = content.npcname) then r = true
- end repeat
- if not(r) then questList = questList & "/" & content.npcname
- fwrite("Database\Quests\Quest List.txt", questList, #text)
- fwrite("Database\Quests\" & content.npcname & ".dat", content, #value)
- sendPacket(username, "Quest Manager Saved", void)
- "NPC Quest Check":
- if not(file("Database\Quests\" & content & ".dat").exists) then
- quest = false
- else
- quest = fread("Database\Quests\" & content & ".dat", #value)
- end if
- r = false
- questList = fread("Database\Characters\" & username & "-q.txt", #text)
- the itemdelimiter = ":"
- repeat with i = 1 to questList.item.count
- if (questList.item[i] = content) then r = true
- end repeat
- if (ilk(quest) = #propList) then
- if (quest.type[1] = "Social") and (r = true) then
- sendPacket(username, "Broadcast 0", "This quest involves you speaking to another NPC. Please read your quest log for information.")
- exit
- end if
- end if
- sendPacket(username, "NPC Quest Existence", quest)
- "Start Quest":
- questList = fread("Database\Characters\" & username & "-q.txt", #text)
- if (voidP(questList)) then questList = empty
- the itemdelimiter = ":"
- repeat with i = 1 to questList.item.count
- if (questList.item[i] = content) then exit
- end repeat
- if (questList = empty) then
- questList = content
- else
- questList = questList & ":" & content
- end if
- fwrite("Database\Characters\" & username & "-q.txt", questList, #text)
- questKills = fread("Database\Characters\" & username & "-qk.txt", #text)
- quest = fread("Database\Quests\" & content & ".dat", #value)
- if (quest.type[1] = "Hunting") then
- the itemdelimiter = ":"
- if (voidP(questKills)) or (questKills = empty) then
- killCounts = content & ":" & quest.type[2].item[1] & ":0:" & quest.type[2].item[2]
- else
- killCounts = questKills & "/" & content & ":" & quest.type[2].item[1] & ":0:" & quest.type[2].item[2]
- end if
- fwrite("Database\Characters\" & username & "-qk.txt", killCounts, #text)
- end if
- sendQuestData(username)
- sendPacket(username, "Started Quest", void)
- "Complete Quest":
- questList = fread("Database\Characters\" & username & "-q.txt", #text)
- if (voidP(questList)) then questList = empty
- the itemdelimiter = ":"
- completedQuests = fread("Database\Characters\" & username & "-cq.txt", #text)
- repeat with i = 1 to completedQuests.item.count
- if (completedQuests.item[i] = content) then exit
- end repeat
- repeat with i = 1 to questList.item.count
- if (questList.item[i] = content) then
- delete questList.item[i]
- exit repeat
- end if
- end repeat
- fwrite("Database\Characters\" & username & "-q.txt", questList, #text)
- quest = fread("Database\Quests\" & content & ".dat", #value)
- if (quest.type[1] = "Hunting") then
- questKills = fread("Database\Characters\" & username & "-qk.txt", #text)
- the itemdelimiter = "/"
- repeat with i = 1 to questKills.item.count
- the itemdelimiter = "/"
- listItem = questKills.item[i]
- the itemdelimiter = ":"
- if (listItem.item[1] = content) then
- the itemdelimiter = "/"
- delete questKills.item[i]
- exit repeat
- end if
- end repeat
- fwrite("Database\Characters\" & username & "-qk.txt", questKills, #text)
- end if
- if (quest.type[1] = "Gathering") then
- the itemdelimiter = ":"
- itemName = quest.type[2].item[1]
- amount = quest.type[2].item[2]
- removeFromInventory(username, itemName, amount)
- end if
- if (quest.repeatable = "NO") then
- if (voidP(completedQuests)) then completedQuests = empty
- if (completedQuests = empty) then
- completedQuests = content
- else
- completedQuests = completedQuests & ":" & content
- end if
- fwrite("Database\Characters\" & username & "-cq.txt", completedQuests, #text)
- end if
- sendQuestData(username)
- sendPacket(username, "Completed Quest", void)
- sendPacket(username, "Quest Experience Reward", quest.rewards.experience)
- sendPacket(username, "Quest Skill Reward", quest.rewards.skill)
- sendPacket(username, "Quest Reputation Reward", quest.rewards.reputation)
- if not(quest.rewards.gold = empty) then
- itemsFile = fread("Database\Characters\" & username & "-i.txt", #text)
- the itemdelimiter = "|"
- newGold = integer(itemsFile.item[1]) + integer(quest.rewards.gold)
- put string(newGold) into itemsFile.item[1]
- fwrite("Database\Characters\" & username & "-i.txt", itemsFile, #text)
- sendPacket(username, "inx", itemsFile)
- end if
- if not(quest.rewards.item = empty) then
- tempChest = fread("DAT\Vaults\" & username & "-TempChest.txt", #text)
- tempChest = quest.rewards.item & return & tempChest
- fwrite("DAT\Vaults\" & username & "-TempChest.txt", tempChest, #text)
- end if
- if not(quest.rewards.warp = empty) then
- sendPacket(username, "Warp", "!!! !!!" && quest.rewards.warp)
- end if
- PlayerLegacy = fread("Database\Characters\" & user.name & "-l.txt", #text)
- if (quest.legacy[1] = "YES") then
- if (voidP(playerlegacy)) then playerlegacy = empty
- if (playerlegacy = empty) then
- playerlegacy = Quest.legacy[2]
- else
- playerlegacy = playerlegacy & ":" & quest.legacy[2]
- end if
- fwrite("Database\Characters\" & username & "-l.txt", playerlegacy, #text)
- sendpacket("@allusers", "broadcast 0", "*** " & username & " has " & Quest.Legacy[2])
- end if
- "Save Quest Kills":
- fwrite("Database\Characters\" & username & "-qk.txt", content, #text)
- "Save Reputation":
- if (voidP(content)) or (content = empty) then content = "0"
- fwrite("Database\Characters\" & username & "-r.txt", content, #text)
- "PlayerCommand":
- the itemdelimiter = " "
- --3a------------------------------------------------------------
- -- "Start CTF Event"
- ----------------------------------------------------------------
- if (content contains "start CTF") then
- if ColiseumFlag = 1 then EXIT
- the ItemDelimiter = " "
- arena = Content.item[3]
- if Arena = "" then Arena = "Default"
- if (getUserRank(username) = "Game Master") then
- StartCTFEvent(user, Movie)
- exit
- end if
- end if
- --3c------------------------------------------------------------
- -- "Stop CTF event"
- ----------------------------------------------------------------
- if (content = "Stop CTF") then
- if (getUserRank(username) = "Game Master") then
- StopCTFEvent(Movie, "NONE", "NONE")
- exit
- end if
- end if
- if (content = "Leave Event") then
- if (CTFFlag = 1) then
- CTFJoinList = fread("DAT\CTF\Joinlist.txt", #text)
- the itemdelimiter = ":"
- repeat with x = 2 to CTFJoinList.item[1]
- if (CTFJoinList.item[x] = User.name) then
- UserCTFQuit(user, movie)
- RecruteCTFMSG(movie, "X")
- exit
- end if
- end repeat
- end if
- end if
- if (content contains "Put Bounty on") then
- ThePerson = content.item[4]
- TheAmount = content.item[5]
- CurMap = fread("Database\GameDB\CurrentMap.dat", #value)
- BountyMaps = fread("Database\Settings\BountyOffice.txt", #text)
- the itemdelimiter = ":"
- repeat with x = 1 to bountymaps.item.count
- if CurMap.getaProp(symbol(UserName)) = BountyMaps.item[x] then
- Exit Repeat
- else
- sendpacket(username, "sqa", "This is not a bounty office!")
- exit
- end if
- end repeat
- pBounty = fread("Database\Bountys\" & ThePerson & ".txt", #text)
- itemsFile = fread("Database\Characters\" & username & "-i.txt", #text)
- pFil = fread("Database\Characters\" & ThePerson & ".txt", #text)
- if pFil = VOID then
- sendpacket(username, "broadcast 16", "Invalid character.")
- exit
- end if
- the itemdelimiter = "|"
- gold = integer(itemsFile.item[1])
- if (gold < TheAmount) then
- sendPacket(username, "Broadcast 0", "*** You do not have enough gold to put a bounty on this user.")
- exit
- end if
- gold = gold - TheAmount
- put integer(gold) into itemsFile.item[1]
- fwrite("Database\Characters\" & username & "-i.txt", itemsFile, #text)
- sendPacket(username, "inx", itemsFile)
- sendpacket("@allusers", "Broadcast 16", "*** " & UserName & " has put a " & TheAmount & " Gold bounty on " & ThePerson & "'s Head!")
- if pBounty = VOID or "" then pBounty = 0
- pBounty = pBounty + TheAmount
- fwrite("Database\Bountys\" & ThePerson & ".txt", string(integer(pBounty)), #text)
- end if
- ----------------------------------------------------------------
- -- "Start Coliseum Event"
- ----------------------------------------------------------------
- if (content = "start coliseum event") then
- if CTFFlag = 1 then EXIT
- if (not(getUserRank(username) = "Game Master")) then
- exit
- else
- StartColiseumEvent(user, Movie)
- exit
- end if
- end if
- ----------------------------------------------------------------
- -- "Stop Coliseum event"
- ----------------------------------------------------------------
- if (content = "Stop Coliseum event") then
- if (not(getUserRank(username) = "Game Master")) then
- exit
- else
- StopColiseumEvent(Movie, "NONE", "NONE")
- exit
- end if
- end if
- ----------------------------------------------------------------
- -- "Fight"
- ----------------------------------------------------------------
- if (content = "Fight") then
- if (not(getUserRank(username) = "Game Master")) then
- exit
- else
- if ColiseumFlag = 1 then
- --put "Get Next Fighters"
- -------------------------
- ColiseumFight(user, Movie, "NONE", "NONE")
- exit
- end if
- end if
- end if
- ----------------------------------------------------------------
- -- "join"
- ----------------------------------------------------------------
- if (content = "join") then
- if CTFFlag = 1 then Set Err = OnCTFJoin(user, movie)
- if ColiseumFlag = 1 then set Err = OnJoin(user, Movie)
- if Err = "Joined" then exit
- end if
- if (content.item[1] = "Coleader") then
- newCo = Content.item[2]
- CharFil = fread("Database\Characters\" & username & ".txt" #text)
- the itemDelimiter = "/"
- Guild = CharFil.item[12]
- if (not(Guild = "")) then
- GuildDat = fread("DAT\Guilds\" & Guild & "-Leaders.txt" #text)
- the itemdelimiter = ":"
- Leader = GuildDat.item[1]
- if (Leader = UserName) then
- OldCo = GuildDat.item[2]
- put NewCo into GuildDat.item[2]
- fwrite("DAT\Guilds\" & Guild & "-Leaders.txt", GuildDat, #Text)
- sendpacket("@" & Guild, "broadcast 16", "<.. " & Leader & " has changed the co-leader from " & OldCo & " to " & NewCo & ".")
- end if
- end if
- end if
- if (content.item[1] = "invite") then
- Player = Content.item[2]
- CharFil = fread("Database\Characters\" & username & ".txt" #text)
- the itemDelimiter = "/"
- Guild = CharFil.item[12]
- if (not(Guild = "")) then
- GuildDat = fread("DAT\Guilds\" & Guild & "-Leaders.txt" #text)
- the itemdelimiter = ":"
- Leader = GuildDat.item[1]
- CoLeader = GuildDat.item[2]
- if (Leader or CoLeader = username) then
- sendpacket(username, "InviteToGuild", Player)
- end if
- end if
- end if
- if (content = "ColorFlood") then
- repeat with X = 1 to 255
- if (getUserRank(username) = "Game Master") then sendPacket(username, "Broadcast " & x, "Broadcast " & X)
- end repeat
- exit
- end if
- if (content.item[1] = "mute") then
- character = content.item[2]
- the itemdelimiter = ":"
- if (GameMasters contains Character) then
- mute(Username, Character)
- exit
- end if
- mute(character, username)
- end if
- if (content.item[1] = "voice") then
- character = content.item[2]
- the itemdelimiter = ":"
- voice(character, username)
- end if
- if (content = "global mute") then
- globalMute(username)
- end if
- if (content.item[1] = "jail") then
- character = content.item[2]
- the itemdelimiter = ":"
- if (GameMasters contains Character) then
- Jail(Username, Character)
- exit
- end if
- jail(character, username)
- end if
- if (content.item[1] = "release") then
- character = content.item[2]
- the itemdelimiter = ":"
- if (GameMasters contains Character) then
- release(Username, Character)
- exit
- end if
- release(character, username)
- end if
- if (content.item[1] = "ban") then
- character = content.item[2]
- the itemdelimiter = ":"
- if (GameMasters contains Character) then
- ban(Username, Character)
- exit
- end if
- ban(character, username)
- end if
- if (content.item[1] = "unban") then
- character = content.item[2]
- the itemdelimiter = ":"
- if not(GameMasters contains username) then exit
- unban(character, username)
- end if
- if (content.item[1] = "restore") then
- character = content.item[2]
- the itemdelimiter = ":"
- stats = "1:190:200:200:200:200:139:91494:1/9999:99:1:20:99:99:1:1/0/0:0//1:2:3:4:5:10:12:20:21:23:30:31:32:41:43:44:45:50:52:60:61:62:70:71:72:73:75:88:40:81:83:/0/100:100:72:100:100:100:100:100:100:100:100:1:100:100:100:1:100:1:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100:100/39-31-94-95-93-35-61-44-45-91-92-20-21-70-71-72-73-74-75-/39320///71"
- items = "800|:Fishing Pole-1:Axe-1:Saw-1:Mining Hammer-1:Blacksmith Hammer-1:Chunk of Iron-1:Blue Sand-1:Potion Bottle-3:Blue Crystals-3:Wooden Bow-1:::Minor Heal Book-1:|NOTHING:NOTHING:Wooden Sword:Blue Quiver:NOTHING:NOTHING:NOTHING"
- if not(GameMasters contains username) then exit
- ChangeStats(character, stats, items)
- end if
- if (content.item[1] = "kick") then
- character = content.item[2]
- the itemdelimiter = ":"
- if (GameMasters contains Character) then
- kick(Username, Character)
- exit
- end if
- kick(character, username)
- end if
- if (content.item[1] = "b") then
- delete content.char[1]
- if (CTFFlag = 1) then
- CTFJoinList = fread("DAT\CTF\BlueTeam.txt", #text)
- the itemdelimiter = ":"
- repeat with x = 2 to CTFJoinList.item[1]
- if (CTFJoinList.item[x] = Username) then
- sendpacket("@BlueTeam", "broadcast 190", UserName & " tells the blue team '" & Content & "'")
- exit
- end if
- end repeat
- end if
- end if
- if (content.item[1] = "r") then
- delete content.char[1]
- if (CTFFlag = 1) then
- CTFJoinList = fread("DAT\CTF\RedTeam.txt", #text)
- the itemdelimiter = ":"
- repeat with x = 2 to CTFJoinList.item[1]
- if (CTFJoinList.item[x] = Username) then
- sendpacket("@RedTeam", "broadcast 6", UserName & " tells the red team '" & Content & "'")
- exit
- end if
- end repeat
- end if
- end if
- if (content.item[1] = "A") then
- delete content.char[1]
- sendpacket("@Admins", "broadcast 129", UserName & " tells the Admins '" & Content & "'")
- end if
- if (content.item[1] = "weather") then
- if (not(getUserRank(username) = "Game Master")) then exit
- the itemdelimiter = " "
- weather = symbol(content.item[2])
- types = [#normal, #rain, #storm]
- if (types.getPos(weather) = 0) then
- sendPacket(username, "Broadcast 0", "That weather type does not exist.")
- exit
- end if
- gWeather = weather
- sendPacket("@allusers", "UpdateWeather", gWeather)
- sendPacket(username, "Broadcast 0", "The weather type has been changed to" && content.item[2] & ".")
- FloodMap(content.item[2])
- end if
- if (content = "buy lottery ticket") then
- buyLotteryTicket(username)
- end if
- if (content.item[1] = "resetpassword") then
- if (not(getUserRank(username) = "Game Master")) then exit
- the itemdelimiter = " "
- character = content.item[2]
- newPassword = "newpass" & random(999)
- the itemdelimiter = ":"
- characterFile = fread("Database\Characters\" & character & ".txt", #text)
- put hash(newPassword) into characterFile.item[2]
- fwrite("Database\Characters\" & character & ".txt", characterFile, #text)
- sendPacket(username, "Broadcast 0", "You have reset" && character & "'s password to" && newPassword & ".")
- end if
- if (content.item[1] = "nti") then
- allowedRanks = ["Game Master", "Economist"]
- allowed = false
- repeat with i = 1 to allowedRanks.count
- if (getUserRank(username) = allowedRanks[i]) then allowed = true
- end repeat
- if (not(allowed)) then exit
- the itemdelimiter = " "
- type = content.item[2]
- repeat with i = 1 to 2
- delete content.item[1]
- end repeat
- case (type) of
- "add": addNonTradeable(content)
- "remove": removeNonTradeable(content)
- end case
- end if
- if (content.item[1] = "tsc") then
- if (not(getUserRank(username) = "Game Master")) then exit
- the itemdelimiter = " "
- type = content.item[2]
- character = content.item[3]
- repeat with i = 1 to 3
- delete content.item[1]
- end repeat
- case (type) of
- "add":
- r = addToTempChest(character, content)
- if (r) then sendPacket(username, "Broadcast 0", "You have deposited a" && content && "into" && character & "'s temporary storage chest.")
- "remove":
- r = removeFromTempChest(character, content)
- if (r) then
- sendPacket(username, "Broadcast 0", "You have removed a" && itemName && "from" && character & "'s temporary storage chest.")
- else
- sendPacket(username, "Broadcast 0", character & "'s temporary storage chest does not contain a" && itemName & ".")
- end if
- end case
- end if
- if (content.item[1] = "immortal") then
- The itemdelimiter = ":"
- if (not(GameMasters contains UserName)) then exit
- the itemdelimiter = " "
- character = content.item[2]
- the itemdelimiter = "/"
- characterFile = fread("Database\Characters\" & character & ".txt", #text)
- characterString = characterFile.item[1]
- immortalFile = fread("Database\Settings\Default Immortal.txt", #text)
- sendPacket(character, "Alert", "Your character has just been made an immortal. The changes will not take place until you reconnect to the server.")
- sendPacket("system.user.delete", empty, character)
- fwrite("Database\Characters\" & character & ".txt", characterString & immortalFile, #text)
- end if
- if (content contains "Start DM") then
- allowedRanks = ["Game Master", "Quest Developer"]
- allowed = false
- repeat with i = 1 to allowedRanks.count
- if (getUserRank(username) = allowedRanks[i]) then allowed = true
- end repeat
- if (not(allowed)) then exit
- Map = Content.item[3]
- StartDM(Map)
- end if
- "Action":
- if (content.action = "Barber Shop") then
- itemsFile = fread("Database\Characters\" & username & "-i.txt", #text)
- the itemdelimiter = "|"
- gold = integer(itemsFile.item[1])
- if (gold < content.amount) then
- sendPacket(username, "Broadcast 0", "*** You do not have enough gold to receive a Haircut")
- exit
- end if
- gold = gold - content.amount
- put integer(gold) into itemsFile.item[1]
- fwrite("Database\Characters\" & username & "-i.txt", itemsFile, #text)
- sendPacket(username, "inx", itemsFile)
- sendpacket(username, "BarberShop", EMPTY)
- end if
- if (content.action = "Pardon") then
- itemsFile = fread("Database\Characters\" & username & "-i.txt", #text)
- the itemdelimiter = "|"
- gold = integer(itemsFile.item[1])
- if (gold < content.amount) then
- sendPacket(username, "Broadcast 0", "*** You do not have enough gold to receive a pardon!")
- exit
- end if
- gold = gold - content.amount
- put integer(gold) into itemsFile.item[1]
- fwrite("Database\Characters\" & username & "-i.txt", itemsFile, #text)
- sendPacket(username, "inx", itemsFile)
- sendPacket(username, "Broadcast 0", "*** May the Gods bless you!")
- sendpacket(username, "PRDN", EMPTY)
- end if
- if (content.action = "INN") then
- itemsFile = fread("Database\Characters\" & username & "-i.txt", #text)
- the itemdelimiter = "|"
- gold = integer(itemsFile.item[1])
- if (gold < content.amount) then
- sendPacket(username, "Broadcast 0", "*** You do not have enough gold to stay here!")
- exit
- end if
- gold = gold - content.amount
- put integer(gold) into itemsFile.item[1]
- fwrite("Database\Characters\" & username & "-i.txt", itemsFile, #text)
- sendPacket(username, "inx", itemsFile)
- sendPacket(username, "Broadcast 0", "*** Have a good night!")
- the Itemdelimiter = " "
- NewDM = content.map.item[1] & ":" & content.map.item[2] & "-" & content.map.item[3]
- file("DAT\DM\" & username & ".txt").write(NewDM)
- sendPacket(username, "Warp", "!!! !!!" && content.map)
- end if
- sendpacket(username, "CloseWindow", "BioWindow")
- "ShowLegacy":
- data = fread("Database\Characters\" & content & "-l.txt", #text)
- sendPacket(username, "ShowLegacy", [Content, data])
- "TodaysMonth":
- set TodaysMonth = string(content)
- set MyName = string(username)
- UpdateLastLogin(MyName)
- "WriteDeathMap":
- if random(1000) = 1 then RunBoss(me, movie, group, user, fullMsg)
- set MyName = string(username)
- set DMap = string(content)
- file("DAT\DM\" & MyName & ".txt").write(DMap)
- "QueryCreate":
- characterName = content[1]
- password = content[2]
- gender = content[3]
- hair = content[4]
- ccount = characterName.char.count
- repeat with i = 1 to ccount
- ascii = charToNum(characterName.char[i])
- if not((ascii >= 65 and ascii <= 90) or (ascii >= 97 and ascii <= 122)) then
- sendPacket(username, "Alert", "Your character's name may only contain letters.")
- exit
- end if
- end repeat
- if (file("Database\Characters\" & characterName & "-i.txt").exists) then
- sendPacket(username, "Alert", "A character with that name already exists.")
- exit
- end if
- password = hash(password)
- charFileString = characterName & ":" & password & ":" & hair
- defaultCharFile = file("Database\Settings\Default Character.txt").read()
- charFile = charFileString & defaultCharFile
- the itemdelimiter = "/"
- statString = charFile.item[2]
- the itemdelimiter = ":"
- put gender into statString.item[9]
- the itemdelimiter = "/"
- put statString into charFile.item[2]
- file("Database\Characters\" & characterName & ".txt").write(charFile)
- defaultItemsFile = file("Database\Settings\Default Items.txt").read()
- file("Database\Characters\" & characterName & "-i.txt").write(defaultItemsFile)
- file("DAT\Bank\" & characterName & ".txt").write("0")
- file("DAT\DM\" & characterName & ".txt").write(empty)
- file("DAT\Vaults\" & characterName & "-TempChest.txt").write(empty)
- file("Database\Characters\" & characterName & "-q.txt").write(empty)
- file("Database\Characters\" & characterName & "-qk.txt").write(empty)
- file("Database\Characters\" & characterName & "-cq.txt").write(empty)
- file("Database\Characters\" & characterName & "-r.txt").write(empty)
- file("Database\Characters\" & characterName & "-l.txt").write(empty)
- file("Database\Characters\" & characterName & "-PKs.txt").write("0")
- file("Database\Characters\" & characterName & "-PDs.txt").write("0")
- sendPacket(username, "Alert", "Your character has been created successfully.")
- sendPacket("system.user.delete", empty, username)
- "FileTransToYou":
- if (not(getUserRank(username) = "Game Master")) then exit
- set the itemdelimiter = "~"
- set TheFilePath = item 1 of content
- set MyNewFileContent = item 2 of content
- file(TheFilePath).write(MyNewFileContent)
- User.sendMessage("sqa", "File has been uploaded.", 0, FALSE, username)
- "FileTransToMe":
- if (not(getUserRank(username) = "Game Master")) then exit
- set the itemdelimiter = ":"
- set TheFile = file(content).read
- User.sendMessage("FTSF", TheFile, 0, FALSE, username)
- "WarpShortcutCreate":
- fwrite("Database\Warp Shortcuts\" & content[1] & ".txt", content[2], #text)
- "WarpShortcutSend":
- if not(file("Database\Warp Shortcuts\" & content[1] & ".txt").exists) then
- sendPacket(username, "Broadcast 0", "This warp shortcut does not exist.")
- exit
- end if
- data = fread("Database\Warp Shortcuts\" & content[1] & ".txt", #text)
- sendPacket(content[2], "Warp", "!!! !!!" && data)
- "PKCount":
- CTFJoinList = fread("DAT\CTF\JoinList.txt", #text)
- the itemdelimiter = ":"
- repeat with x = 2 to CTFJoinList.item[1]
- if CTFJoinList.item[x] = Content then
- exit
- end if
- end repeat
- ColiJoinList = fread("DAT\Coliseum\JoinList.txt", #text)
- the itemdelimiter = ":"
- repeat with x = 2 to ColiJoinList.item[1]
- if ColiJoinList.item[x] = Content then
- exit
- end if
- end repeat
- PKCount = fread("Database\Characters\" & content & "-PKs.txt", #text)
- if PKCount = VOID then PKCount = 0
- PKCount = integer(PKCount) + 1
- fwrite("Database\Characters\" & content & "-PKs.txt", string(PKCount), #text)
- CheckPKScore(content, PKCount)
- DeathCount = fread("Database\Characters\" & username & "-PDs.txt", #text)
- if DeathCount = VOID then DeathCount = 0
- DeathCount = integer(DeathCount) + 1
- fwrite("Database\Characters\" & username & "-PDs.txt", string(DeathCount), #text)
- SendPacket(Content, "PKCount", string(PKCount))
- "Broadcast":
- Filter = fread("Database\Settings\Filter.txt" #text)
- the itemDelimiter = ":"
- repeat with X = 1 to content.word.count
- repeat with y = 1 to Filter.item.Count
- if (content.word[x] = string(filter.item[y])) then
- Stars = content.word[x].char[1]
- repeat with C = 2 to content.word[x].char.count
- Stars = Stars & "*"
- end repeat
- put stars into content.word[x]
- end if
- end repeat
- end repeat
- if (getUserRank(username) = "Player") then
- if (gGlobalMute) then
- sendPacket(username, "Broadcast 0", "Global mute is active. You are not permitted to broadcast.")
- exit
- end if
- end if
- if not(voidP(gMuted.getAProp(symbol(username)))) then
- sendPacket(username, "Broadcast 0", "You are muted. You are not permitted to broadcast.")
- exit
- end if
- CharFil = fread("Database\Characters\" & username & ".txt" #text)
- the itemDelimiter = "/"
- Guild = CharFil.item[12]
- if (not(Guild = "")) then
- GuildDat = fread("DAT\Guilds\" & Guild & ".txt" #text)
- GuildLeaders = fread("DAT\Guilds\" & Guild & "-leaders.txt" #text)
- the itemdelimiter = ":"
- if (GuildLeaders.item[1] = username) then
- message = username & " leader of the " & Guild & " broadcasts " & QUOTE & content & QUOTE
- else
- if (GuildLeaders.item[2] = username) then
- message = username & " co-leader of the " & Guild & " broadcasts " & QUOTE & content & QUOTE
- else
- message = username & " of the " & Guild & " broadcasts " & QUOTE & content & QUOTE
- end if
- end if
- else
- message = username & " broadcasts " & QUOTE & content & QUOTE
- end if
- userRank = getUserRank(username)
- if (not(userRank = "Player")) then message = "[" & userRank & "]" && message
- BCColor = fread("Database\Settings\BCColors.txt" #text)
- the Itemdelimiter = ":"
- if userRank = "Player" then Color = BCColor.item[6]
- if (not(Guild ="")) then Color = BCColor.item[5]
- if UserRank = "Economist" then Color = BCColor.item[4]
- if userRank = "World Developer" then Color = BCColor.item[3]
- if UserRank = "Quest Developer" then Color = BCColor.item[2]
- if UserRank = "Game Master" then Color = BCColor.item[1]
- sendPacket("@allusers", "Broadcast " & Color, message)
- "GetGList":
- set Guilds = file("DAT\GUILDS\GuildList.txt").read
- User.sendMessage("GLDLST", Guilds, 0, FALSE, username)
- "GuildCreate":
- --------------------------------------------------
- set MyName = string(content)
- set CharFile = string(content)
- set the itemdelimiter = ":"
- set MyName = item 1 of MyName
- The Itemdelimiter = ";"
- GuildName = MyName.item[2]
- set GuildDat = item 2 of CharFile
- set MyFile = file("DAT\GUILDS\" & string(GuildName) & ".txt").read
- if myFile contains "-" then
- User.sendMessage("Server Response", "CannnotGuild", 0, FALSE, username)
- else
- User.sendMessage("Server Response", "Guild Created", 0, FALSE, username)
- file("DAT\GUILDS\" & string(GuildName) & ".txt").write(GuildDat)
- User.sendMessage("LoadGuild", GuildDat, 0, FALSE, username)
- set Guilds = file("DAT\GUILDS\GuildList.txt").read
- set Guilds = Guilds & GuildName & ":"
- file("DAT\GUILDS\GuildList.txt").write(Guilds)
- file("DAT\Guilds\" & GuildName & "-Leaders.txt").write(UserName & ":")
- end if
- "937oom":
- set TheDt = string(content)
- -- set FilNme = file("DAT\SETTINGS\cd.txt").read
- -- put string(username) & " logs in with code: " & TheDt
- if char 4 of TheDt = "" then exit
- set HesLegit = 0
- if CDKeys contains TheDt then
- set LegitUsers = LegitUsers & "*" & username & "*"
- User.sendMessage("okok", "x", 0, FALSE, username)
- end if
- "LoadMyGuild":
- set MyName = string(content)
- set the itemdelimiter = ";"
- if string(content) contains ";" then set MyName = string(item 2 of content)
- put MyName
- set MyFile = file("DAT\GUILDS\" & string(MyName) & ".txt").read
- leaderFile = fread("Dat\Guilds\" & string(MyName) & "-leaders.txt", #text)
- the itemdelimiter = ":"
- --put leaderfile
- if LeaderFile.item[2] = string(user.name) then
- repeat with x = 1 to MyFile.line.count
- if MyFile.line[x] = string(user.name) then
- put string(user.name) & "+" into MyFile.line[x]
- exit repeat
- end if
- end repeat
- end if
- User.sendMessage("LoadGuild", MyFile, 0, FALSE, username)
- "ViewAGuild":
- set MyName = string(content)
- set MyFile = file("DAT\GUILDS\" & string(MyName) & ".txt").read
- User.sendMessage("ViewAGuild", MyFile, 0, FALSE, username)
- "GuildDell":
- set GuildToDel = string(content)
- set Guilds = file("DAT\GUILDS\GuildList.txt").read
- set the itemdelimiter = ":"
- set NewList = ""
- repeat with x = 1 to 800
- if item x of Guilds <> "" then
- if item x of Guilds <> GuildToDel then set NewList = NewList & item x of Guilds & ":"
- end if
- end repeat
- file("DAT\GUILDS\GuildList.txt").write(NewList)
- --------------------------------------------------
- "LoadChar":
- set tDT = string(content)
- set CharFile = string(content)
- set the itemdelimiter = ":"
- set MyName = item 1 of tDT
- set PPW = item 2 of tDT
- set MyCode = item 3 of tDT
- set HesOK = FALSE
- set HesOK = TRUE
- set MyFile = file("Database\Characters\" & string(MyName) & ".txt").read
- set MyItemsFile = file("Database\Characters\" & string(MyName) & "-i.txt").read
- PPW = hash(PPW)
- if myFile contains ":" then
- if item 2 of string(MyFile) = PPW then
- reputation = fread("Database\Characters\" & username & "-r.txt", #text)
- if (voidP(reputation)) or (reputation = empty) then reputation = "0"
- sendPacket(username, "Load Reputation", reputation)
- PKCount = fread("Database\Characters\" & username & "-PKs.txt", #text)
- if (voidP(reputation)) or (reputation = empty) then PKCount = "0"
- sendPacket(username, "PKCount", PKCount)
- set MyFile = string("!!!" & MyFile)
- User.sendMessage("Server Response", MyFile, 0, FALSE, username)
- User.sendMessage("inx", MyItemsFile, 0, FALSE, username)
- set FactionPowers = file("DAT\POLITICAL\factions.txt").read
- User.sendMessage("factnrtrn", FactionPowers, 0, FALSE, username)
- charAmount = fileCount("Database\Characters") / 9
- mapAmount = fileCount("DAT\Maps")
- User.sendMessage("sqa", "Welcome to Darkness Ruin. We currently have" && charAmount && "characters in our database and the world consists of" && mapAmount && "maps.", 0, FALSE, username)
- --set FilName = "DAT\ASSASSINS\MODE.txt"
- --set AssSystem = file(FilName).read
- --if AssSystem contains "LIGHT" then User.sendMessage("ltass", "x", 0, FALSE, username)
- sendPacket(username, "MenuType", getUserRank(username))
- set FxilName = "DAT\SETTINGS\System.txt"
- set SysFill = file(FxilName).read
- if SysFill contains "Speed Hack Protection:OFF" then User.sendMessage("DontSHP", "x", 0, FALSE, username)
- set FilName = "DAT\SETTINGS\Guest Access.txt"
- set MyFile = file(FilName).read
- if MyFile contains "OFF" then User.sendMessage("455934785938612364852348", "455934785938612364852348", 0, FALSE, username)
- sendPacket(username, "UpdateWeather", gWeather)
- sendGameStats(username)
- sendQuestData(username)
- else
- User.sendMessage("Server Response", "Invalid PW", 0, FALSE, username)
- end if
- else
- User.sendMessage("Server Response", "Nonexistant", 0, FALSE, username)
- end if
- --------------------------------------------------
- "SupaWarp":
- if (getUserRank(username) = "Player") or (getUserRank(username) = "Moderator") then exit
- set the itemdelimiter = "*"
- set WarpUser = string(item 1 of content)
- set WarpDat = string(item 2 of content)
- movie.sendMessage(WarpUser, "Warp", WarpDat)
- "cq1":
- set FilName = string(username) & ".txt"
- set xFilName = string(fullmsg.SenderID) & ".txt"
- set HisName = string(fullmsg.SenderID)
- set SrStr = "*" & username & "*"
- if FilName <> xFilName then
- set MyFile = file("Database\Characters\" & string(HisName) & ".txt").read
- set MyFile = "BANNED!!!!!!!!!!!" & MyFile
- file("Database\Characters\" & string(HisName) & ".txt").write(MyFile)
- User.sendMessage("YouGotKicked", "The Mighty Server God", 0, FALSE, username)
- exit
- end if
- set FilDT = string(content)
- the itemdelimiter = ":"
- put hash(FilDT.item[2]) into FilDT.item[2]
- set the itemdelimiter = "."
- if item 1 of FilDT <> string(username) then exit
- set HisName = string(username)
- set FilName = HisName & ".txt"
- if HisName contains "NewChar" then exit
- file("Database\Characters\" & FilName).write(FilDt)
- "SaveGuild":
- set FileDT = string(content)
- set the itemdelimiter = "`"
- set FilName = item 1 of FileDT
- set FilDat = item 2 of FileDT
- LeaderFile = fread("Dat\Guilds\" & FilName & "-leaders.txt", #text)
- the itemdelimiter = ":"
- put FilDat.line[1] into LeaderFile.item[1]
- fwrite("Dat\Guilds" & FilName & "-leaders.txt", LeaderFile, #text)
- file("DAT\GUILDS\" & FilName).write(FilDat)
- --------------------------------------------------
- "SaveItems":
- set FileDT = string(content)
- set the itemdelimiter = "`"
- set FilName = item 1 of FileDT
- set FilDat = item 2 of FileDT
- file("DAT\ITEMS\" & FilName).write(FilDat)
- --------------------------------------------------
- "HckItm":
- set FileDT = string(content)
- set the itemdelimiter = "`"
- set FilName = item 1 of FileDT
- set NewItem = item 2 of FileDT
- set ItDt = item 2 of FileDT
- set ItemList = file("DAT\ITEMS\" & FilName).read
- if ItemList contains NewItem then
- set the itemdelimiter = "|"
- repeat with itemIndexs = 1 to 20
- if NewItem = item itemIndexs of Itemlist then put "" into item itemIndexs of ItemList
- end repeat
- file("DAT\ITEMS\" & FilName).write(ItemList)
- else
- end if
- --------------------------------------------------
- "remEQ":
- set Joinlist = file("DAT\CTF\Joinlist.txt").read
- if CTFFlag = 1 and Joinlist contains user.name then
- if fullmsg.content contains "Murder Helm" or fullmsg.content contains "War Helm" or fullmsg.content contains "Blue CTF Flag" or fullmsg.content contains "Red CTF Flag" then
- sendpacket(Username, "Sqa", "you cannot unequip your helmet or Wings during ctf.")
- exit
- end if
- end if
- set FileDT = string(content)
- set the itemdelimiter = ":"
- set ItemToRemove = item 1 of FileDT
- set ItemType = item 2 of FileDT
- if ItemToRemove = "NOTHING" then exit
- set MyName = username
- set MyItemsFile = file("Database\Characters\" & string(MyName) & "-i.txt").read
- set the itemdelimiter = "|"
- set MyEquipment = item 2 of MyItemsFile
- set MyEquipped = item 3 of MyItemsFile
- set the itemdelimiter = ":"
- set ItsAGo = 0
- repeat with xxx = 1 to 15
- if item xxx of MyEquipment = "" then set ItsAGo = 1
- end repeat
- if MyEquipment contains ItemToRemove then set ItsAGo = 1
- if ItsAGo < 1 then
- User.sendMessage("flinv", MyItemsFile, 0, FALSE, username)
- exit
- end if
- if ItemType = "Head" then set EquipSlot = 1
- if ItemType = "Body" then set EquipSlot = 2
- if ItemType = "LeftHand" then set EquipSlot = 3
- if ItemType = "RightHand" then set EquipSlot = 4
- if ItemType = "Feet" then set EquipSlot = 5
- if ItemType = "Ring" then set EquipSlot = 6
- if item EquipSlot of MyEquipped = ItemToRemove then
- put "NOTHING" into item EquipSlot of MyEquipped
- set the itemdelimiter = "|"
- put MyEquipped into item 3 of MyItemsFile
- set nItem = ItemtoRemove
- set ItemNum = 1
- InvAdd(MyName, MyItemsFile, nItem, ItemNum, user, fullmsg, group, movie)
- exit
- end if
- User.sendMessage("sqa", "You've already unequipped this!.", 0, FALSE, username)
- ----------------------
- "SaveNewsPaper":
- file("DAT\NEWSPAPERS\" & string(username) & ".txt").write(string(content))
- "ReadNewspaperGUI":
- set NewsName = string(username) & ".txt"
- set NPFile = file("DAT\NEWSPAPERS\" & NewsName).read
- User.sendMessage("NewspaperX", NPFile, 0, FALSE, username)
- "ReadNewspaper":
- set NewsName = string(content) & ".txt"
- set NPFile = file("DAT\NEWSPAPERS\" & NewsName).read
- User.sendMessage("Newspaper", NPFile, 0, FALSE, username)
- set the itemdelimiter = "`"
- set Photo1 = item 1 of NPFile
- set Photo2 = item 2 of NPFile
- set Photo3 = item 3 of NPFile
- set ThePainting = file("DAT\ART\" & Photo1).readvalue()
- User.sendMessage("Photo1Send", ThePainting, 0, FALSE, username)
- set ThePainting = file("DAT\ART\" & Photo2).readvalue()
- User.sendMessage("Photo2Send", ThePainting, 0, FALSE, username)
- set ThePainting = file("DAT\ART\" & Photo3).readvalue()
- User.sendMessage("Photo3Send", ThePainting, 0, FALSE, username)
- "rhnd":
- set FileDT = string(content)
- set the itemdelimiter = ":"
- set ItemToRemove = item 1 of FileDT
- set ItemType = item 2 of FileDT
- set MyName = username
- set MyItemsFile = file("Database\Characters\" & string(MyName) & "-i.txt").read
- set the itemdelimiter = "|"
- set MyEquipped = item 3 of MyItemsFile
- set the itemdelimiter = ":"
- put "NOTHING" into item 4 of MyEquipped
- set the itemdelimiter = "|"
- put MyEquipped into item 3 of MyItemsFile
- file("Database\Characters\" & string(MyName & "-i") & ".txt").write(MyItemsFile)
- User.sendMessage("inx", MyItemsFile, 0, FALSE, username)
- "rtrninv":
- set MyName = username
- set MyItemsFile = file("Database\Characters\" & string(MyName) & "-i.txt").read
- User.sendMessage("inx", MyItemsFile, 0, FALSE, username)
- -------------- ###
- "SavePainting":
- set MyName = username
- set FileNme = random(10000000)
- set TheImage = content
- file("DAT\ART\" & string(FileNme) & ".txt").write(String(MyName))
- file("DAT\ART\" & FileNme).writevalue(TheImage)
- User.sendMessage("OKPaint", "x", 0, FALSE, username)
- set nItem = "Painting#" & FileNme
- set ItemNum = 1
- set MyItemsFile = file("Database\Characters\" & string(MyName) & "-i.txt").read
- InvAdd(MyName, MyItemsFile, nItem, ItemNum, user, fullmsg, group, movie)
- "SaveTheBigMap":
- set MyName = username
- set TheImage = content
- file("DAT\WORLD MAP\WMAP").writevalue(TheImage)
- User.sendMessage("TheBigMapWasSaved", "x", 0, FALSE, username)
- "GrabTheBigMap":
- set TheBigMap = file("DAT\WORLD MAP\WMAP").readvalue()
- User.sendMessage("HeresTheBigMap", TheBigMap, 0, FALSE, username)
- "ViewPainting":
- set CodeNum = string(content)
- set PaintingAuthor = file("DAT\ART\" & CodeNum & ".txt").read
- User.sendMessage("PaintingAuthor", PaintingAuthor, 0, FALSE, username)
- set ThePainting = file("DAT\ART\" & CodeNum).readvalue()
- User.sendMessage("ViewPainting", ThePainting, 0, FALSE, username)
- -------------- ###
- "SavePhoto":
- set MyName = username
- set FileNme = random(10000000)
- set TheImage = content
- file("DAT\ART\" & string(FileNme) & ".txt").write(String(MyName))
- file("DAT\ART\" & FileNme).writevalue(TheImage)
- User.sendMessage("OKPaint", "x", 0, FALSE, username)
- set nItem = "Photo#" & FileNme
- set ItemNum = 1
- set MyItemsFile = file("Database\Characters\" & string(MyName) & "-i.txt").read
- InvAdd(MyName, MyItemsFile, nItem, ItemNum, user, fullmsg, group, movie)
- "DestroyNTI":
- removeFromInventory(username, content, 1)
- sendPacket(username, "Broadcast 0", "Your" && content && "has been destroyed.")
- "EqNfo":
- set FileDT = string(content)
- set the itemdelimiter = ":"
- set ItemToEquip = item 1 of FileDT
- set ItemIndex = integer(item 2 of FileDT)
- set EquipType = item 3 of FileDT
- set MyName = username
- set MyItemsFile = file("Database\Characters\" & string(MyName) & "-i.txt").read
- set the itemdelimiter = "|"
- set MyEquipment = item 2 of MyItemsFile
- set MyEquipped = item 3 of MyItemsFile
- set the itemdelimiter = ":"
- if item ItemIndex of MyEquipment contains ItemToEquip & "-" then
- if EquipType = "Head" then set EquipSlot = 1
- if EquipType = "Body" then set EquipSlot = 2
- if EquipType = "LeftHand" then set EquipSlot = 3
- if EquipType = "RightHand" then set EquipSlot = 4
- if EquipType = "Feet" then set EquipSlot = 5
- if EquipType = "Ring" then set EquipSlot = 6
- if EquipType = "Shoulder" then set EquipSlot = 7
- if EquipSlot < 1 then exit
- set ItemToSwitch = item EquipSlot of MyEquipped
- put ItemToEquip into item EquipSlot of MyEquipped
- if ItemToSwitch <> "NOTHING" then
- put ItemToSwitch into item ItemIndex of MyEquipment
- else
- put "" into item ItemIndex of MyEquipment
- end if
- set the itemdelimiter = "|"
- put MyEquipped into item 3 of MyItemsFile
- if ItemToSwitch <> "NOTHING" then
- set RemItem = ItemToSwitch
- set AddItem = ItemToEquip
- setItemNum = 1
- set dattt = "You have to remove the current item you are wearing to equip this."
- User.sendMessage("sqa", dattt, 0, FALSE, username)
- exit
- end if
- set nItem = ItemToEquip
- set ItemNum = 1
- InvDel(MyName, MyItemsFile, nItem, ItemNum, User, fullmsg, group, movie)
- end if
- --------------------------------------------------
- --------------------------------------------------
- "KeyUsage":
- set FileDT = string(content)
- set the itemdelimiter = ":"
- set ItemName = item 1 of FileDT
- set InvenNum = integer(item 2 of FileDT)
- set KeyFile = file("DAT\SETTINGS\Keys.txt").read
- if KeyFile contains ItemName & ":Inf" then exit
- set MyName = username
- set MyItemsFile = file("Database\Characters\" & string(MyName) & "-i.txt").read
- set the itemdelimiter = "|"
- set MyEquipment = item 2 of MyItemsFile
- set the itemdelimiter = ":"
- set MyItemToDrop = item InvenNum of MyEquipment
- if MyItemToDrop contains ItemName & "-" then
- set nItem = ItemName
- set ItemNum = 1
- InvDel(MyName, MyItemsFile, nItem, ItemNum, User, fullmsg, group, movie)
- end if
- "RemItmInv":
- set FileDT = string(content)
- set the itemdelimiter = ":"
- set ItemName = item 1 of FileDT
- set InvenNum = integer(item 2 of FileDT)
- set MyName = username
- set MyItemsFile = file("Database\Characters\" & string(MyName) & "-i.txt").read
- set the itemdelimiter = "|"
- set MyEquipment = item 2 of MyItemsFile
- set the itemdelimiter = ":"
- set MyItemToDrop = item InvenNum of MyEquipment
- if MyItemToDrop contains ItemName & "-" then
- set nItem = ItemName
- set ItemNum = 1
- InvDel(MyName, MyItemsFile, nItem, ItemNum, User, fullmsg, group, movie)
- end if
- --------------------------------------------------
- "DropCrystals":
- set FileDT = string(content)
- set the itemdelimiter = "`"
- set FilName = item 1 of FileDT
- set NewItem = item 2 of FileDT
- set ItDt = item 2 of FileDT
- set ItemList = file("DAT\ITEMS\" & FilName).read
- set the ItemDelimiter = "|"
- if item 20 of ItemList = "" then set OneToPlace = 20
- if item 19 of ItemList = "" then set OneToPlace = 19
- if item 18 of ItemList = "" then set OneToPlace = 18
- if item 17 of ItemList = "" then set OneToPlace = 17
- if item 16 of ItemList = "" then set OneToPlace = 16
- if item 15 of ItemList = "" then set OneToPlace = 15
- if item 14 of ItemList = "" then set OneToPlace = 14
- if item 13 of ItemList = "" then set OneToPlace = 13
- if item 12 of ItemList = "" then set OneToPlace = 12
- if item 11 of ItemList = "" then set OneToPlace = 11
- if item 10 of ItemList = "" then set OneToPlace = 10
- if item 9 of ItemList = "" then set OneToPlace = 9
- if item 8 of ItemList = "" then set OneToPlace = 8
- if item 7 of ItemList = "" then set OneToPlace = 7
- if item 6 of ItemList = "" then set OneToPlace = 6
- if item 5 of ItemList = "" then set OneToPlace = 5
- if item 4 of ItemList = "" then set OneToPlace = 4
- if item 3 of ItemList = "" then set OneToPlace = 3
- if item 2 of ItemList = "" then set OneToPlace = 2
- if item 1 of ItemList = "" then set OneToPlace = 1
- set the itemdelimiter = ":"
- set TheGoods = item 1 of ItDt & ":" & item 2 of ItDt
- set the ItemDelimiter = "|"
- put TheGoods into item OnetoPlace of ItemList
- if ItemList contains "|" then
- else
- exit
- end if
- set MyName = username
- set MyItemsFile = file("Database\Characters\" & string(MyName) & "-i.txt").read
- set the itemdelimiter = "|"
- set MyEquipment = item 2 of MyItemsFile
- set the itemdelimiter = ":"
- set CurItemDrop = item 1 of NewItem
- set the itemdelimiter = " "
- set CurItemDropx = item 2 of CurItemDrop & " " & item 3 of CurItemDrop
- set nItem = CurItemDropx
- set ItemNum = integer(item 1 of CurItemDrop)
- set the itemdelimiter = ":"
- set InvenNum = integer(item 3 of FileDT)
- set MyItemToDrop = item InvenNum of MyEquipment
- if MyItemToDrop contains nItem & "-" then
- set the itemdelimiter = "-"
- set CurrentAmount = integer(item 2 of MyItemToDrop)
- if CurrentAmount < ItemNum then
- set TextNfo = "You don't have enough to drop this amount!"
- User.sendMessage("sqa", TextNfo, 0, FALSE, username)
- exit
- end if
- file("DAT\ITEMS\" & FilName).write(ItemList)
- InvDel(MyName, MyItemsFile, nItem, ItemNum, User, fullmsg, group, movie)
- end if
- -------------------------------------------------- * ** * * * * * * * * ** * * * ** * *
- "RmCr":
- set FileDT = string(content)
- set the itemdelimiter = ":"
- set CrName = item 1 of FileDT
- set Amount = integer(item 2 of FileDT)
- set InvenNum = item 3 of FileDT
- if InvenNum <> "x" then set InvenNum = integer(InvenNum )
- if Amount < 1 then set Amount = 1
- set MyName = username
- set MyItemsFile = file("Database\Characters\" & string(MyName) & "-i.txt").read
- set the itemdelimiter = "|"
- set MyEquipment = item 2 of MyItemsFile
- set the itemdelimiter = ":"
- if InvenNum = "x" then
- repeat with xx = 1 to 15
- if item xx of MyEquipment contains CrName & "-" then set InvenNum = xx
- end repeat
- end if
- set MyLine = item InvenNum of MyEquipment
- if MyLine contains CrName & "-" then
- set the itemdelimiter = "-"
- set CurrentAmount = integer(item 2 of MyLine)
- if CurrentAmount < Amount then
- exit
- end if
- set nItem = CrName
- set ItemNum = Amount
- InvDel(MyName, MyItemsFile, nItem, ItemNum, User, fullmsg, group, movie)
- end if
- -------------------------------------------------- * * ** * * * ** * * * * * * * *
- "AddToQueue":
- Global MovementQueue
- set DtToAdd = string(content)
- set the itemdelimiter = ":"
- set WhichMap = item 1 of DtToAdd
- set the itemdelimiter = "`"
- repeat with x = 1 to 7
- if item x of MovementQueue contains WhichMap & ":" then
- set theLine = item x of MovementQueue & DtToAdd & "/"
- put theLine into item x of MovementQueue
- exit
- end if
- end repeat
- if MovementQueue = "" then
- set MovementQueue = DtToAdd & "/"
- exit
- end if
- set MovementQueue = MovementQueue & "`" & DtToAdd & "/"
- "DropAnItemX":
- set Flag = CTFDroptrigger(user, fullmsg, Movie)
- set FileDT = string(content)
- the itemdelimiter = ":"
- location = FileDT.item[2]
- the itemdelimiter = "-"
- if (location.item[1] < 46) or (location.item[1] > 558) or (location.item[2] < 29) or (location.item[2] > 381) then exit
- set the itemdelimiter = "`"
- set FilName = item 1 of FileDT
- set NewItem = item 2 of FileDT
- set ItDt = item 2 of FileDT
- set ItemList = file("DAT\ITEMS\" & FilName).read
- set the ItemDelimiter = "|"
- if item 20 of ItemList = "" then set OneToPlace = 20
- if item 19 of ItemList = "" then set OneToPlace = 19
- if item 18 of ItemList = "" then set OneToPlace = 18
- if item 17 of ItemList = "" then set OneToPlace = 17
- if item 16 of ItemList = "" then set OneToPlace = 16
- if item 15 of ItemList = "" then set OneToPlace = 15
- if item 14 of ItemList = "" then set OneToPlace = 14
- if item 13 of ItemList = "" then set OneToPlace = 13
- if item 12 of ItemList = "" then set OneToPlace = 12
- if item 11 of ItemList = "" then set OneToPlace = 11
- if item 10 of ItemList = "" then set OneToPlace = 10
- if item 9 of ItemList = "" then set OneToPlace = 9
- if item 8 of ItemList = "" then set OneToPlace = 8
- if item 7 of ItemList = "" then set OneToPlace = 7
- if item 6 of ItemList = "" then set OneToPlace = 6
- if item 5 of ItemList = "" then set OneToPlace = 5
- if item 4 of ItemList = "" then set OneToPlace = 4
- if item 3 of ItemList = "" then set OneToPlace = 3
- if item 2 of ItemList = "" then set OneToPlace = 2
- if item 1 of ItemList = "" then set OneToPlace = 1
- set the itemdelimiter = ":"
- if item 1 of ItDt = "Newspaper Kit" then
- put string(username) & "'s Newspaper" into item 1 of ItDt
- end if
- set TheGoods = item 1 of ItDt & ":" & item 2 of ItDt
- set the ItemDelimiter = "|"
- put TheGoods into item OnetoPlace of ItemList
- if ItemList contains "|" then
- else
- exit
- end if
- set MyName = username
- set MyItemsFile = file("Database\Characters\" & string(MyName) & "-i.txt").read
- set the itemdelimiter = "|"
- set MyEquipment = item 2 of MyItemsFile
- set the itemdelimiter = ":"
- set CurItemDrop = item 1 of NewItem
- set InvenNum = integer(item 3 of FileDT)
- set MyItemToDrop = item InvenNum of MyEquipment
- if MyItemToDrop contains CurItemDrop & "-" then
- if Flag = "Blue CTF Flag" then
- set FlagPositionOne = CheckCTFFlagPosition(user, movie, 5, ItemList)
- set FlagPositionTwo = CheckCTFFlagPosition(user, movie, 6, ItemList)
- put FlagPositionTwo & " " & FlagPositionOne
- if FlagPositionOne = "flag is in possition" and FlagPositionTwo = "flag is in possition" then
- AddCTFScore(user, "RedTeam", movie)
- ReplaceCTFItemlist(User.Name, movie, "RedTeam")
- RespawCTFlag(user, "BlueTeam", movie)
- DeleteFlags(Flag)
- exit
- end if
- end if
- if Flag = "Red CTF Flag" then
- set FlagPositionOne = CheckCTFFlagPosition(user, movie, 4, ItemList)
- set FlagPositionTwo = CheckCTFFlagPosition(user, movie, 7, ItemList)
- if FlagPositionOne = "flag is in possition" and FlagPositionTwo = "flag is in possition" then
- AddCTFScore(user, "BlueTeam", movie)
- ReplaceCTFItemlist(User.Name, movie, "BlueTeam")
- RespawCTFlag(user, "RedTeam", movie)
- DeleteFlags(Flag)
- exit
- end if
- end if
- file("DAT\ITEMS\" & FilName).write(ItemList)
- set nItem = CurItemDrop
- set ItemNum = 1
- InvDel(MyName, MyItemsFile, nItem, ItemNum, User, fullmsg, group, movie)
- if Flag = "Blue CTF Flag" then ReplaceCTFItemlist(User.Name, movie, "RedTeam")
- if Flag = "Red CTF Flag" then ReplaceCTFItemlist(User.Name, movie, "BlueTeam")
- end if
- --------------------------------------------------
- "DropSomeGold":
- set FileDT = string(content)
- set the itemdelimiter = "`"
- set FilName = item 1 of FileDT
- set NewItem = item 2 of FileDT
- set ItDt = item 2 of FileDT
- set ItemList = file("DAT\ITEMS\" & FilName).read
- set the ItemDelimiter = "|"
- if item 20 of ItemList = "" then set OneToPlace = 20
- if item 19 of ItemList = "" then set OneToPlace = 19
- if item 18 of ItemList = "" then set OneToPlace = 18
- if item 17 of ItemList = "" then set OneToPlace = 17
- if item 16 of ItemList = "" then set OneToPlace = 16
- if item 15 of ItemList = "" then set OneToPlace = 15
- if item 14 of ItemList = "" then set OneToPlace = 14
- if item 13 of ItemList = "" then set OneToPlace = 13
- if item 12 of ItemList = "" then set OneToPlace = 12
- if item 11 of ItemList = "" then set OneToPlace = 11
- if item 10 of ItemList = "" then set OneToPlace = 10
- if item 9 of ItemList = "" then set OneToPlace = 9
- if item 8 of ItemList = "" then set OneToPlace = 8
- if item 7 of ItemList = "" then set OneToPlace = 7
- if item 6 of ItemList = "" then set OneToPlace = 6
- if item 5 of ItemList = "" then set OneToPlace = 5
- if item 4 of ItemList = "" then set OneToPlace = 4
- if item 3 of ItemList = "" then set OneToPlace = 3
- if item 2 of ItemList = "" then set OneToPlace = 2
- if item 1 of ItemList = "" then set OneToPlace = 1
- set the itemdelimiter = ":"
- set stuffin = item 1 of ItDt & ":" & item 2 of ItDt
- set the ItemDelimiter = "|"
- put stuffin into item OnetoPlace of ItemList
- if ItemList contains "|" then
- else
- exit
- end if
- set MyName = username
- set MyItemsFile = file("Database\Characters\" & string(MyName) & "-i.txt").read
- set the itemdelimiter = "|"
- set MyGold = integer(item 1 of MyItemsFile)
- set the itemdelimiter = ":"
- set CurItemDrop = item 1 of NewItem
- set the itemdelimiter = " "
- set GoldAmount = integer(item 1 of CuritemDrop)
- if MyGold >= GoldAmount then
- set MyGold = MyGold - GoldAmount
- put "" into item InvenNum of MyEquipment
- set the itemdelimiter = "|"
- put MyGold into item 1 of MyItemsFile
- file("Database\Characters\" & string(MyName & "-i") & ".txt").write(MyItemsFile)
- file("DAT\ITEMS\" & FilName).write(ItemList)
- User.sendMessage("inx", MyItemsFile, 0, FALSE, username)
- end if
- ----------------- * * *
- "AddMeToCheaters":
- AddMeToCheaters(me, movie, group, user, fullmsg)
- "ViewCheaters":
- ViewCheaters(me, movie, group, user, fullmsg)
- "SecureTradeInProgress":
- SecureTradeInProgress(me, movie, group, user, fullmsg)
- "b94013":
- DisxItm(me, movie, group, user, fullmsg)
- "x91":
- RunAdd(me, movie, group, user, fullmsg)
- "bookrd":
- ReadBook(me, movie, group, user, fullmsg)
- "bjchk":
- BlackJackGoldCheck(me, movie, group, user, fullmsg)
- "snx38":
- snx38(me, movie, group, user, fullmsg)
- "GiveToPlayer":
- GiveToPlayer(me, movie, group, user, fullmsg)
- "GiveGoldToPlayer":
- GiveGoldToPlayer(me, movie, group, user, fullmsg)
- "QuestGive":
- QuestGive(me, movie, group, user, fullmsg)
- "RefNPC":
- RefNPC(me, movie, group, user, fullmsg)
- "GetSomeFaction":
- User.sendMessage("factnrtrn", FactionPowers, 0, FALSE, username)
- "DoorSwitch":
- set FileDT = string(content)
- set the itemdelimiter = "|"
- set MapName = item 1 of FileDT
- set OldDoor = item 2 of FileDT
- set NewDoor = item 3 of FileDT
- set MapFile = file("DAT\ITEMS\" & MapName).read
- repeat with x = 1 to 20
- if item x of MapFile contains OldDoor then
- set DoorFL = item x of MapFile
- set the itemdelimiter = ":"
- put NewDoor into item 1 of DoorFL
- set the itemdelimiter = "|"
- put DoorFL into item x of MapFile
- end if
- end repeat
- file("DAT\ITEMS\" & MapName).write(MapFile)
- "DeathMapGo":
- --3g------------------------------------
- -- Capture Death for CTF event
- ----------------------------------------
- set BlueTeam = file("DAT\CTF\BlueTeam.txt").read
- set RedTeam = file("DAT\CTF\RedTeam.txt").read
- if CTFFlag = 1 then
- if BlueTeam contains ":" & username & ":" or RedTeam contains ":" & username & ":"then
- CTFDeath(movie, me, group, user, fullmsg)
- --DeathMapGo(me, movie, group, username, fullmsg)
- exit
- end if
- end if
- ----------------------------------------
- -- Capture Death for coliseum event
- ----------------------------------------
- set CurrentFighters = file("DAT\Coliseum\CurrentFighters.txt").read
- if ColiseumFlag = 1 and CurrentFighters contains ":" & user.name & ":" then
- ColiseumDeath(UserName, movie)
- exit
- end if
- ----------------------------------------
- put user.name
- DeathMapGo(me, movie, group, user, fullmsg)
- "SaveHouse":
- SaveHouse(me, movie, group, user, fullmsg)
- "SpCmd":
- ShopCommand(me, movie, group, user, fullmsg)
- "MpTlCng":
- MapTileChange(me, movie, group, user, fullmsg)
- "MpT2Cng":
- BuildLand(me, movie, group, user, fullmsg)
- "MpT3Cng":
- BuyLand(me, movie, group, user, fullmsg)
- "SayTreasure":
- SayTreasure(me, movie, group, user, fullmsg)
- "SayFaction":
- SayFaction(me, movie, group, user, fullmsg)
- "PrtlExt":
- Portal(me, movie, group, user, fullmsg)
- "SayQuest":
- SayQuest(me, movie, group, user, fullmsg)
- "treack":
- TreasureCheck(me, movie, group, user, fullmsg)
- "BlkJckExch":
- BlackJackGameOver(me, movie, group, user, fullmsg)
- "STARTASSGAME":
- STARTASSGAME(me, movie, group, user, fullmsg)
- "StartLightningAssGame":
- StartLightningAssGame(me, movie, group, user, fullmsg)
- "ENDASSGAME":
- ENDASSGAME(me, movie, group, user, fullmsg)
- "ASSGAMEADDSCORE":
- --AssGameAddScore(me, movie, group, user, fullmsg)
- "ShowAssScores":
- set FilName = "DAT\SETTINGS\AssassinScore.txt"
- set HighScoreList = file(FilName).read
- User.sendMessage("assscrlstx", HighScoreList, 0, FALSE, username)
- --set FilName = "DAT\SETTINGS\AssassinScore.txt"
- --set HighScoreList = file(FilName).read
- --User.sendMessage("assscrlst", HighScoreList, 0, FALSE, username)
- "Sccr":
- set scre = integer(content)
- set MyName = username
- CheckHighScore(MyName, scre)
- "ShowScores":
- set FilName = "DAT\SETTINGS\highscore.txt"
- set HighScoreList = file(FilName).read
- User.sendMessage("scrlst", HighScoreList, 0, FALSE, username)
- "SltMcn":
- set TheCost = integer(content)
- set MyName = username
- set MyItemsFile = file("Database\Characters\" & string(MyName) & "-i.txt").read
- set the itemdelimiter = "|"
- set MyGold = integer(item 1 of MyItemsFile)
- set the itemdelimiter = ":"
- if MyGold >= TheCost then
- User.sendMessage("goslt", TheCost, 0, FALSE, username)
- else
- User.sendMessage("noslt", "x", 0, FALSE, username)
- end if
- ----------------- * * *
- "sltwn":
- SlotDone(me, movie, group, user, fullMsg)
- --------------------------------------------------
- "DropAnItem":
- set FileDT = string(content)
- if FileDT contains "battleship" then set ItsAGo = 1
- if FileDT contains "boat" then set ItsAGo = 1
- if FileDT contains "Crystal" then set ItsAGo = 1
- if FileDT contains "logs" then set ItsAGo = 1
- if FileDT contains "exit" then set ItsAGo = 1
- if FileDT contains "mailbox" then set ItsAGo = 1
- if FileDT contains "trout" then set ItsAGo = 1
- if FileDT contains "Shark" then set ItsAGo = 1
- if FileDT contains "Lobster" then set ItsAGo = 1
- if FileDT contains "catfish" then set ItsAGo = 1
- if FileDT contains "squid" then set ItsAGo = 1
- if FileDT contains "swordfish" then set ItsAGo = 1
- if FileDT contains "fish" then set ItsAGo = 1
- if FileDT contains "Head" then set ItsAGo = 1
- if FileDT contains "Street" then set ItsAGo = 1
- if FileDT contains "Corn" then set ItsAGo = 1
- if FileDT contains "Nectar" then set ItsAGo = 1
- if FileDT contains "Watermelon" then set ItsAGo = 1
- if FileDT contains "Flowers" then set ItsAGo = 1
- if FileDT contains "Roses" then set ItsAGo = 1
- if FileDT contains "Chunk" then set ItsAGo = 1
- if FileDT contains "Airship" then set ItsAGo = 1
- if FileDT contains "CTF Flag" then ItsAGo = 1
- if ItsAGo <> 1 then exit
- set the itemdelimiter = "`"
- set FilName = item 1 of FileDT
- set NewItem = item 2 of FileDT
- set ItDt = item 2 of FileDT
- set ItemList = file("DAT\ITEMS\" & FilName).read
- set the ItemDelimiter = "|"
- if item 20 of ItemList = "" then set OneToPlace = 20
- if item 19 of ItemList = "" then set OneToPlace = 19
- if item 18 of ItemList = "" then set OneToPlace = 18
- if item 17 of ItemList = "" then set OneToPlace = 17
- if item 16 of ItemList = "" then set OneToPlace = 16
- if item 15 of ItemList = "" then set OneToPlace = 15
- if item 14 of ItemList = "" then set OneToPlace = 14
- if item 13 of ItemList = "" then set OneToPlace = 13
- if item 12 of ItemList = "" then set OneToPlace = 12
- if item 11 of ItemList = "" then set OneToPlace = 11
- if item 10 of ItemList = "" then set OneToPlace = 10
- if item 9 of ItemList = "" then set OneToPlace = 9
- if item 8 of ItemList = "" then set OneToPlace = 8
- if item 7 of ItemList = "" then set OneToPlace = 7
- if item 6 of ItemList = "" then set OneToPlace = 6
- if item 5 of ItemList = "" then set OneToPlace = 5
- if item 4 of ItemList = "" then set OneToPlace = 4
- if item 3 of ItemList = "" then set OneToPlace = 3
- if item 2 of ItemList = "" then set OneToPlace = 2
- if item 1 of ItemList = "" then set OneToPlace = 1
- set the itemdelimiter = ":"
- set stuffin = item 1 of ItDt & ":" & item 2 of ItDt
- set the ItemDelimiter = "|"
- put stuffin into item OnetoPlace of ItemList
- if ItemList contains "|" then
- else
- exit
- end if
- file("DAT\ITEMS\" & FilName).write(ItemList)
- --------------------------------------------------
- "AdminItemDrop":
- if (getUserRank(username) = "Player") or (getUserRank(username) = "Moderator") then exit
- set FileDT = string(content)
- set the itemdelimiter = "`"
- set FilName = item 1 of FileDT
- set NewItem = item 2 of FileDT
- set ItDt = item 2 of FileDT
- set ItemList = file("DAT\ITEMS\" & FilName).read
- set the ItemDelimiter = "|"
- if item 20 of ItemList = "" then set OneToPlace = 20
- if item 19 of ItemList = "" then set OneToPlace = 19
- if item 18 of ItemList = "" then set OneToPlace = 18
- if item 17 of ItemList = "" then set OneToPlace = 17
- if item 16 of ItemList = "" then set OneToPlace = 16
- if item 15 of ItemList = "" then set OneToPlace = 15
- if item 14 of ItemList = "" then set OneToPlace = 14
- if item 13 of ItemList = "" then set OneToPlace = 13
- if item 12 of ItemList = "" then set OneToPlace = 12
- if item 11 of ItemList = "" then set OneToPlace = 11
- if item 10 of ItemList = "" then set OneToPlace = 10
- if item 9 of ItemList = "" then set OneToPlace = 9
- if item 8 of ItemList = "" then set OneToPlace = 8
- if item 7 of ItemList = "" then set OneToPlace = 7
- if item 6 of ItemList = "" then set OneToPlace = 6
- if item 5 of ItemList = "" then set OneToPlace = 5
- if item 4 of ItemList = "" then set OneToPlace = 4
- if item 3 of ItemList = "" then set OneToPlace = 3
- if item 2 of ItemList = "" then set OneToPlace = 2
- if item 1 of ItemList = "" then set OneToPlace = 1
- set the itemdelimiter = ":"
- set stuffin = item 1 of ItDt & ":" & item 2 of ItDt
- set the ItemDelimiter = "|"
- put stuffin into item OnetoPlace of ItemList
- if ItemList contains "|" then
- else
- exit
- end if
- -----
- the ItemDelimiter = ":"
- Itemm = NewItem.item[1]
- the itemdelimiter = "i"
- DropDB = fread("Database\GameDB\AdminDrops.dat", #Value)
- if DropDB = VOID then DropDB = [:]
- dropDat = "dropped " & Itemm & " on map " & FilName.item[1] & " on " & The Short Date & " at " & The Short Time & "." -- These Users were on this map:" & TheGroup
- DropDB.addProp(symbol(username), DropDat)
- fwrite("Database\GameDB\AdminDrops.dat", DropDB, #Value)
- --put DropDB
- file("DAT\ITEMS\" & FilName).write(ItemList)
- ----------------------------------------------------------------------------------
- "GrabItems":
- GrabItems(me, movie, group, user, fullmsg)
- --------------------------------------------------
- "LoadMail":
- set FilName = "DAT\MAIL\" & content
- set MyFile = file(FilName).read
- User.sendMessage("MailList", MyFile, 0, FALSE, username)
- "SendMail":
- set FileDT = string(content)
- set the itemdelimiter = "`"
- set FilName = item 1 of FileDT
- set MyMessage = item 2 of FileDT
- set CurMail = "DAT\MAIL\" & FilName
- set CurMail = file(CurMail).read
- set CurMail = CurMail & MyMessage
- file("DAT\MAIL\" & FilName).write(CurMail)
- "SaveMail":
- set FileDT = string(content)
- set the itemdelimiter = "`"
- set FilName = item 1 of FileDT
- set FilDat = item 2 of FileDT
- file("DAT\MAIL\" & FilName).write(FilDat)
- "SortIP":
- MyIPP = content
- set FilName = "DAT\SETTINGS\bans.txt"
- set MyFile = file(FilName).read
- if MyFile contains MyIPP then User.sendMessage("927417351", "x", 0, FALSE, username)
- "AddBan":
- set IPtoBan = string(content)
- set FilName = "DAT\SETTINGS\bans.txt"
- set BannedIPs = file(FilName).read
- set BannedIPs = BannedIPs & "*" & IPtoBan & "*"
- file("DAT\SETTINGS\bans.txt").write(BannedIPs)
- "RemoveBan":
- set IPtoRemove = string(content)
- set FilName = "DAT\SETTINGS\bans.txt"
- set BannedIPs = file(FilName).read
- set the itemdelimiter = "*"
- repeat with x = 1 to 500
- if item x of BannedIPs = IPtoRemove then put "" into item x of BannedIPs
- end repeat
- file("DAT\SETTINGS\bans.txt").write(BannedIPs)
- "LoadMap":
- if (content = "xReySpawn.txt") then
- warp = fread("DAT\DM\" & username & ".txt", #text)
- sendpacket(username, "Warp", "!!! !!! " & Warp)
- end if
- set TheName = content
- the itemdelimiter = "."
- MapName = TheName.item[1]
- set FilName = "DAT\MAPS\"
- FilName = FilName & content
- set MyFile = file(FilName).read
- set FilxName = "DAT\MOBS\"
- FilxName = FilxName & content
- set MyxFile = file(FilxName).read
- set the itemdelimiter = "."
- set Mapp = item 1 of TheName & "i.txt"
- set FilName = "DAT\ITEMS\"
- FilName = FilName & Mapp
- set ItemFile = file(FilName).read
- set TheFiles = MyFile & "^" & ItemFile & "^" & MyxFile & "^"
- SendNPCs (MyxFile, me, movie, group, user, fullMsg, TheFiles)
- -----
- CurMap = fread("Database\GameDB\CurrentMap.dat", #value)
- if CurMap = VOID then CurMap = [:]
- if (CurMap.GetAProp(Symbol(username)) = VOID) then
- nothing
- else
- CurMap.DeleteProp(Symbol(UserName))
- end if
- CurMap.addProp(symbol(username), string(MapName))
- --put CurMap
- fwrite("Database\GameDB\currentmap.dat", CurMap, #value)
- "LoadItems":
- set FilName = "DAT\ITEMS\"
- FilName = FilName & content
- set MyFile = file(FilName).read
- User.sendMessage("GetItems", MyFile, 0, FALSE, username)
- "LoadItemsW":
- set FilName = "DAT\ITEMS\"
- FilName = FilName & content
- set MyFile = file(FilName).read
- User.sendMessage("GetItemsW", MyFile, 0, FALSE, username)
- "LoadBoard1":
- set FilName = "DAT\BOARDS\"
- FilName = FilName & content
- set MyFile = file(FilName).read
- User.sendMessage("GetBoards", MyFile, 0, FALSE, username)
- "LoadMapX":
- set FilName = "DAT\MAPS\"
- FilName = FilName & content
- set MyFile = file(FilName).read
- User.sendMessage("GetMapX", MyFile, 0, FALSE, username)
- "LoadMobsX":
- set FilName = "DAT\MOBS\"
- FilName = FilName & content
- set MyFile = file(FilName).read
- User.sendMessage("GetMobsX", MyFile, 0, FALSE, username)
- "LoadItemsX":
- set FilName = "DAT\ITEMS\"
- FilName = FilName & content
- set MyFile = file(FilName).read
- User.sendMessage("GetItemsX", MyFile, 0, FALSE, username)
- --------------------------------------------------
- "SaveMap":
- set FileDT = string(content)
- set the itemdelimiter = "`"
- set FilName = item 1 of FileDT
- set FilDat = item 2 of FileDT
- file("DAT\MAPS\" & FilName).write(FilDat)
- User.sendMessage("MapIsCreated", "x", 0, FALSE, username)
- --------------------------------------------------
- "SveMb":
- set FileDT = string(content)
- set the itemdelimiter = "`"
- set FilName = item 1 of FileDT
- set FilDat = item 2 of FileDT
- file("DAT\MOBS\" & FilName).write(FilDat)
- -------------------------------------------------- ***** VAULT!!!!!
- "DropInVault":
- set FileDT = string(content)
- set MyName = username
- set MyItemsFile = file("Database\Characters\" & string(MyName) & "-i.txt").read
- set the itemdelimiter = "|"
- set MyInv = item 2 of MyItemsFile
- set the itemdelimiter = "`"
- set VaultName = item 1 of FileDT
- set ItemToAdd = item 2 of FileDT
- set InvenNum = integer(item 3 of FileDT)
- set the itemdelimiter = ":"
- set VaultIsFull = FALSE
- set FilName = "DAT\VAULTS\" & VaultName
- set VaultInfo = file(FilName).read
- if VaultInfo = VOID then set VaultInfo = ""
- set MaxAmnt = 15
- if VaultName contains "Crate" then set MaxAmnt = 3
- if VaultName contains "Vault" then set MaxAmnt = 15
- if VaultName contains "Chest" then set MaxAmnt = 15
- if VaultName contains "Cabinet" then set MaxAmnt = 10
- if VaultName contains "Wind Cabinet" then set MaxAmnt = 20
- if VaultName contains "Item Bag" then set MaxAmnt = 60
- if VaultName contains "TempChest" then MaxAmnt = VaultInfo.line.count + 1
- if line MaxAmnt of VaultInfo <> "" then set VaultIsFull = TRUE
- if VaultIsFull = TRUE then
- User.sendMessage("sqa", "This is too full to store anything else!", 0, FALSE, username)
- exit
- end if
- if item InvenNum of MyInv contains ItemToAdd & "-" then
- set ItsAGo = 1
- end if
- if ItsAGo <> 1 then exit
- set nItem = ItemToAdd
- set ItemNum = 1
- InvDel(MyName, MyItemsFile, nItem, ItemNum, user, fullmsg, group, movie)
- set VaultInfo = VaultInfo & ItemToAdd & RETURN
- if VaultInfo contains "|" then exit
- if not(VaultName = "Trash Can.txt") then file("DAT\VAULTS\" & VaultName).write(VaultInfo)
- --if VaultName contains "Cauldron" then
- --DidWeBooyaSomeWitchcraft(MyName, user, fullmsg, group, movie, VaultName, VaultInfo)
- --end if
- "GetChest":
- set FiletoGet = string(content)
- set FilName = "DAT\VAULTS\" & FiletoGet
- set VaultInfo = file(FilName).read
- User.sendMessage("VaultReturned", VaultInfo, 0, FALSE, username)
- "GetBalance":
- set FiletoGet = string(content)
- set FilName = "DAT\BANK\" & FiletoGet
- set Bankk = file(FilName).read
- if Bankk = "" then set Bankk = "0"
- if Bankk = VOID then set Bankk = "0"
- file("DAT\BANK\" & FiletoGet).write(Bankk)
- User.sendMessage("BalanceReturned", Bankk, 0, FALSE, username)
- "Deposit":
- set FileDT = string(content)
- set MyName = username
- set MyItemsFile = file("Database\Characters\" & string(MyName) & "-i.txt").read
- set the itemdelimiter = "|"
- set MyGold = integer(item 1 of MyItemsFile)
- set the itemdelimiter = "`"
- set BankName = item 1 of FileDT
- set DepAmount = integer(item 2 of FileDT)
- set FilName = "DAT\BANK\" & BankName
- set Bankk = file(FilName).read
- set nBankk = integer(Bankk) + DepAmount
- set MyGold = MyGold - DepAmount
- if MyGold < 0 then
- exit
- end if
- set the itemdelimiter = "|"
- put MyGold into item 1 of MyItemsFile
- file("Database\Characters\" & string(MyName & "-i") & ".txt").write(MyItemsFile)
- file("DAT\BANK\" & BankName).write(String(nBankk))
- User.sendMessage("DepositDone", nBankk, 0, FALSE, username)
- User.sendMessage("inx", MyItemsFile, 0, FALSE, username)
- "Withdraw":
- set FileDT = string(content)
- set MyName = username
- set OtherName = string(fullmsg.SenderID)
- if OtherName <> MyName then exit
- set MyItemsFile = file("Database\Characters\" & string(MyName) & "-i.txt").read
- set the itemdelimiter = "|"
- set MyGold = integer(item 1 of MyItemsFile)
- set the itemdelimiter = "`"
- set BankName = item 1 of FileDT
- set DepAmount = integer(item 2 of FileDT)
- set FilName = "DAT\BANK\" & BankName
- set Bankk = file(FilName).read
- set nBankk = integer(Bankk) - DepAmount
- set MyGold = MyGold + DepAmount
- if nBankk < 0 then
- exit
- end if
- set the itemdelimiter = "|"
- put MyGold into item 1 of MyItemsFile
- file("Database\Characters\" & string(MyName & "-i") & ".txt").write(MyItemsFile)
- file("DAT\BANK\" & BankName).write(String(nBankk))
- User.sendMessage("DepositDone", nBankk, 0, FALSE, username)
- User.sendMessage("inx", MyItemsFile, 0, FALSE, username)
- "itremovv":
- set ItemToAdd = string(content)
- set CanIGoOK = FALSE
- if ItemToAdd contains "Crate" then set CanIGoOK = TRUE
- if ItemToAdd contains "Cabinet" then set CanIGoOK = TRUE
- if ItemToAdd contains "Potion" then set CanIGoOK = TRUE
- if ItemToAdd = "Apple" then set CanIGoOK = TRUE
- if ItemToAdd = "Pie" then set CanIGoOK = TRUE
- if ItemToAdd = "Corn" then set CanIGoOK = TRUE
- if ItemToAdd = "Fish" then set CanIGoOK = TRUE
- if ItemToAdd = "Lobster" then set CanIGoOK = TRUE
- if ItemToAdd = "Shark" then set CanIGoOK = TRUE
- if ItemToAdd = "Ale" then set CanIGoOK = TRUE
- if ItemToAdd = "Pig" then set CanIGoOK = TRUE
- if ItemToAdd = "Chair" then set CanIGoOK = TRUE
- if ItemToAdd = "Table" then set CanIGoOK = TRUE
- if ItemToAdd = "Stool" then set CanIGoOK = TRUE
- if CanIGoOK = FALSE then exit
- set FileDT = string(content)
- set MyName = username
- set MyItemsFile = file("Database\Characters\" & string(MyName) & "-i.txt").read
- set the itemdelimiter = "|"
- set MyInv = item 2 of MyItemsFile
- if ItemToAdd contains " Crystals" then
- set the itemdelimiter = " "
- set ItemNum = integer(item 1 of ItemToAdd)
- set ItemToAdd = item 2 of ItemToAdd & " " & item 3 of ItemToAdd
- end if
- set the itemdelimiter = ":"
- repeat with xxx = 1 to 15
- if item xxx of MyInv = "" then set ItsAGo = 1
- end repeat
- if MyInv contains ItemToAdd & "-" then set ItsAGo = 1
- if ItsAGo = 0 then exit
- set ItemNum = 1
- set nItem = ItemToAdd
- InvAdd(MyName, MyItemsFile, nItem, ItemNum, user, fullmsg, group, movie)
- "GetFromVault":
- set FileDT = string(content)
- the itemdelimiter = ";"
- FileDT = FileDT.item[2]
- set the itemdelimiter = "`"
- set VaultName = item 1 of FileDT
- set ItemToAdd = item 2 of FileDT
- set FilName = "DAT\VAULTS\" & VaultName
- set VaultInfo = file(FilName).read
- set the itemdelimiter = RETURN
- set NewVault = ""
- repeat with x = 1 to 200
- if item x of VaultInfo <> "" then set NewVault = NewVault & item x of VaultInfo & RETURN
- end repeat
- repeat with x = 1 to 200
- if line x of NewVault = ItemToAdd then
- ----------------------
- set FileDT = string(content)
- set MyName = username
- set MyItemsFile = file("Database\Characters\" & string(MyName) & "-i.txt").read
- set the itemdelimiter = "|"
- set MyInv = item 2 of MyItemsFile
- if ItemToAdd contains " Crystals" then
- set the itemdelimiter = " "
- set ItemNum = integer(item 1 of ItemName)
- set ItemToAdd = item 2 of ItemToAdd & " " & item 3 of ItemToAdd
- end if
- set the itemdelimiter = ":"
- repeat with xxx = 1 to 15
- if item xxx of MyInv = "" then set ItsAGo = 1
- end repeat
- if MyInv contains ItemToAdd & "-" then set ItsAGo = 1
- if ItsAGo = 0 then exit
- set ItemNum = 1
- set nItem = ItemToAdd
- InvAdd(MyName, MyItemsFile, nItem, ItemNum, user, fullmsg, group, movie)
- ----------------------
- delete line x of NewVault
- set ItemExists = 1
- exit repeat
- end if
- end repeat
- if NewVault contains "|" then exit
- file("DAT\VAULTS\" & VaultName).write(NewVault)
- "SaveBoard1":
- set FileDT = string(content)
- set the itemdelimiter = "`"
- set FilName = item 1 of FileDT
- set FilDat = item 2 of FileDT
- file("DAT\BOARDS\" & FilName).write(FilDat)
- "LoadNews":
- set FilName = "DAT\SETTINGS\News.txt"
- set MyFile = file(FilName).read
- User.sendMessage("News", MyFile, 0, FALSE, username)
- "LoadQuests":
- set FilName = "DAT\SETTINGS\CurQuest.txt"
- set MyFile = file(FilName).read
- User.sendMessage("Quests", MyFile, 0, FALSE, username)
- "QuestComplete":
- set FileDT = string(content)
- file("DAT\SETTINGS\CurQuest.txt").write(FileDT)
- "LoadTheNPC":
- set CharName = string(content)
- set FilName = "DAT\NPC\" & CharName & ".txt"
- set MyFile = file(FilName).read
- User.sendMessage("NPCLoaded", MyFile, 0, FALSE, username)
- "LoadSystem":
- set FilName = "DAT\SETTINGS\System.txt"
- set MyFile = file(FilName).read
- User.sendMessage("LoadSystem", MyFile, 0, FALSE, username)
- "LoadNPCSellList":
- set CharName = string(content)
- set FilName = "DAT\NPC\" & CharName
- set LList = file(FilName).read
- set BuyItems = ""
- set BuyItemPrices = ""
- repeat with x = 1 to 30
- if line x of LList contains "SEL|" then
- set the itemdelimiter = "|"
- set TheGoods = item 2 of line x of LList
- set the itemdelimiter = ":"
- set ItemName = item 1 of TheGoods
- set ItemPrice = item 2 of TheGoods
- set BuyItems = BuyItems & ItemName & RETURN
- set BuyItemPrices = BuyItemPrices & ItemPrice & RETURN
- end if
- end repeat
- set TheList = BuyItems & ":" & BuyItemPrices
- User.sendMessage("NPCSellList", TheList, 0, FALSE, username)
- ---------------------------------------------------------------------------------------------------
- "LoadNPCBuyList":
- set CharName = string(content)
- set FilName = "DAT\NPC\" & CharName
- set LList = file(FilName).read
- set BuyItems = ""
- set BuyItemPrices = ""
- repeat with x = 1 to 60
- if line x of LList contains "BUY|" then
- set the itemdelimiter = "|"
- set TheGoods = item 2 of line x of LList
- set the itemdelimiter = ":"
- set ItemName = item 1 of TheGoods
- set ItemPrice = item 2 of TheGoods
- set BuyItems = BuyItems & ItemName & RETURN
- set BuyItemPrices = BuyItemPrices & ItemPrice & RETURN
- end if
- end repeat
- set TheList = BuyItems & ":" & BuyItemPrices
- User.sendMessage("NPCBuyList", TheList, 0, FALSE, username)
- ---------------------------------------------------------------------------------------------------
- "ReduceGoldFromSpell":
- set MyName = username
- set MyItemsFile = file("Database\Characters\" & string(MyName) & "-i.txt").read
- set the itemdelimiter = "|"
- set myCharGold = integer(item 1 of MyitemsFile)
- set MycharGold = MyCharGold - integer(content)
- if MyCharGold < 0 then exit
- if string(MyCharGold) contains "-" then exit
- put MycharGold into item 1 of MyItemsFile
- file("Database\Characters\" & string(MyName & "-i") & ".txt").write(MyItemsFile)
- User.sendMessage("inx", MyItemsFile, 0, FALSE, username)
- "GiveGoldToNPC":
- set MyName = username
- set MyItemsFile = file("Database\Characters\" & string(MyName) & "-i.txt").read
- set NPCDat = string(content)
- set the itemdelimiter = ":"
- set NPCName = item 1 of NPCDat
- set NewGold = integer(item 2 of NPCDat)
- set the itemdelimiter = "."
- set FNPCxName = item 1 of NPCName
- set NPCTalkDAt = FNPCxName & " says " & QUOTE & "Thanks for the gold!"
- set the itemdelimiter = "|"
- set myCharGold = integer(item 1 of MyitemsFile)
- set MycharGold = MyCharGold - integer(NewGold)
- if MyCharGold < 0 then exit
- put MycharGold into item 1 of MyItemsFile
- file("Database\Characters\" & string(MyName & "-i") & ".txt").write(MyItemsFile)
- User.sendMessage("inx", MyItemsFile, 0, FALSE, username)
- User.sendMessage("sqa", NPCTalkDAt, 0, FALSE, username)
- set FilName = "DAT\NPC\" & NPCName
- set LList = file(FilName).read
- repeat with x = 1 to 60
- if line x of LList contains "GLD|" then
- set the itemdelimiter = "|"
- set MyGold = integer(item 2 of line x of LList)
- set GoldtoAdd = MyGold + NewGold
- set GoldToAdd = "GLD|" & string(GoldToAdd)
- put GoldToAdd into line x of LList
- end if
- end repeat
- file("DAT\NPC\" & NPCName).write(LList)
- "BuyFromNPC":
- NPCBuy(me, movie, group, user, fullmsg)
- "SellToNPC":
- NPCSell(me, movie, group, user, fullmsg)
- "Mkilldrp":
- set FileDT = string(content)
- set the itemdelimiter = "`"
- set FilName = item 1 of FileDT
- set NPCname = item 2 of FileDT
- set ItemDat = item 3 of FileDT
- set NPCFilName = "DAT\NPC\" & NPCname
- set NPCFile = file(NPCFilName).read
- if NPCFile = VOID then exit
- set CurInvLst = ""
- set InvAmnt = 0
- repeat with x = 1 to 80
- if line x of NPCFile contains "INV|" then
- set the itemdelimiter = "|"
- set TheGoods = item 2 of line x of NPCFile
- set CurInvLst = CurInvLst & TheGoods & RETURN
- set InvAmnt = InvAmnt + 1
- end if
- end repeat
- if InvAmnt = 0 then exit
- set WhichOneLine = random(InvAmnt)
- set CurItttm = line WhichOneLine of CurInvLst
- set the itemdelimiter = ":"
- set RndAmnt = integer(item 2 of CurItttm)
- set DoWeDrop = random(RndAmnt)
- if DoWeDrop <> 1 then exit
- set TheItemm = item 1 of CurItttm
- set ItemList = file("DAT\ITEMS\" & FilName).read
- set the ItemDelimiter = "|"
- set OneToPlace = 0
- if item 8 of ItemList = "" then set OneToPlace = 8
- if item 7 of ItemList = "" then set OneToPlace = 7
- if item 6 of ItemList = "" then set OneToPlace = 6
- if item 5 of ItemList = "" then set OneToPlace = 5
- if item 4 of ItemList = "" then set OneToPlace = 4
- if item 3 of ItemList = "" then set OneToPlace = 3
- if item 2 of ItemList = "" then set OneToPlace = 2
- if item 1 of ItemList = "" then set OneToPlace = 1
- if OneToPlace = 0 then exit
- set the itemdelimiter = ":"
- set TheItemDrp = TheItemm & ":" & ItemDat
- set the ItemDelimiter = "|"
- put TheItemDrp into item OnetoPlace of ItemList
- if ItemList contains "|" then
- else
- exit
- end if
- file("DAT\ITEMS\" & FilName).write(ItemList)
- User.sendMessage("drelxu", TheItemDrp, 0, FALSE, username)
- end case
- end
Add Comment
Please, Sign In to add comment