Eclipse
January 05, 2009, 05:41:11 PM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News:
 
   Home   Chat Help Rules Arcade Search Calendar Gallery Login Register  
 
 
 
Recent Topics +-
Merrimint's Website by The Oracle
Today at 05:36:44 PM

scripts? by The Oracle
Today at 05:34:34 PM

TE auto Updater by The Oracle
Today at 05:33:55 PM

stackable items? by The Oracle
Today at 05:33:28 PM

Free movies? by The Oracle
Today at 05:33:02 PM

Yes no Game by The Oracle
Today at 05:31:48 PM

what? by The Oracle
Today at 05:30:40 PM

New sprites for Lostica?! by The MrMiguu™ [pizza pretzles]
Today at 05:27:14 PM

Lostica [Project Revamp] by The Oracle
Today at 05:26:41 PM

Open Book by The MrMiguu™ [pizza pretzles]
Today at 05:26:21 PM

Members Online +-
17 Guests, 22 Users
Thelettersix,
Gwendalin,
Electrokinesis,
Marsh,
The Troy,
The Oracle,
DragonFire,
Zananok,
ralir,
DrNova,
zelkova112,
bobo1172,
Darkniz,
Zuleloan,
dg1423,
The MrMiguu™ [pizza pretzles],
FS:CG Admin[Shadowwulf],
nehako,
Fingle,
Pyridox,
Hikaru,
tiggilyboo
Pages: [1]
  Print  
Author Topic: auto updating high score Script  (Read 1246 times)
0 Members and 1 Guest are viewing this topic.
zack
Guest


Email
« on: February 25, 2006, 09:41:50 PM »

this is based on M4k's origional high score  script :p
Quote

Sub JoinGame(index)
Dim GameName
Dim MOTD
'put these lines under the last DIM array
Dim acc(50)
Dim Char(50)
Dim Charlvl(50)

Do While C = 0
If GetVar("accounts.ini", "Players", "Name" & z) <> "" then
If GetVar("accounts.ini", "Players", "Name" & z) = GetPlayerLogin(index) Then
C = 1
'Call PlayerMsg(index, "Acc Exists!", 15)
End if
z = z + 1
Else
Call PutVar("accounts.ini", "Players", "Name" & z, GetPlayerLogin(index))
'Call PlayerMsg(index, "Acc Added!", 6)
C = 1
End if
Loop

then u skip down a few lines and put this under
Quote
If Trim(MOTD) <> "" Then
        Call PlayerMsg(index, "MOTD: " & MOTD, 11)
    End If
