Mr Shep
12-22-2006, 10:59 AM
this is for the Playerwolrds Server.....
Download here......http://www.download.com/3000-20-10606021.html?part=undefined&subj=dl&tag=button
Mapping Tutorial
The idea of this tutorial is to cover as many of the basic concepts in mapping, starting with accessing the editor, choosing the layers, the attributes, and how they react when used. I will also be placing some pictures up to help people follow better.
Before we can map, you must make sure you have access to the /Mapeditor command. This guide will assume you do. If not contact your server owner and see if they are willing to have you upgraded to a mapper status.
When you choose a map it will often be blank, or will be covered by the first 32x32 pixle of your Tiles.bmp the screen shot below shows the map I will be using for this guide already filled by grass on the Ground layer.
Now that you are on your map, make sure you are speaking on the default tab. You can do this by clicking default on your chat window below the map you are on. Then type and submit /Mapeditor to bring up the map editor. You should see an area to the right of the map your standing on open a menu looking similar to the one shown in the picture below. The graphics displayed are baised on your Tiles.bmp in the GFX folder of your Client.
The Red square on this next picture shows the section of the Tiles.bmp you are viewing, this can be changed by using the scroll bar to the right hand side of the box. Using your mouse you can select a 32x32 square of the Tiles.bmp, when a tile is selected it will show up in the area boxed by the Yellow square. The Yellow Square is the current tile you are using to make your map with.
Now its time to get into the Layers used in playerworlds. As you can see in the next picture in the Red Square I have selected Layers this enabled the options in the Yellow Square to be selected. These options are: Ground, Mask, Animation, and Fringe.
When these four layers are used well, you can add a measure of depth and realism to your maps. To my experience as a mapper I find that most of what makes a good game look good, is the skill of its mappers. The best GFX out there can still look horrible if someone dosn't know how to use the layers.
Ground This is used for backgrounds as all other layers are on top of this one.
Mask This is layer is the most versatile layer, it can be used to add detail to a map, or help to give an obstruction to movement when combined with other Attributes of mapping.
Animation Animation is a flashing layer, usually to used for water or small plants to add movement to maps in hopes of making them look 'alive'.
Fringe Fringe is a tricky layer, this is the only layer that is viewed OVER the player sprite. Fringe is also viewed over every other layer: Ground, Mask and Animation.
Now for the Attributes of Mapping in playerworlds. You can see in the picture below I have the Attributes selected in the Red Square. This will give you the options in the Yellow Square. These options are: Block, Warp(Door), Warp(Point), Item, NPC Avoid, Key, Key Open, Damage, Heal, and Sign.
Using some of these Attributes can be confusing at first. So I will start with the simple ones, and move on to the harder ones with a more in depth explaination of them.
Block: This tile is shown on the mapeditor as a red 'B' it hinders the movement of both players and NPC's on that map. Making them unable to enter that square on the grid.
NPC Avoid: This tile is shown on the mapeditor as a white 'N' it hinders the movement of only NPC's on that map, allowing players to move easily through the square.
Heal: This tile is shown on the mapeditor as a green 'H' it hinders the movement of NPC's on that map, and when a player walks over it their HP is restored to full.
Warp(Door): This tile allows you to send a player to another X, Y on another Map. You fill in the Map Number you want to send the player to, followed by the X, and the Y. When you place this tile on the map it looks like a pink 'Door' as seen in the picture.
Warp(Point): This tile allows you to send a player to another X, Y on another Map. You fill in the Map Number you want to send the player to, followed by the X, and the Y. When you place this tile on the map it looks like a blue 'W' as seen in the picture. Unlike Warp(Door) this warp makes a noise when a player uses it.
Item: This tile allows you to spawn items on a map, that has the Properties of Respawn as a yes. The Tile looks like a white 'I' on the mapeditor.
Key: This tile allows you to block all movement through a tile unless a player has the item to allow them to pass. You can also control if the key is a one time use, by having the key consumed after it is used by the player. It shows up as a white 'K' on your map editor.
Key Open: This tile allows a player to open a door by stepping on this tile as long as the door is on the same map. Shown as a white 'O' in the mapeditor.
Damage: This tile allows you to deal a base ammount of damage to any player walking through it. It also allows you to set any piece of armor a player can equip to negate the damage of walking through this tile. Looks like a red 'D' in the mapeditor.
Sign: This tile allows you to block a players movement, allowing NPC's to access area's where players cannot. However the main use of this tile is to allow a player who is facing it to press Ctrl and recieve a message made in the Sign Editor. This shows up as a yellow 'S' on the mapeditor.
Now for the map Properties these allow you to connect maps to other maps by default, set the locations for respawn on death, place NPC's on the map, Shops on the map, Map Morale, and the Music on the map.
Setting Map Morale There are four map Morales, each one does something different for combat. These are: None, Safe Zone, Arena and, Savage Land.
None: The map name will be Red, allowing Player v Player combat for all players level 10+ Xp is lost and equipment is dropped on death.
Safe Zone: The map name will be White, dis-abling Player v Player combat (exception of PK'ers who are considered always None Morale), Xp is lost and equipment is dropped on death.
Arena: The map name will be grey, allowing Player V Player combat, no XP loss or equipment loss when you die(except PK'er's who are considered always None Morale).
Savage Lands: The map name will be Yellow, I don't often use this mode, but it functions much as Safe Zone from what I have seen.
Setting NPC's You can select the drop down box to the right as shown in this following picture to set any created NPC onto your new map.
Setting Shop You can select the drop down box under Morale to set a shop in this map as seen in the following picture. All shops must be made in the /shopeditor.
Setting Adjacent Maps By entering a Map number in any of the four text entry locations in the Red box of the following picture you can set what maps will be: North, South, Eas and West of this current map. When you move to the edge of the current map and attempt to move off of the map it will take you to the reverse edge of the next map(moving off the right will bring you to the map you placed on the right hand side, but on the left side of the new map).
Setting Respawn points Called a Boot Point, this is how you set where a player respawns when they die on this map. Starting with a Map Number and the X, Y of where you want them to appear. This location is marked by a yellow square in the above picture.
That is all that I can think of at the moment for mapping. If any other experienced mappers see something I left out please let me know so it can be added on. Hopefully this will help all those new mappers out there, good luck and as always have fun.
How to Script On playerworlds
Alright, I have made a scripting handbook for people. I have dubbed it the ultimate scripting handbook. I got the list of commands and some definitions from Dr.Spoon, Aranshada, Mangus, Grand Warrior, Zezima, and Aufty. I came up with the examples and most definitions from my main.as
It lists commands, definitions, and examples. The subs came from my old main.as
Subs
Sub Init()
This is the really important sub for your script. It contains global settings(maximum maps, maximum players, etc.).
CODE
Sub Init()
'Set your Server name.
Call SetServerName("Nitrosa")
'Initialize the system tray icon, with the name you wish. Remember to set your server ‘name BEFORE initializing the Tray! You should no longer pass a name to the InitTray ‘Sub, it automatically picks up the Server Name from above.
Call InitTray()
'Set your Server port.
Call SetServerPort(7234)
'Set the maximum maps.
Call SetMaxMaps(50)
'Set the maximum players.
Call SetMaxPlayers(50)
'Set the start Map, X and Y values players will start.
Call SetDefaultPosition(1,10,10)
'Set the MOTD
Call SetMOTD("Welcome back young fighter!")
'Set the Auto Ban on all hacking attempts (True of False)
Call SetAutoBan(False)
End Sub
Sub Destroy()
This sub defines what happens to everything in your game, it is fired on server shutdown.
CODE
Sub Destroy()
'Destroy the system tray icon.
Call DestroyTray()
'Save all players online, before completely shutting down the server.
Call SaveAllPlayersOnline()
'Clear all maps.
Call ClearMaps()
'Clear all map items.
Call ClearMapItems()
'Clear all map NPCs.
Call ClearMapNPCs()
'Clear the NPC cache.
Call ClearNPCs()
'Clear Item cache.
Call ClearItems()
'Clear shop cache.
Call ClearShops()
End Sub
Sub OnReload(Player)
This is used for when the script is reloaded.
CODE
Sub OnReload(Player)
Call GlobalMessage(“The server’s script has been reloaded to decrease lag!”, 12)
End Sub
Sub JoinGame(Player)
This sub is used to state the events that happen when a player joins the game.
CODE
Sub JoinGame(Player)
'Send the MOTD.
Call SendMOTD(Player)
'Send the welcome message.
Call PlayerMessage(Player, "Welcome to " & GetServerName & "!", 9)
Call PlayerMessage(Player, "Type /help for help on commands. Use arrow keys to move, hold down shift to run, and use ctrl to attack.", 3)
'Send them a list of players online.
Call SendWhosOnline(Player)
'Tell everybody that player has joined.
If GetPlayerAccess(Player) = 0 Then
Call GlobalMessage(“A regular person, “ & GetPlayerName(Player) & " , has joined " & GetServerName & "!")
ElseIf GetPlayerAccess(Player) >=1 and <= 3 Then
Call GlobalMessage(“A mod, “ & GetPlayerName(Player) & ", has joined " & GetServerName & "!")
ElseIf GetPlayerAccess(Player) >= 4 Then
Call GlobalMessage(“A GOD, ” & GetPlayerName(Player) & ", has joined " & GetServerName & "!")
End If
End Sub
Sub JoinMap(Player)
This sub activates when a player joins a specific map. You can send messages and check for ID on certain maps.
CODE
Sub JoinMap(player)
Select Case GetPlayerMap(Player)
Case 1
If GetPlayerAccess(Player) >=1 Then
Call WarpPlayer(Player, 2, 1, 6)
ElseIf GetPlayerAccess(Player) = 0 Then
Call WarpPlayer(Player, 3, 1, 6)
End If
End Select
End Sub
Sub OnScriptedTile(Player)
This tells the server to do something if a player steps on a certain tile.
CODE
Sub OnScriptedTile(Player)
Select Case GetPlayerMap(Player)
Case 1
If GetPlayerX(Player) = 3 and GetPlayerY(Player) = 4 Then
Call PlayerMessage(Player, “ye best leave me tavern!”)
Call WarpPlayer(Player, 91, 2, 10)
End If
End Select
End Sub
Sub OnLevelUp(Player)
This sub determines what to do when a player gains a level. You can use it to give stat points, change sprites, set access, or anything else you want to happen.
CODE
Sub OnLevelUp(Player)
Dim I
Call SetPlayerLevel(Player, GetPlayerLevel(Player) + 1)
'Get the amount of skill points to add
I = Int(GetPlayerSpeed(Player) / 10)
If I < 1 Then I = 1
If I > 3 Then I = 3
Call SetPlayerPoints(Player, GetPlayerPoints(Player) + I)
Call SetPlayerExp(Player, 0)
'Send a global message to every single person to let them know!
Call GlobalMessage(GetPlayerName(Player) & " has gained a level!", 6)
Call PlayerMessage(Player, "You have gained a level! You now have " & GetPlayerPoints(Player) & " stat points to distribute.", 9)
End Sub
Sub LeaveMap(Player)
This sub takes place when a person exits a map. You could set it so that if they left with a certain sprite, they were warped back. The possibilities are endless.
CODE
Sub LeaveMap(Player)
Select Case GetPlayerMap(Player)
Case 5
If GetPlayerSprite(Player) = 127 Then
Call WarpPlayer(Player, 5, 1, 3)
Call PlayerMessage(Player, “you have been thrown back in jail”, 0)
End If
End Select
End Sub
Sub LeftGame(Player)
When a player leaves the game, this sub takes action. This is generaly used to tell the world that so-and-so left.
CODE
Sub LeftGame(Player)
'Tell everybody that player has left.
If GetPlayerAccess(Player) = 0 Then
Call GlobalMessage(GetPlayerName(Player) & " has left " & GetServerName & "!")
Else
Call GlobalMessage(GetPlayerName(Player) & ",a Mod, has left " & GetServerName & "!")
End If
End Sub
Sub OnTime(tTime)
This sub tells the time and can be scripted to set off an event every hour, day, minute, or week.
CODE
Sub OnTime(tTime)
Select Case tTime
Case 0 'second ** currently not supported **
Case 1 'minute
Case 2 'hour
Call AdminMessage("The current time is " & Time & ".", 15)
Call GlobalMessage("Remember to fight wisely.",15)
Case 3 'day
Call AdminMessage("The current date is " & Date & ".", 15)
Case 4 'week ** currently not supported **
Case 5 'month ** currently not supported **
Case 6 'year ** currently not supported **
End Select
End Sub
Message Commands
AdminMessage("text", color#)
This will send a message to all admins.
CODE
Call AdminMesage(“We now have a jail, if you see abusers, send them there.”, 4)
BroadcastMessage("text", color#)
This will send a message to everyone in your game.
CODE
Call BroadcastMessage(“Enjoy your stay in Candy land!”, 2)
GlobalMessage("text", color#)
This will send a message to everyone in your game.
CODE
Call GlobalMessage(“Visit our website”, 7)
MapMessage(map#, "text", color#)
This will send a message to everyone on a certain map.
CODE
Call MapMessage(2, “You will never escape jail! Mwahahahahaa!”, 5)
PlayerMessage(Player, "text", Color#)
This will send a message to a single person.
CODE
Call PlayerMessage(Player, “You have been warned!”, 12)
Get Commands
GetPlayerAccess(Player)
Retrieves a player’s access number. Access numbers are 0 to 9, anything above 0 is an admin(1 to 9).
CODE
If GetPlayerAccess(Player) >= 1 Then
Call PlayerMessage(Player, “You are and admin!”)
End If
GetPlayerClassID(Player)
Checks to see if a player’s class is something. Classes are ranked from 0 upwards.
CODE
If GetPlayerClassID(Player) = 0 Then
Call PlayerMessage(Player, “You are a warrior!”)
ElseIf GetPlayerClassID(Player) = 1 Then
Call PlayerMessage(Player, “You are a mage!”)
End If
GetPlayerClassName(Player)
Checks to see if a player’s class is so-and-so.
CODE
If GetPlayerClassName(Player) = “warrior” Then
Call PlayerMessage(Player, “You are a warrior!”)
ElseIf GetPlayerClassName(Player) = “mage” Then
Call PlayerMessage(Player, “You are a mage!”)
End If
GetPlayerDEF(Player)
Goes through and sees what someone’s DEF (Defense) is.
CODE
If GetPlayerDEF(Player) = 100 The
Call WarpPlayer(Player, 15, 2, 1)
Call PlayerMessage(Player, “You passed the Defense test!”, 7)
End If
GetPlayerDirection(Player)
Checks a player’s direction. N = 0,S = 1,E = 2,W = 3.
CODE
If GetPlayerDirection(Player) = 1 Then
Call PlayerMessage(Player, “You are facing SOUTH!”, 4)
End If
GetPlayerExperience(Player)
This is used to check a player’s EXP(Experience). It can be used in gambling scripts.
CODE
If GetPlayerExperience(Player) >= 1500 Then
Call WarpPlayer(Player, 34, 2, 9)
End If
GetPlayerGuild(Player)
Checks to see what a player’s current guild is.
CODE
If GetPlayerGuild(Player) = “Maniacs” Then
Call PlayerMessage(Player, “Your guild is insanely good.”, 7)
End If
GetPlayerGuildAccess(Player)
Checks and sees what a player’s access is within guild.
CODE
If GetPlayerGuildAccess(Player) = 5 Then
Call PlayerMessage(Player, “You are a high rank within your guild.)”, 8)
End If
GetPlayerIP(Player)
Checks to see what a player’s IP is. It can be used at login, incase they cause trouble.
CODE
Call AdminMessage( GetPlayerName & “’s IP is” & GetPlayerIP & “!”
GetPlayerLevel(Player)
Checks a player’s level. Can be used to set level encoded rooms.
CODE
If GetPlayerLevel(Player) >= 11and <= 20 Then
Call WarpPlayer(Player, 2, 3, 2)
ElseIf GetPlayerLevel(Player) >= 21 and <= 30 Then
Call WarpPlayer(Player, 3, 3, 2)
End If
GetPlayerLogin(Player)
Checks to see what a players LOGIN is. This is not their in-game name.
CODE
If GetPlayerLogin(Player) = “Archangel” Then
Call GlobalMessage(“The owner of “ & GetServerName & “ has logged on!”, 3)
End If
GetPlayerMana(Player)
Checks to see what a players mana is. Can be used for mage spell shops also.
CODE
If GetPlayerMana(Player) = 326 Then
Call WarpPlayer(Player, 92, 3, 1)
End If
GetPlayerMap(Player)
Check a players current map then executes. Mainly used in Map Cases.
CODE
Select Case GetPlayerMap(Player)
Case 1
If GetPlayerX(Player) = 3 and GetPlayerY(player) = 5 Then
Call PlayerMessage(Player, “ you are in Candy Land”, 3)
End If
End Select
GetPlayerName(Player)
Checks to see what a players in-game name is. It chooses their in-game one that they are logged in as.
CODE
If GetPlayerName(Player) = “Bob” then
Call PlayerMessage(Player, “Hullo Bob!”, 4)
End If
GetPlayerNextLevel(Player)
Checks to see what a player’s next level is.
CODE
If GetPlayerNextLevel(Player) = 11 Then
Call GlobalMessage(GetPlayerName & “ is level 10, and next level is 11!”, 7)
End If
GetPlayerPassword(Player)
Checks a player’s password, you could have a in-game person that will check if their password is not filled with cusses.
CODE
If GetPlayerPassword(Player) = “<word here>” Then
Call SetPlayerPassword(Player) “edited”
Call PlayerMessage(Player, “Your password has been changed to edited.”, 2)
End If
GetPlayerSpeed(Player)
Checks to see what a player’s speed is. This is used for stat points at level up.
CODE
If GetPlayerSpeed(Player) >= 20 and <= 29
Then SetPlayerPoints(Player, GetPlayerPoints(Player) + 2)
End If
GetPlayerSprite(Player)
Checks to see what a player’s sprite is. Used in popular Jail Script.
CODE
If GetPlayerSprite(Player) = 127 Then
Call WarpPlayer(Player, 5, 1, 2)
End If
GetPlayerSTR(Player)
Checks a player’s STR (Strength). Can be used for STR rooms.
CODE
If GetPlayerSTR(Player) = 142 Then
Call WarpPlayer(Player, 2, 3, 1)
Call PlayerMessage(Player, “You passed the Strength Test!”, 3)
End If
GetPlayerX(Player)
Checks a player’s X-Coordinate on the invisible map grid.
CODE
If GetPlayerX(Player) = 5 Then
Call PlayerMessage(Player, “You are in the 5th column.”, 4)
End If
GetPlayerY(Player)
Checks a player’s X-Coordinate on the invisible map grid.
CODE
If GetPlayerY(Player) = 5 Then
Call PlayerMessage(Player, “You are in the 5th row.”, 4)
End If
GetServerName
This checks the Server name. It is generally used in MOTD.
CODE
Call SetMOTD(“Welcome to “ & GetServerName & “!”, 8)
Give Commands
GivePlayerEXP(Player, EXP#)
This gives a player however much EXP that you want them to receive.
CODE
Sub OnScriptedTile
Select Case GetMapNumber
Case 1
If GetPlayerX(Player) = 5 and GetPlayerY(Player) = 5 Then
Call GivePlayerEXP(Player, 231)
End If
End Select
End Sub
GivePlayerExperience(Player, EXP#)
Gives a player a set amount of experience points.
CODE
Sub OnScriptedTile
Select Case GetMapNumber
Case 42
If GetPlayerX(Player) = 7 and GetPlayerY(Player) = 2 Then
Call GivePlayerExperience(Player, 1427)
End If
End Select
End Sub[code]
Set Commands
SetDefaultPosition(map#, X#, Y#)
Sets a players default position at startup. Used in sub Init.
[code]Call SetDefaultPosition(1, 1, 2)
SetPlayerAccess(Player, access#)
This sets a player’s access to the game. 0 is regular, 4 to 9 are owner.
CODE
If GetPlayerLevel(Player) = 999 and GetPlayerAccess(Player) = 0 Then
Call SetPlayerAccess(Player, 1)
End If
SetPlayerClassID(Player, class#)
This sets a players class by number. Classes go from 0 upwards.
CODE
If GetPlayerClassID(Player) = 3 Then
Call SetPlayerClassID(Player, 4)
Call PlayerMessage(Player, “You have advanced to a water mage.”, 5)
End If
SetPlayerEXP(Player, EXP#)
This sets a players EXP to a number. Can be used in Level and Gambling scripts.
CODE
Sub OnLevelUp
Call SetPlayerExp(Player, 0)
End Sub
SetPlayerGuild(Player, "guild name")
Use this to set someone’s guild to something, can be new guild if applies.
CODE
If GetPlayerX(player) = 5 and GetPlayerY(Player) = 5 Then
Call SetPlayerGuild(Player, “Dark Side”)
CallPlayerMessage(Player, “You have changed to the dark side!”, 9)
End If
SetPlayerGuildAccess(Player, guildaccess#)
Sets a player’s access within the guild they are in.
CODE
If GetPlayerGuildAccess(Player) >= 5 Then
Call SetPlayerGuildAccess(Player, 6)
End If
SetPlayerLevel(Player, level#)
Sets a players level. Mainly used in level up scripts.
CODE
Sub OnLevelUp(Player)
Call SetPlayerLevel(Player, GetPlayerLevel(Player) + 1)
End Sub
SetPlayerLogin(Player, login name)
Sets a player’s LOGIN name, no their in-game name.
CODE
If GetPlayerLogin(Player) = “Bob” Then
Call PlayerMessage(Player, “We have changed your login name to hello.”, 3)
Call SetPlayerLogin(Player, “hello”)
End If
SetPlayerMana(Player, mana#)
Sets a players mana to a number. Could e used in mana gambling scripts
CODE
If GetPlayerMana(Player) = 500 Then
Call SetPlayerMana(Player, 0)
End If
SetPlayerPassword(Player, login password)
This sets a player’s login password to something.
CODE
If GetPlayerAccess(Player) > 8 Then
Call SetplayerPassword(Player, “IamTheOneMod”)
End If
SetPleyerPoints(Player, points#)
This sets a players stat points. Mainly used in Level Ups.
CODE
Sub OnLevelUp
Dim I
I = Int(GetPlayerSpeed(Player) / 10)
If I < 1 Then I = 1
If I > 3 Then I = 3
Call SetPlayerPoints(Player, GetPlayerPoints(Player) + I)
End Sub
SetPlayerSprite(Player, sprite#)
Sets a players sprite to something. Commonly found in Boat and Jail scripts.
CODE
If GetPlayerMap(Player) = 5 Then
Call SetPlayerSprite(Player, 325)
End If
Misc. Commands
OpenBrowser(Player, "URL")
Opens a URL in the player’s browser (FireFox, Internet Explorer, Opera, Etc.).
CODE
If GetPlayerX(Player) = 5 and GetPlayerY(Player) = 4 Then
Call OpenBrowser(Player, “http://www.playerworlds.com”)
End If
PlaySound(Player, “file name”)
Plays a sound (music) from in the SFX folder. Don’t include extensions (.wav, .mp3, etc.)
CODE
If GetPlayerMap(Player) = 13 Then
Call PlaySound(Player, “Death Road”)
End If
WarpPlayer(Player, map#, X#, Y#)
This warps a player to an assigned place.
CODE
Select Case GetPlayerMap(Player)
Case 1
If GetPlayerX(Player) = 5 and GetPlayerY(Player) = 5 Then
Call WarpPlayer(Player, 6, 6, 6)
End If
Additional Commands
Date
Returns the date
CODE
Select Case tTime
Case 3 'day
Call AdminMessage("The current date is " & Date & ".", 15)
End Select
Time
Returns the time
CODE
Select Case tTime
Case 2
Call AdminMessage("The current time is " & Time & ".", 15)
End Select
Timer
Returns the seconds that have passed since midnight
CODE
Select Case tTime
Case 2
Call AdminMessage("The current time past midnight is " & Timer & ".", 15)
End Select
Now
Returns date and time
CODE
Select Case tTime
Case 2
Call AdminMessage("The current time is " & Time & ".", 15)
End Select
Rnd
Generates a random number. Formula for a random number within a range of numbers: Int((max# - min#) * Rnd + min)
CODE
Int((23 - 1) * Rnd + 1)
Color Commands
0 = Black
Used at end of message to make the message black.
CODE
Call PlayerMessage(Player, “This message is in black”, 0)
1 = Blue
Used at end of message to make the message blue.
CODE
Call PlayerMessage(Player, “This message is in blue”, 1)
2 = Green
Used at end of message to make the message green.
CODE
Call PlayerMessage(Player, “This message is in green”, 2)
3 = Cyan
Used at end of message to make the message cyan.
CODE
Call PlayerMessage(Player, “This message is in cyan”, 3)
4 = Red
Used at end of message to make the message red.
CODE
Call PlayerMessage(Player, “This message is in red”, 4)
5 = Magenta
Used at end of message to make the message magenta.
CODE
Call PlayerMessage(Player, “This message is in magenta”, 5)
6 = Brown
Used at end of message to make the message brown.
CODE
Call PlayerMessage(Player, “This message is in brown”, 6)
7 = Grey
Used at end of message to make the message grey.
CODE
Call PlayerMessage(Player, “This message is in grey”, 7)
8 = Dark Grey
Used at end of message to make the message dark grey.
CODE
Call PlayerMessage(Player, “This message is in dark grey”, 8)
9 = Bright Blue
Used at end of message to make the message bright blue.
CODE
Call PlayerMessage(Player, “This message is in bright blue”, 9)
10 = Bright Green
Used at end of message to make the message bright green.
CODE
Call PlayerMessage(Player, “This message is in bright green”, 10)
11 = Bright Cyan
Used at end of message to make the message bright cyan.
CODE
Call PlayerMessage(Player, “This message is in bright cyan”, 11)
12 = Bright Red
Used at end of message to make the message bright red.
CODE
Call PlayerMessage(Player, “This message is in bright red”, 12)
13 = Pink
Used at end of message to make the message pink.
CODE
Call PlayerMessage(Player, “This message is in pink”, 13)
14 = Yellow
Used at end of message to make the message yellow.
CODE
Call PlayerMessage(Player, “This message is in yellow”, 14)
15 = White
Used at end of message to make the message white.
CODE
Call PlayerMessage(Player, “This message is in white”, 15)
Not Commonly Used
ClearChar
ClearClass
ClearClasses
ClearItem
ClearItems
ClearMap
ClearMapItem
ClearMapItems
ClearMapNPC
ClearMapNPCs
ClearMaps
ClearNPC
ClearNPCs
ClearPlayer
ClearShop
ClearShops
ClearSpell
ClearSpells
DebugPrint
DestroyTray
InitTray
SaveAllPlayersOnline
SendMOTD
SendWhoIsOnline
ServerVersion
SetAutoBan
SetMaxMaps
SetMaxPlayers
SetMOTD
SetServerName
SetServerPort
SetStatus
Notes
• In general, Call is used before all commands unless used inside another VB statement like If--Then--Else or Select Case....
• The SetDefaultPosition command is very touchy, it cannot be in any part of an If--Then statement or in a Select Case statement and it must always be used with the Call command. For a player to access the default location it must be set before the JoinGame Sub is reached however it can be used inside the JoinGame Sub to alter the location of the next players default position. This is about as close as we can come to Class dependant starting positions with this current version of software
• On the Set player commands you can also use +X or -X but there is a trick to it
Call SetPlayerClassID(Player, GetPlayerClassID(Player)+X)
Call SetPlayerClassID(Player, GetPlayerClassID(Player)-X)
All you need to do is pick the command you want and insert it into here.
• All of the commands were originally posted the the scripting commands. What I have done is expand on these. I have given simple explanations along with examples. See top of post for the people I gave credit to in getting these scripts.