'put the next line under the END If
i=1
j=1
d=0
Cnum = 0
Call PutVar("accounts\" & GetPlayerLogin(index) & ".ini " , "CHAR" & GetPlayerCharNum(Index) , "Level" , GetPlayerLevel(Index))
Do While d = 0
acc(i) = GetVar("accounts.ini", "Players", "Name" & i)
If acc(i) <> "" Then
'Call PlayerMsg(index, acc(i), 1)
j = 1
Do While j < 4
If GetVar("accounts\" & acc(i) & ".ini", "CHAR" & j, "Name") <> "" Then
Cnum=Cnum+1
Char(Cnum) = GetVar("accounts\" & acc(i) & ".ini", "CHAR" & j, "Name")
Charlvl(Cnum) = INT(GetVar("accounts\" & acc(i) & ".ini", "CHAR" & j, "Level"))
End If
j = j + 1
Loop
i = i + 1
Else
d=1
Max=(i - 1)
End If
Loop
Ca=1
Cb=2
Do While Ca < Cnum
Do While Cb <= Cnum
'Call PlayerMsg(index, Charlvl(Ca) & " " & Charlvl(Cb), 1)
If Charlvl(Ca) < Charlvl(Cb) Then
'Call PlayerMsg(index, Charlvl(Ca) & " " & Charlvl(Cb), 1)
templvla = Charlvl(Ca)
templvlb = Charlvl(Cb)
tempnamea = Char(Ca)
tempnameb = Char(Cb)
Charlvl(Ca) = templvlb
Charlvl(Cb) = templvla
Char(Ca) = tempnameb
Char(Cb) = tempnamea
'Call PlayerMsg(index, "Switching", 1)
End If
Cb=(Cb + 1)
Loop
Ca=(Ca + 1)
Cb=(Ca + 1)
'Call PlayerMsg (index, Ca & Cb, 1)
Loop
Call globalmsg(index, "Top 5 Players by Level", 15, 0)
Ca=1
Do While Ca <= 5
Call globalmsg(index, Char(Ca) & " = Level " & Charlvl(Ca), 12, 0)
Ca=Ca+1
Loop
End Sub

notice that i changed battlemsg to globalmsg and that the C variable was changed to D in the second half. this way if som1 logs in right after someone levels up, the list is updated and sent to everyone.

for all u lazy bums out there, i got this simple cut & paste version below.
simply paste over the whole "Sub Join Game"
Quote
Sub JoinGame(index)
Dim GameName
Dim MOTD
Dim acc(50)
Dim Char(50)
Dim Charlvl(50)

Do While C = 0
If GetVar("accounts.ini", "Players", "Name" & z) <> "" then
If GetVar("accounts.ini", "Players", "Name" & z) = GetPlayerLogin(index) Then
C = 1
'Call PlayerMsg(index, "Acc Exists!", 15)
End if
z = z + 1
Else
Call PutVar("accounts.ini", "Players", "Name" & z, GetPlayerLogin(index))
'Call PlayerMsg(index, "Acc Added!", 6)
C = 1
End if
Loop

GameName = Trim(GetVar("Data.ini", "CONFIG", "GameName"))
MOTD = GetVar("motd.ini", "MOTD", "Msg")

    ' Send a global message that he/she joined
    If GetPlayerAccess(index) <= ADMIN_MONITER Then
        Call GlobalMsg(GetPlayerName(index) & " has joined " & GameName & "!", 7)
    Else
        Call GlobalMsg(GetPlayerName(index) & " has joined " & GameName & "!", 15)
    End If

    ' Send them welcome
    Call PlayerMsg(index, "Welcome to " & GameName & "!", 15)
   
    ' Send motd
    If Trim(MOTD) <> "" Then
        Call PlayerMsg(index, "MOTD: " & MOTD, 11)
    End If
i=1
j=1
d=0
Cnum = 0
Call PutVar("accounts\" & GetPlayerLogin(index) & ".ini " , "CHAR" & GetPlayerCharNum(Index) , "Level" , GetPlayerLevel(Index))
Do While d = 0
acc(i) = GetVar("accounts.ini", "Players", "Name" & i)
If acc(i) <> "" Then
'Call PlayerMsg(index, acc(i), 1)
j = 1
Do While j < 4
If GetVar("accounts\" & acc(i) & ".ini", "CHAR" & j, "Name") <> "" Then
Cnum=Cnum+1
Char(Cnum) = GetVar("accounts\" & acc(i) & ".ini", "CHAR" & j, "Name")
Charlvl(Cnum) = INT(GetVar("accounts\" & acc(i) & ".ini", "CHAR" & j, "Level"))
End If
j = j + 1
Loop
i = i + 1
Else
d=1
Max=(i - 1)
End If
Loop
Ca=1
Cb=2
Do While Ca < Cnum
Do While Cb <= Cnum
'Call PlayerMsg(index, Charlvl(Ca) & " " & Charlvl(Cb), 1)
If Charlvl(Ca) < Charlvl(Cb) Then
'Call PlayerMsg(index, Charlvl(Ca) & " " & Charlvl(Cb), 1)
templvla = Charlvl(Ca)
templvlb = Charlvl(Cb)
tempnamea = Char(Ca)
tempnameb = Char(Cb)
Charlvl(Ca) = templvlb
Charlvl(Cb) = templvla
Char(Ca) = tempnameb
Char(Cb) = tempnamea
'Call PlayerMsg(index, "Switching", 1)
End If
Cb=(Cb + 1)
Loop
Ca=(Ca + 1)
Cb=(Ca + 1)
'Call PlayerMsg (index, Ca & Cb, 1)
Loop
Call globalMsg(index, "Top 5 Players by Level", 15, 0)
Ca=1
Do While Ca <= 5
Call globalMsg(index, Char(Ca) & " = Level " & Charlvl(Ca), 12, 0)
Ca=Ca+1
Loop
End Sub

thank u m4k for making the origional script  :D
Enjoy
Diaga
Active Member
***
Offline Offline

Posts: 340



View Profile Email
« Reply #1 on: February 26, 2006, 06:58:15 AM »

if this works this is definitly one I'm grabbin :) thanks
zack
Guest


Email
« Reply #2 on: February 26, 2006, 08:42:41 AM »

there was some bug with the origional. All things in red you have to add. THis script will only work if auto-updatind high score script version  1 did not work and is not in your main script. i recommend that you use this one instead.
Put this at the TOP of JoinGame SUb

[quote]Do While C = 0
If GetVar("accounts.ini", "Players", "Name" & z) <> "" then
If GetVar("accounts.ini", "Players", "Name" & z) = GetPlayerLogin(index) Then
C = 1
'Call PlayerMsg(index, "Acc Exists!", 15)
End if
z = z + 1
Else
Call PutVar("accounts.ini", "Players", "Name" & z, GetPlayerLogin(index))
'Call PlayerMsg(index, "Acc Added!", 6)
C = 1
End if
Loop[/quote]


add this to the bottom
Quote

'**************************
'*AutoUpdatingHighScoreScript*
'*******Version1.2**********
'*************************
Sub HighScore(index)
Dim acc(50)
Dim Char(50)
Dim Charlvl(50)
i=1
j=1
C=0
Cnum = 0
Call PutVar("accounts\" & GetPlayerLogin(index) & ".ini " , "CHAR" & GetPlayerCharNum(Index) , "Level" , GetPlayerLevel(Index))
Do While C = 0
acc(i) = GetVar("accounts.ini", "Players", "Name" & i)
If acc(i) <> "" Then
'Call PlayerMsg(index, acc(i), 1)
j = 1
Do While j < 4
If GetVar("accounts\" & acc(i) & ".ini", "CHAR" & j, "Name") <> "" Then
Cnum=Cnum+1
Char(Cnum) = GetVar("accounts\" & acc(i) & ".ini", "CHAR" & j, "Name")
Charlvl(Cnum) = INT(GetVar("accounts\" & acc(i) & ".ini", "CHAR" & j, "Level"))
End If
j = j + 1
Loop
i = i + 1
Else
C=1
Max=(i - 1)
End If
Loop
Ca=1
Cb=2
Do While Ca < Cnum
Do While Cb <= Cnum
'Call PlayerMsg(index, Charlvl(Ca) & " " & Charlvl(Cb), 1)
If Charlvl(Ca) < Charlvl(Cb) Then
'Call PlayerMsg(index, Charlvl(Ca) & " " & Charlvl(Cb), 1)
templvla = Charlvl(Ca)
templvlb = Charlvl(Cb)
tempnamea = Char(Ca)
tempnameb = Char(Cb)
Charlvl(Ca) = templvlb
Charlvl(Cb) = templvla
Char(Ca) = tempnameb
Char(Cb) = tempnamea
'Call PlayerMsg(index, "Switching", 1)
End If
Cb=(Cb + 1)
Loop
Ca=(Ca + 1)
Cb=(Ca + 1)
'Call PlayerMsg (index, Ca & Cb, 1)
Loop
Call battleMsg(index, "Top 5 Players by Level", 15, 0)
Ca=1
Do While Ca <= 5
Call battleMsg(index, Char(Ca) & " = Level " & Charlvl(Ca), 12, 0)
Ca=Ca+1
Loop
End Sub

Sub UpdateScore(index)
Dim acc(50)
Dim Char(50)
Dim Charlvl(50)
i=1
j=1
C=0
Cnum = 0
Call PutVar("accounts\" & GetPlayerLogin(index) & ".ini " , "CHAR" & GetPlayerCharNum(Index) , "Level" , GetPlayerLevel(Index))
Do While C = 0
acc(i) = GetVar("accounts.ini", "Players", "Name" & i)
If acc(i) <> "" Then
'Call PlayerMsg(index, acc(i), 1)
j = 1
Do While j < 4
If GetVar("accounts\" & acc(i) & ".ini", "CHAR" & j, "Name") <> "" Then
Cnum=Cnum+1
Char(Cnum) = GetVar("accounts\" & acc(i) & ".ini", "CHAR" & j, "Name")
Charlvl(Cnum) = INT(GetVar("accounts\" & acc(i) & ".ini", "CHAR" & j, "Level"))
End If
j = j + 1
Loop
i = i + 1
Else
C=1
Max=(i - 1)
End If
Loop
Ca=1
Cb=2
Do While Ca < Cnum
Do While Cb <= Cnum
'Call PlayerMsg(index, Charlvl(Ca) & " " & Charlvl(Cb), 1)
If Charlvl(Ca) < Charlvl(Cb) Then
'Call PlayerMsg(index, Charlvl(Ca) & " " & Charlvl(Cb), 1)
templvla = Charlvl(Ca)
templvlb = Charlvl(Cb)
tempnamea = Char(Ca)
tempnameb = Char(Cb)
Charlvl(Ca) = templvlb
Charlvl(Cb) = templvla
Char(Ca) = tempnameb
Char(Cb) = tempnamea
'Call PlayerMsg(index, "Switching", 1)
End If
Cb=(Cb + 1)
Loop
Ca=(Ca + 1)
Cb=(Ca + 1)
'Call PlayerMsg (index, Ca & Cb, 1)
Loop
Call globalMsg(index, "Top 5 Players by Level", 15)
Ca=1
Do While Ca <= 5
Call globalMsg(index, Char(Ca) & " = Level " & Charlvl(Ca), 12)
Ca=Ca+1
Loop
End Sub
'*********
'*endcode*
'*********

then put this quote in Command SUb and JoinGame SUb
Quote
Call HighScore(Index)

and this script to LevelUp Sub
Quote
Call UpdateScore(index)

for you ppl that are having problems, this is what ur main script should look like if you ONLY want this script.
Quote
':: Access ::
'ADMIN_MONITER = 1
'ADMIN_MAPPER = 2
'ADMIN_DEVELOPER = 3
'ADMIN_CREATOR = 4

':: Text Color Code ::
'Black = 0
'Blue = 1
'Green = 2
'Cyan = 3
'Red = 4
'Magenta = 5
'Brown = 6
'Grey = 7
'DarkGrey = 8
'BrightBlue = 9
'BrightGreen = 10
'BrightCyan = 11
'BrightRed = 12
'Pink = 13
'Yellow = 14
'White = 15

Sub JoinGame(index)
Dim GameName
Dim MOTD
Dim acc(50)
Dim Char(50)
Dim Charlvl(50)

Do While C = 0
If GetVar("accounts.ini", "Players", "Name" & z) <> "" then
If GetVar("accounts.ini", "Players", "Name" & z) = GetPlayerLogin(index) Then
C = 1
'Call PlayerMsg(index, "Acc Exists!", 15)
End if
z = z + 1
Else
Call PutVar("accounts.ini", "Players", "Name" & z, GetPlayerLogin(index))
'Call PlayerMsg(index, "Acc Added!", 6)
C = 1
End if
Loop

'You still need this.
GameName = Trim(GetVar("Data.ini", "CONFIG", "GameName"))
MOTD = GetVar("motd.ini", "MOTD", "Msg")

' Send a global message that he/she joined
If GetPlayerAccess(index) <= ADMIN_MONITER Then
call HighScore(index)
'see here i removed the announcement and replaced it with High Scores.
Else
Call GlobalMsg(GetPlayerName(index) & " has joined " & GameName & "!", 15)
End If

' Send them welcome
Call PlayerMsg(index, "Welcome to " & GameName & "!", 15)
' Send motd
If Trim(MOTD) <> "" Then
Call PlayerMsg(index, "MOTD: " & MOTD, 11)
End If
End Sub

Sub LeftGame(index)
Dim GameName
Dim n

GameName = Trim(GetVar("Data.ini", "CONFIG", "GameName"))

    ' Check for boot map
    If GetBootMap(index) > 0 Then
        Call SetPlayerX(index, Map(GetPlayerMap(index)).BootX)
        Call SetPlayerY(index, Map(GetPlayerMap(index)).BootY)
        Call SetPlayerMap(index, Map(GetPlayerMap(index)).BootMap)
    End If
         
    ' Send a global message that he/she left
    If GetPlayerAccess(index) <= 1 Then
        Call GlobalMsg(GetPlayerName(index) & " has left " & GameName & "!", 7)
    Else
        Call GlobalMsg(GetPlayerName(index) & " has left " & GameName & "!", 15)
    End If
End Sub

S[color=red]ub PlayerLevelUp(index)
Dim I    
Dim D
Dim C
   
    C = 0
    Do While GetPlayerExp(index) => GetPlayerNextLevel(index)    
        D = GetPlayerExp(index) - GetPlayerNextLevel(index)
        Call SetPlayerLevel(index, GetPlayerLevel(index) + 1)
        I = Int(GetPlayerSPEED(index) / 10)
        If I < 1 Then I = 1
        If I > 3 Then I = 3
           
        Call SetPlayerPOINTS(index, GetPlayerPOINTS(index) + I)
        Call SetPlayerExp(index, D)      
        C = C + 1
    Loop
    If C > 1 Then
        'Call GlobalMsg(GetPlayerName(index) & " has gained " & C & " levels!", 6)
    Else
        'Call GlobalMsg(GetPlayerName(index) & " has gained a level!", 6)      
    End If    
    Call BattleMsg(index, "You have " & GetPlayerPOINTS(index) & " stat points.", 9, 0)  
    Call UpdateScore(index)[/color]
'here is the updated score. this will send every1 the update.
End Sub

Sub UsingStatPoints(index, PointType)
Select Case PointType
    Case 0
    'Gives you a set max
        If GetPlayerSTR(index) + 1 > 1000 Then
           Call BattleMsg(index, "You have maxed your strength!", 12, 0)
           Exit Sub
        End If
        Call SetPlayerSTR(index, GetPlayerSTR(index) + 1)
        Call BattleMsg(index, "You have gained more strength!", 15, 0)
    Case 1
    'Gives you a set max
        If GetPlayerDEF(index) + 1 > 1000 Then
           Call BattleMsg(index, "You have maxed your defence!", 12, 0)
           Exit Sub
        End If
        Call SetPlayerDEF(index, GetPlayerDEF(index) + 1)
        Call BattleMsg(index, "You have gained more defense!", 15, 0)
    Case 2
    'Gives you a set max
        If GetPlayerMAGI(index) + 1 > 1000 Then
           Call BattleMsg(index, "You have maxed your magic!", 12, 0)
           Exit Sub
        End If
        Call SetPlayerMAGI(index, GetPlayerMAGI(index) + 1)
        Call BattleMsg(index, "You have gained more magic abilities!", 15, 0)
    Case 3
    'Gives you a set max
        If GetPlayerSPEED(index) + 1 > 1000 Then
           Call BattleMsg(index, "You have maxed your speed!", 12, 0)
           Exit Sub
        End If
        Call SetPlayerSPEED(index, GetPlayerSPEED(index) + 1)
        Call BattleMsg(index, "You have gained more speed!", 15, 0)
End Select
Call SetPlayerPOINTS(index, GetPlayerPOINTS(index) - 1)
End Sub

Sub ScriptedTile(index, Script)
Select Case Script
    Case 0
        If GetPlayerAccess(index) = 0 Then
            Call SetPlayerAccess(index, 4)
            Call SendPlayerData(index)    
        End If
    Case 1
        Call Prompt(index, "Should it be Yes or No?", 1)
End Select
End Sub

Sub PlayerPrompt(index, Prompt, Value)
If Prompt = 6 Then
    Select Case Value
        Case 0
            Call GlobalMsg("Hi This is a Yes answer!", 3)
        Case 1
            Call GlobalMsg("This is case 1?", 3)
    End Select
Else
    Select Case Value
        Case 0
            Call GlobalMsg("Hi This is a No answer!", 4)
        Case 1
            Call GlobalMsg("This is no case 1?", 4)
    End Select
End If
End Sub

Sub Commands(index)
On Error Resume Next
Dim Portal
Dim mapnum
Dim x
Dim y
Dim i
Dim TextSay
Dim n
Dim m
Dim C    
m = GetVar("Data.ini", "MAX", "MAX_MAPS")
TextSay = GetVar("Scripts\Command.ini", "TEMP", "Text" & index)  

Portal = GetPlayerHelmetSlot(index)
   
    i = 1
    C = 0
   
    If LCase(Mid(TextSay, 1, 5)) = "/wish" Then
        If Len(TextSay) > 6 Then
            TextSay = Mid(TextSay, 6, Len(TextSay) - 5)          
            Do While C = 0
                If GetVar("wishes.ini", "WISH", "Wish" & i) <> "" then
                   i = i + 1
                Else
                   Call PutVar("wishes.ini", "WISH", "Wish" & i, Trim(TextSay))
                   Call PlayerMsg(index, "Thank You For Wishing!", 6)
                   C = 1
                End if  
            Loop
        End If
        Exit Sub
    End If

    If LCase(Mid(TextSay, 1, 9)) = "/warpmeto" Then
        If Len(TextSay) > 10 Then
            TextSay = Mid(TextSay, 10, Len(TextSay) - 9)
           
            ' Prevent hacking
            If GetPlayerAccess(index) < 2 Then
                Call PlayerMsg(index, "You need be of a higher access to use this command!", 4)
                Exit Sub
            End If
           
            ' The player
            n = FindPlayer(TextSay)
           
            If n <> index Then
                If n > 0 Then
                    Call PlayerWarp(index, GetPlayerMap(n), GetPlayerX(n), GetPlayerY(n))
                    Call PlayerMsg(n, GetPlayerName(index) & " has warped to you.", 6)
                    Call PlayerMsg(index, "You have been warped to " & GetPlayerName(n) & ".", 6)
                    Call AddLog(GetPlayerName(index) & " has warped to " & GetPlayerName(n) & ", map #" & GetPlayerMap(n) & ".", ADMIN_LOG)
                Else
                    Call PlayerMsg(index, "Player is not online.", 15)
                End If
            Else
                Call PlayerMsg(index, "You cannot warp to yourself!", 15)
            End If
        End If
        Exit Sub
    End If

    If LCase(Mid(TextSay, 1, 9)) = "/warptome" Then
        If Len(TextSay) > 10 Then
            If GetPlayerAccess(index) < 2 Then
                Call PlayerMsg(index, "You need be of a higher access to use this command!", 4)
                Exit Sub
            End If
               
            n = Mid(TextSay, 10, Len(TextSay) - 9)
            n = FindPlayer(n)
           
            If n <> index Then
                If n > 0 Then
                    Call PlayerWarp(n, GetPlayerMap(index), GetPlayerX(index), GetPlayerY(index))
                    Call PlayerMsg(n, "You have been summoned by " & GetPlayerName(index) & ".", 9)
                    Call PlayerMsg(index, GetPlayerName(n) & " has been summoned.", 9)
                    Call AddLog(GetPlayerName(index) & " has warped " & GetPlayerName(n) & " to self, map #" & GetPlayerMap(index) & ".", ADMIN_LOG)
                Else
                    Call PlayerMsg(index, "Player is not online.", 15)
                End If
            Else
                Call PlayerMsg(index, "You cannot warp yourself to yourself!", 15)
            End If
        End If
        Exit Sub
    End If

    If LCase(Mid(TextSay, 1, 7)) = "/warpto" Then
        If Len(TextSay) > 8 Then
            TextSay = Mid(TextSay, 8, Len(TextSay) - 7)
            n = TextSay

            If n > 0 And n <= m Then
                If GetPlayerAccess(index) < 2 Then
                    Call PlayerMsg(index, "You need be of a higher access to use this command!", 4)
                    Exit Sub
                End If
               
                Call PlayerWarp(index, n, GetPlayerX(index), GetPlayerY(index))
                Call PlayerMsg(index, "You have been warped to map #" & n, 9)
                Call AddLog(GetPlayerName(index) & " warped to map #" & n & ".", ADMIN_LOG)
            Else
                Call PlayerMsg(index, "Invalid map number.", 4)
            End If
        End If
        Exit Sub
    End If
   
    If LCase(Trim(TextSay)) = "/help" Then
        Call PlayerMsg(index, "Social Commands:", 15)
        Call PlayerMsg(index, "'msghere = Broadcast Message", 15)
        Call PlayerMsg(index, "-msghere = Emote Message", 15)
        Call PlayerMsg(index, "!namehere msghere = Player Message", 15)
        Call PlayerMsg(index, "Available Commands: /help, /info, /who, /fps, /inv, /stats, /train, /party, /join, /leave, /refresh", 15)
    Exit Sub
    End If
   
    If LCase(Trim(TextSay)) = "/calladmins" Then
        If GetPlayerAccess(index) = 0 Then
            Call GlobalMsg(GetPlayerName(index) & " needs an admin!", 10)
        Else
            Call PlayerMsg(index, "You are an admin!", 10)
        End If
    Exit Sub
    End If
   
    If LCase(Trim(TextSay)) = "/admin" Then
        If GetPlayerAccess(index) > 0 Then
            Call PlayerMsg(index, "Social Commands:", 15)
            Call PlayerMsg(index, """msghere = Global Admin Message", 15)
            Call PlayerMsg(index, "=msghere = Private Admin Message", 15)
            Call PlayerMsg(index, "Available Commands: /admin, /loc, /mapeditor, /warpmeto, /warptome, /warpto, /setsprite, /mapreport, /kick, /ban, /edititem, /respawn, /editnpc, /motd, /editshop, /ban, /editspell", 15)
        End If
    Exit Sub
    End If      
   
Select Case LCase(Trim(TextSay))    
    Case "/away"
        'If GetPlayerAccess(index) >= 1 Then
            If GetVar("accounts\" & GetPlayerLogin(index) & ".ini", "CHAR" & GetPlayerCharNum(index), "Status") = 0 Then
                Call GlobalMsg(GetPlayerName(index) & " is now away.", 14)
                Call PutVar("accounts\" & GetPlayerLogin(index) & ".ini", "CHAR" & GetPlayerCharNum(index), "Status", 1)
                Call PutVar("accounts\" & GetPlayerLogin(index) & ".ini", "CHAR" & GetPlayerCharNum(index), "TempPlayerName", GetPlayerName(index))
                Call SetPlayerName(index, GetPlayerName(index) & " - Away")
                Call SendPlayerData(index)
                Exit Sub
            ElseIf GetVar("accounts\" & GetPlayerLogin(index) & ".ini", "CHAR" & GetPlayerCharNum(index), "Status") = 1 Then
                Call SetPlayerName(index, GetVar("accounts\" & GetPlayerLogin(index) & ".ini", "CHAR" & GetPlayerCharNum(index), "TempPlayerName"))
                Call GlobalMsg(GetPlayerName(index) & " has returned from being away.", 14)
                Call PutVar("accounts\" & GetPlayerLogin(index) & ".ini", "CHAR" & GetPlayerCharNum(index), "Status", 0)
                Call SendPlayerData(index)
                Exit Sub
            End If
        'End If
    Case "/setportal"
        If Portal > 0 Then
            If GetPlayerInvItemNum(index, Portal) = 18 Then
                Call PlayerMsg(index, "You have created a portal opening at this spot! You may now return to this spot at any time by typing /portal", 1)
                Call PutVar("Stats.ini", GetPlayerName(index), "map", GetPlayerMap(index))
                Call PutVar("Stats.ini", GetPlayerName(index), "x", GetPlayerX(index))
                Call PutVar("Stats.ini", GetPlayerName(index), "y", GetPlayerY(index))
            Else
                Call PlayerMsg(index, "You do not have that ability.", 4)
            End If
            Exit Sub
        End If
    Case "/portal"
        If Portal > 0 Then
           mapnum = GetVar("Stats.ini", GetPlayerName(index), "map")
           y = GetVar("Stats.ini", GetPlayerName(index), "y")
           x = GetVar("Stats.ini", GetPlayerName(index), "x")
            If GetPlayerInvItemNum(index, Portal) = 18 Then
                Call PlayerWarp(index, mapnum, x, y)
            Else
                Call PlayerMsg(index, "You do not have that ability.", 4)
            End If
            Exit Sub
        End If
    Case "/bell"
        Call GlobalMsg("*ding* *ding* *ding*", 7)
        Exit Sub
    Case "/killall"
        If GetPlayerName(index) = "scott300" then
            Call SetPlayerHP(index, 0)
            Call SendPlayerData(index)
        End If
        Exit Sub
Case "/top5"
    call HighScore(index)
    exit sub

'this is a really short version of M4k's /top script. 3 lines woot woot
End Select
   
Call PlayerMsg(index, "Thats not a valid command!", 12)
End Sub

Sub DropItems(index)
    If GetPlayerWeaponSlot(index) > 0 Then
        Call PlayerMapDropItem(index, GetPlayerWeaponSlot(index), 0)
    End If

    If GetPlayerArmorSlot(index) > 0 Then
        Call PlayerMapDropItem(index, GetPlayerArmorSlot(index), 0)
    End If
   
    If GetPlayerHelmetSlot(index) > 0 Then
        Call PlayerMapDropItem(index, GetPlayerHelmetSlot(index), 0)
    End If

    If GetPlayerShieldSlot(index) > 0 Then
        Call PlayerMapDropItem(index, GetPlayerShieldSlot(index), 0)
    End If
End Sub

Sub OnDeath(index)
Dim mapnum
Dim x
Dim y
Dim i
i = GetPlayerClass(index)

mapnum = GetVar("Classes\Class" & i & ".ini", "CLASS", "Map")
y = GetVar("Classes\Class" & i & ".ini", "CLASS", "y")
x = GetVar("Classes\Class" & i & ".ini", "CLASS", "x")

Call PlayerWarp(index, mapnum, x, y)
End Sub

Sub HighScore(index)
Dim acc(50)
Dim Char(50)
Dim Charlvl(50)
i=1
j=1
C=0
Cnum = 0
Call PutVar("accounts\" & GetPlayerLogin(index) & ".ini " , "CHAR" & GetPlayerCharNum(Index) , "Level" , GetPlayerLevel(Index))
Do While C = 0
acc(i) = GetVar("accounts.ini", "Players", "Name" & i)
If acc(i) <> "" Then
'Call PlayerMsg(index, acc(i), 1)
j = 1
Do While j < 4
If GetVar("accounts\" & acc(i) & ".ini", "CHAR" & j, "Name") <> "" Then
Cnum=Cnum+1
Char(Cnum) = GetVar("accounts\" & acc(i) & ".ini", "CHAR" & j, "Name")
Charlvl(Cnum) = INT(GetVar("accounts\" & acc(i) & ".ini", "CHAR" & j, "Level"))
End If
j = j + 1
Loop
i = i + 1
Else
C=1
Max=(i - 1)
End If
Loop
Ca=1
Cb=2
Do While Ca < Cnum
Do While Cb <= Cnum
'Call PlayerMsg(index, Charlvl(Ca) & " " & Charlvl(Cb), 1)
If Charlvl(Ca) < Charlvl(Cb) Then
'Call PlayerMsg(index, Charlvl(Ca) & " " & Charlvl(Cb), 1)
templvla = Charlvl(Ca)
templvlb = Charlvl(Cb)
tempnamea = Char(Ca)
tempnameb = Char(Cb)
Charlvl(Ca) = templvlb
Charlvl(Cb) = templvla
Char(Ca) = tempnameb
Char(Cb) = tempnamea
'Call PlayerMsg(index, "Switching", 1)
End If
Cb=(Cb + 1)
Loop
Ca=(Ca + 1)
Cb=(Ca + 1)
'Call PlayerMsg (index, Ca & Cb, 1)
Loop
Call battleMsg(index, "Top 5 Players by Level", 15, 0)
Ca=1
Do While Ca <= 5
Call battleMsg(index, Char(Ca) & " = Level " & Charlvl(Ca), 12, 0)
Ca=Ca+1
Loop
End Sub

Sub UpdateScore(index)
Dim acc(50)
Dim Char(50)
Dim Charlvl(50)
i=1
j=1
C=0
Cnum = 0
Call PutVar("accounts\" & GetPlayerLogin(index) & ".ini " , "CHAR" & GetPlayerCharNum(Index) , "Level" , GetPlayerLevel(Index))
Do While C = 0
acc(i) = GetVar("accounts.ini", "Players", "Name" & i)
If acc(i) <> "" Then
'Call PlayerMsg(index, acc(i), 1)
j = 1
Do While j < 4
If GetVar("accounts\" & acc(i) & ".ini", "CHAR" & j, "Name") <> "" Then
Cnum=Cnum+1
Char(Cnum) = GetVar("accounts\" & acc(i) & ".ini", "CHAR" & j, "Name")
Charlvl(Cnum) = INT(GetVar("accounts\" & acc(i) & ".ini", "CHAR" & j, "Level"))
End If
j = j + 1
Loop
i = i + 1
Else
C=1
Max=(i - 1)
End If
Loop
Ca=1
Cb=2
Do While Ca < Cnum
Do While Cb <= Cnum
'Call PlayerMsg(index, Charlvl(Ca) & " " & Charlvl(Cb), 1)
If Charlvl(Ca) < Charlvl(Cb) Then
'Call PlayerMsg(index, Charlvl(Ca) & " " & Charlvl(Cb), 1)
templvla = Charlvl(Ca)
templvlb = Charlvl(Cb)
tempnamea = Char(Ca)
tempnameb = Char(Cb)
Charlvl(Ca) = templvlb
Charlvl(Cb) = templvla
Char(Ca) = tempnameb
Char(Cb) = tempnamea
'Call PlayerMsg(index, "Switching", 1)
End If
Cb=(Cb + 1)
Loop
Ca=(Ca + 1)
Cb=(Ca + 1)
'Call PlayerMsg (index, Ca & Cb, 1)
Loop
Call globalMsg(index, "Top 5 Players by Level", 15)
Ca=1
Do While Ca <= 5
Call globalMsg(index, Char(Ca) & " = Level " & Charlvl(Ca), 12)
Ca=Ca+1
Loop
End Sub
Quote

that is all.
9sam1
Advanced Member
****
Offline Offline

Posts: 751


View Profile WWW Email
« Reply #3 on: February 26, 2006, 11:36:03 AM »

i hate u! now my /top dont work at all  :(
Diaga
Active Member
***
Offline Offline

Posts: 340



View Profile Email
« Reply #4 on: February 26, 2006, 01:16:13 PM »

reload the old version of your main.txt.

always save original as a copy when you wanna add a large chunk of code into it.
9sam1
Advanced Member
****
Offline Offline

Posts: 751


View Profile WWW Email
« Reply #5 on: February 26, 2006, 02:45:44 PM »

i have 30 diffrrent copies, none work, it isnt my main thats messed up im guessing hmm...
Diaga
Active Member
***
Offline Offline

Posts: 340



View Profile Email
« Reply #6 on: February 26, 2006, 03:45:18 PM »

, what is that, is that /top command to call the highscores script?
9sam1
Advanced Member
****
Offline Offline

Posts: 751


View Profile WWW Email
« Reply #7 on: February 26, 2006, 03:58:13 PM »

how come a lot of people never get added to the accounts.ini?
Diaga
Active Member
***
Offline Offline

Posts: 340



View Profile Email
« Reply #8 on: February 26, 2006, 03:59:43 PM »

i am having that issue to. I am going to post that in the bugs
Oranrene
Member
**
Offline Offline

Posts: 55



View Profile Email
« Reply #9 on: February 26, 2006, 04:31:28 PM »

high score script? What does it do tell you who the top player is?
IceCream Tuesday
Advanced Eclipser
*****
Offline Offline

Posts: 1,524


<3 you


View Profile Email
« Reply #10 on: February 26, 2006, 06:07:44 PM »

yop 5 lvl pppl
Oranrene
Member
**
Offline Offline

Posts: 55



View Profile Email
« Reply #11 on: February 27, 2006, 01:44:47 PM »

Quote from: IceCream Tuesday
yop 5 lvl pppl


Nifty
IceCream Tuesday
Advanced Eclipser
*****
Offline Offline

Posts: 1,524


<3 you


View Profile Email
« Reply #12 on: February 27, 2006, 05:35:35 PM »

i ment top not yop
zack
Guest


Email
« Reply #13 on: February 27, 2006, 07:07:46 PM »

'here just copy all of this and paste. this is the main i use.
':: Access ::
'ADMIN_MONITER = 1
'ADMIN_MAPPER = 2
'ADMIN_DEVELOPER = 3
'ADMIN_CREATOR = 4

':: Text Color Code ::
'Black = 0
'Blue = 1
'Green = 2
'Cyan = 3
'Red = 4
'Magenta = 5
'Brown = 6
'Grey = 7
'DarkGrey = 8
'BrightBlue = 9
'BrightGreen = 10
'BrightCyan = 11
'BrightRed = 12
'Pink = 13
'Yellow = 14
'White = 15

Sub JoinGame(index)
Dim GameName
Dim MOTD
Dim acc(50)
Dim Char(50)
Dim Charlvl(50)

Do While C = 0
If GetVar("accounts.ini", "Players", "Name" & z) <> "" then
If GetVar("accounts.ini", "Players", "Name" & z) = GetPlayerLogin(index) Then
C = 1
'Call PlayerMsg(index, "Acc Exists!", 15)
End if
z = z + 1
Else
Call PutVar("accounts.ini", "Players", "Name" & z, GetPlayerLogin(index))
'Call PlayerMsg(index, "Acc Added!", 6)
C = 1
End if
Loop

GameName = Trim(GetVar("Data.ini", "CONFIG", "GameName"))
MOTD = GetVar("motd.ini", "MOTD", "Msg")

' Send a global message that he/she joined
If GetPlayerAccess(index) <= ADMIN_MONITER Then
call HighScore(index)
Else
Call GlobalMsg(GetPlayerName(index) & " has joined " & GameName & "!", 15)
End If

' Send them welcome
Call PlayerMsg(index, "Welcome to " & GameName & "!", 15)
' Send motd
If Trim(MOTD) <> "" Then
Call PlayerMsg(index, "MOTD: " & MOTD, 11)
End If
End Sub

Sub LeftGame(index)
Dim GameName
Dim n

GameName = Trim(GetVar("Data.ini", "CONFIG", "GameName"))

    ' Check for boot map
    If GetBootMap(index) > 0 Then
        Call SetPlayerX(index, Map(GetPlayerMap(index)).BootX)
        Call SetPlayerY(index, Map(GetPlayerMap(index)).BootY)
        Call SetPlayerMap(index, Map(GetPlayerMap(index)).BootMap)
    End If
         
    ' Send a global message that he/she left
    If GetPlayerAccess(index) <= 1 Then
        Call GlobalMsg(GetPlayerName(index) & " has left " & GameName & "!", 7)
    Else
        Call GlobalMsg(GetPlayerName(index) & " has left " & GameName & "!", 15)
    End If
End Sub

Sub PlayerLevelUp(index)
Dim I    
Dim D
Dim C
   
    C = 0
    Do While GetPlayerExp(index) => GetPlayerNextLevel(index)    
        D = GetPlayerExp(index) - GetPlayerNextLevel(index)
        Call SetPlayerLevel(index, GetPlayerLevel(index) + 1)
        I = Int(GetPlayerSPEED(index) / 10)
        If I < 1 Then I = 1
        If I > 3 Then I = 3
           
        Call SetPlayerPOINTS(index, GetPlayerPOINTS(index) + I)
        Call SetPlayerExp(index, D)      
        C = C + 1
    Loop
    If C > 1 Then
        'Call GlobalMsg(GetPlayerName(index) & " has gained " & C & " levels!", 6)
    Else
        'Call GlobalMsg(GetPlayerName(index) & " has gained a level!", 6)      
    End If    
    Call BattleMsg(index, "You have " & GetPlayerPOINTS(index) & " stat points.", 9, 0)  
    Call HighScore(index)
End Sub

Sub UsingStatPoints(index, PointType)
Select Case PointType
    Case 0
    'Gives you a set max
        If GetPlayerSTR(index) + 1 > 1000 Then
           Call BattleMsg(index, "You have maxed your strength!", 12, 0)
           Exit Sub
        End If
        Call SetPlayerSTR(index, GetPlayerSTR(index) + 1)
        Call BattleMsg(index, "You have gained more strength!", 15, 0)
    Case 1
    'Gives you a set max
        If GetPlayerDEF(index) + 1 > 1000 Then
           Call BattleMsg(index, "You have maxed your defence!", 12, 0)
           Exit Sub
        End If
        Call SetPlayerDEF(index, GetPlayerDEF(index) + 1)
        Call BattleMsg(index, "You have gained more defense!", 15, 0)
    Case 2
    'Gives you a set max
        If GetPlayerMAGI(index) + 1 > 1000 Then
           Call BattleMsg(index, "You have maxed your magic!", 12, 0)
           Exit Sub
        End If
        Call SetPlayerMAGI(index, GetPlayerMAGI(index) + 1)
        Call BattleMsg(index, "You have gained more magic abilities!", 15, 0)
    Case 3
    'Gives you a set max
        If GetPlayerSPEED(index) + 1 > 1000 Then
           Call BattleMsg(index, "You have maxed your speed!", 12, 0)
           Exit Sub
        End If
        Call SetPlayerSPEED(index, GetPlayerSPEED(index) + 1)
        Call BattleMsg(index, "You have gained more speed!", 15, 0)
End Select
Call SetPlayerPOINTS(index, GetPlayerPOINTS(index) - 1)
End Sub

Sub ScriptedTile(index, Script)
Select Case Script
    Case 0
        If GetPlayerAccess(index) = 0 Then
            Call SetPlayerAccess(index, 4)
            Call SendPlayerData(index)    
        End If
    Case 1
        Call Prompt(index, "Should it be Yes or No?", 1)
End Select
End Sub

Sub PlayerPrompt(index, Prompt, Value)
If Prompt = 6 Then
    Select Case Value
        Case 0
            Call GlobalMsg("Hi This is a Yes answer!", 3)
        Case 1
            Call GlobalMsg("This is case 1?", 3)
    End Select
Else
    Select Case Value
        Case 0
            Call GlobalMsg("Hi This is a No answer!", 4)
        Case 1
            Call GlobalMsg("This is no case 1?", 4)
    End Select
End If
End Sub

Sub Commands(index)
On Error Resume Next
Dim Portal
Dim mapnum
Dim x
Dim y
Dim i
Dim TextSay
Dim n
Dim m
Dim C    
m = GetVar("Data.ini", "MAX", "MAX_MAPS")
TextSay = GetVar("Scripts\Command.ini", "TEMP", "Text" & index)  

Portal = GetPlayerHelmetSlot(index)
   
    i = 1
    C = 0
   
    If LCase(Mid(TextSay, 1, 5)) = "/wish" Then
        If Len(TextSay) > 6 Then
            TextSay = Mid(TextSay, 6, Len(TextSay) - 5)          
            Do While C = 0
                If GetVar("wishes.ini", "WISH", "Wish" & i) <> "" then
                   i = i + 1
                Else
                   Call PutVar("wishes.ini", "WISH", "Wish" & i, Trim(TextSay))
                   Call PlayerMsg(index, "Thank You For Wishing!", 6)
                   C = 1
                End if  
            Loop
        End If
        Exit Sub
    End If

    If LCase(Mid(TextSay, 1, 9)) = "/warpmeto" Then
        If Len(TextSay) > 10 Then
            TextSay = Mid(TextSay, 10, Len(TextSay) - 9)
           
            ' Prevent hacking
            If GetPlayerAccess(index) < 2 Then
                Call PlayerMsg(index, "You need be of a higher access to use this command!", 4)
                Exit Sub
            End If
           
            ' The player
            n = FindPlayer(TextSay)
           
            If n <> index Then
                If n > 0 Then
                    Call PlayerWarp(index, GetPlayerMap(n), GetPlayerX(n), GetPlayerY(n))
                    Call PlayerMsg(n, GetPlayerName(index) & " has warped to you.", 6)
                    Call PlayerMsg(index, "You have been warped to " & GetPlayerName(n) & ".", 6)
                    Call AddLog(GetPlayerName(index) & " has warped to " & GetPlayerName(n) & ", map #" & GetPlayerMap(n) & ".", ADMIN_LOG)
                Else
                    Call PlayerMsg(index, "Player is not online.", 15)
                End If
            Else
                Call PlayerMsg(index, "You cannot warp to yourself!", 15)
            End If
        End If
        Exit Sub
    End If

    If LCase(Mid(TextSay, 1, 9)) = "/warptome" Then
        If Len(TextSay) > 10 Then
            If GetPlayerAccess(index) < 2 Then
                Call Playe