dtdsora Posted July 9, 2009 Author Share Posted July 9, 2009 can someone find whats wrong with it? Link to comment Share on other sites More sharing options...
Dastyruck Posted July 9, 2009 Share Posted July 9, 2009 LOTS of syntax errors, but, they are all gone, I didnt look through all of it, but your syntax is fixed…```' Eclipse Evolution 2.7 Scripting File' Global VariablesPublic GameNamePublic MAX_MAPSPublic MOTD' Color ConstantsPublic Const BLACK = 0Public Const BLUE = 1Public Const GREEN = 2Public Const CYAN = 3Public Const RED = 4Public Const MAGENTA = 5Public Const BROWN = 6Public Const GREY = 7Public Const DARKGREY = 8Public Const BRIGHTBLUE = 9Public Const BRIGHTGREEN = 10Public Const BRIGHTCYAN = 11Public Const BRIGHTRED = 12Public Const PINK = 13Public Const YELLOW = 14Public Const WHITE = 15' Admin ConstantsPublic Const ADMIN_MONITER = 1Public Const ADMIN_MAPPER = 2Public Const ADMIN_DEVELOPER = 3Public Const ADMIN_CREATOR = 4' Executes when the server initially loads.Sub OnServerLoad() GameName = GetVar("Data.ini", "CONFIG", "GameName") MAX_MAPS = GetVar("Data.ini", "MAX", "MAX_MAPS") MOTD = GetVar("MOTD.ini", "MOTD", "Msg")End Sub' Executes when the scripts are reloaded.Sub OnScriptReload() GameName = GetVar("Data.ini", "CONFIG", "GameName") MAX_MAPS = GetVar("Data.ini", "MAX", "MAX_MAPS") MOTD = GetVar("MOTD.ini", "MOTD", "Msg")End Sub' Executes the MOTD is changed by the client.Sub ChangeMOTD() MOTD = GetVar("MOTD.ini", "MOTD", "Msg")End Sub' Executes when a new character is created.Sub OnNewChar(Index, CharNum)  If GetPlayerClass(index) = 0 Then  Call SetPlayerSpell(index, 1, 1)  End If  If GetPlayerClass(index) = 1 Then  Call SetPlayerSpell(index, 1, 1)  End If  If GetPlayerClass(index) = 2 Then  Call SetPlayerSpell(index, 1, 1)  End If  If GetPlayerClass(index) = 3 Then  Call SetPlayerSpell(index, 1, 1)  Call SetPlayerSpell(index, 2, 2)  End If  If GetPlayerClass(index) = 4 Then  Call SetPlayerSpell(index, 1, 1)  End If  If GetPlayerClass(index) = 5 Then  Call SetPlayerSpell(index, 1, 1)  End If  If GetPlayerClass(index) = 6 Then  Call SetPlayerSpell(index, 1, 1)  End IfEnd Sub' Executes every second, based on the server time.Sub TimedEvent(Hours, Minutes, Seconds) If Minutes = 0 Then If Seconds = 0 Then Call AdminMsg("Visit www.fused-creations.com/Viri/Games for more of my games", YELLOW) End If End IfEnd Sub' Executes when a player presses the CONTROL key.Sub OnAttack(Index, Damage) Dim Target If Int(Damage) > 0 Then If Int(GetPlayerTarget(Index)) > 0 Then Target = GetPlayerTarget(Index) Call DamagePlayer(Index, Target, Damage) Else Target = GetPlayerTargetNPC(Index) Call DamageNPC(Index, Target, Damage) End If End IfEnd SubSub OnArrowHit(Index, Damage) Dim Target If Int(Damage) > 0 Then If Int(GetPlayerTarget(Index)) > 0 Then Target = GetPlayerTarget(Index) Call DamagePlayer(Index, Target, Damage) Else Target = GetPlayerTargetNPC(Index) Call DamageNPC(Index, Target, Damage) End If End IfEnd SubSub PlayerHit(Index, NPCNum, Damage) If Damage > 0 Then Call NPCAttack(NPCNum, Index, Damage) End IfEnd Sub' Executes when a hotkey is pressed client-side.Sub HotScript(Index, KeyID) Select Case KeyID ' Executes when any player presses the PageUp key. Case 1 ' Executes when any player presses the Delete key. Case 2 ' Executes when players press the End key. Case 3 ' Executes when players press the PageDown key. Case 4 End SelectEnd Sub' Executes when something on a custom menu is clicked.Sub MenuScripts(Index, Clicked_Index, Menu_Type) Dim MenuTitle Dim FieldMessage MenuTitle = getplayermenuclicktitle(Index) FieldMessage = getplayermenuclickmsg(Index) Select Case Menu_Type Case 3 If Clicked_Index = 21 Then        If GetVar("Scripts\Minigames.ini", "SLYMEHUNTER", "Game1Used") = 0 Then          Call PlayerWarp(Index, 99, 1, 1)          Call PutVar("Scripts\Minigames.ini", "SLYMEHUNTER", "Game1Used", 1)          Call PutVar("Scripts\charextras\" & GetPlayerName(Index) & ".ini", "MINIGAMES", "Game1", 1)          Call PutVar("Scripts\Minigames.ini", "SLYMEHUNTER", "Game1Timer", 60)          Call SetTimer("SlymeHunterTimer " & index, 1000)          Call PlayerMsg(Index, "You joined Slyme Hunter!", GREEN)          Call CustomMenuClose(Index)        ElseIf GetVar("Scripts\Minigames.ini", "SLYMEHUNTER", "Game1Used") = 1 Then          Call PlayerMsg(Index, "Somebody has already joined Slyme Hunter!", GREEN)        End If      End If End SelectEnd Sub' Executes when a player logs into the game.Sub JoinGame(Index) If GetPlayerAccess(Index) = 0 Then Call GlobalMsg(GetPlayerName(Index) & " has joined " & GameName & "!", GREY) Else Call GlobalMsg("Administrator " & GetPlayerName(Index) & " has joined " & GameName & "!", YELLOW) End If Call PlayerMsg(Index, "Welcome to " & GameName & "!", WHITE) If LenB(MOTD) <> 0 Then Call PlayerMsg(Index, "MOTD: " & MOTD, BRIGHTCYAN) End If Call SendWhosOnline(Index)End Sub' Executes when a player logs out of the game.Sub LeftGame(Index) If GetPlayerAccess(Index) = 0 Then Call GlobalMsg(GetPlayerName(Index) & " has left " & GameName & "!", GREY) Else Call GlobalMsg("Administrator " & GetPlayerName(Index) & " has left " & GameName & "!", YELLOW) End IfEnd Sub' Executes when a players experience exceeds the next level requirement.Sub PlayerLevelUp(Index) Dim TotalExp Do While GetPlayerExp(Index) >= GetPlayerNextLevel(Index) TotalExp = GetPlayerExp(Index) - GetPlayerNextLevel(Index) Call SetPlayerLevel(Index, GetPlayerLevel(Index) + 1) Call SetPlayerPOINTS(Index, GetPlayerPOINTS(Index) + 1) Call SetPlayerExp(Index, TotalExp) Loop Call BattleMsg(Index, "You have " & GetPlayerPOINTS(Index) & " stat points.", BRIGHTBLUE, 0)End Sub' Executes when a player uses one of the points given on an attribute to level up.Sub UsingStatPoints(Index, PointType) Select Case PointType Case 0 If GetPlayerSTR(Index) + 1 > 1000 Then Call BattleMsg(Index, "You have maxed your strength!", BRIGHTRED, 0) Exit Sub End If Call SetPlayerSTR(Index, GetPlayerSTR(Index) + 1) Call BattleMsg(Index, "You have gained more strength!", WHITE, 0) Case 1 If GetPlayerDEF(Index) + 1 > 1000 Then Call BattleMsg(Index, "You have maxed your defence!", BRIGHTRED, 0) Exit Sub End If Call SetPlayerDEF(Index, GetPlayerDEF(Index) + 1) Call BattleMsg(Index, "You have gained more defense!", WHITE, 0) Case 2 If GetPlayerMAGI(Index) + 1 > 1000 Then Call BattleMsg(Index, "You have maxed your magic!", BRIGHTRED, 0) Exit Sub End If Call SetPlayerMAGI(Index, GetPlayerMAGI(Index) + 1) Call BattleMsg(Index, "You have gained more magic!", WHITE, 0) Case 3 If GetPlayerSPEED(Index) + 1 > 1000 Then Call BattleMsg(Index, "You have maxed your speed!", BRIGHTRED, 0) Exit Sub End If Call SetPlayerSPEED(Index, GetPlayerSPEED(Index) + 1) Call BattleMsg(Index, "You have gained more speed!", WHITE, 0) End Select ' Remove one point after the sub in question is done Call SetPlayerPOINTS(Index, GetPlayerPOINTS(Index) - 1)End Sub' Executes when a player steps onto a scripted tile.Sub ScriptedTile(Index, Script) Select Case Script Case 0 Call PlayerMsg(Index, "This scripted tile has no apparent use.", WHITE) Exit Sub Case 1   If GetPlayerLvl(index) >= 5 Then     Call SetBlock(map, X, Y)       Call SetAttribute(map, X, Y)                Call PlayerMsg(index, "You cannot become a Heavy Blade Adept Rouge yet![lvl 5 + needed]", 15) Else  If GetPlayerLvl(index) <= 4 Then    Call PlayerMsg(index, "Welcome to the Heavy Blade Adept Rouge Transfromation area", 15)End IfEnd If Case 2   If GetPlayerLvl(index) >= 10 Then      Call SetBlock(map, X, Y)       Call SetAttribute(map, X, Y)                Call PlayerMsg(index, "You cannot become a Wavemaster Adept Rouge yet![lvl 10 + needed]", 15) Else   If GetPlayerLvl(index) <= 9 Then    Call PlayerMsg(index, "Welcome to the Wavemaster Adept Rouge Transfromation area", 15)End IfEnd If Case 3   If GetPlayerLvl(index) >= 15 Then      Call SetBlock(map, X, Y)       Call SetAttribute(map, X, Y)                Call PlayerMsg(index, "You cannot become a Pole Arm Adept Rouge yet![lvl 15 + needed]", 15) Else   If GetPlayerLvl(index) <= 14 Then    Call PlayerMsg(index, "Welcome to the Pole Arm Adept Rouge Transfromation area", 15)End IfEnd If End SelectEnd Sub' Executes when a player clicks on an OnClick tile.Sub OnClick(Index, Script) Select Case Script Case 0 Call PlayerMsg(Index, "This scripted tile has no apparent use.", WHITE) Exit Sub Case Else Call PlayerMsg(Index, "No tile script found. Please contact an admin to solve this problem.", WHITE) Exit Sub End SelectEnd Sub' Out-dated: Executes when a player chooses yes or no on a player prompt.Sub PlayerPrompt(Index, Prompt, Value) If Prompt = 6 Then Select Case Value Case 0 Call GlobalMsg("Hi This is a Yes answer!", CYAN) Case 1 Call GlobalMsg("This is case 1?", CYAN) End Select Else Select Case Value Case 0 Call GlobalMsg("Hi This is a No answer!", RED) Case 1 Call GlobalMsg("This is no case 1?", RED) End Select End IfEnd Sub' Out-dated: Executes query box responses.Sub QueryBox(Index, Prompt) Value = GetVar("responses.ini", "Responses", CStr(Index))End Sub' Executes every time a player drops an item.Sub OnItemDrop(Index, Map, ItemNum, ItemVal, ItemDur, ItemIndex, InvSlot)End Sub' Executes each time a player changes map.Sub OnMapLoad(Index, OldMap, NewMap)End Sub' Executes whenever an NPC is killed.' Note: Death occurs as normal externally to this script.Sub OnNPCDeath(Index, Map, NPCNum, NPCIndex)Dim NpcStuff NpcStuff = GetVar("NpcInfo.ini", NPCNum & "", "Reputation")Select Case NpcStuff Case "Good"   Call LowerRep(Index)   Call PlayerMsg(Index, "You killed a good NPC", RED) Case "Evil"   Call RaiseRep(Index)   Call PlayerMsg(Index, "You killed an evil NPC", RED) Case Else   ' nothing XDEnd Select Call BattleMsg(Index, "You killed a " & getnpcname(NPCNum) & ".", BRIGHTRED, 0)End Sub' Executes when a player is killed by another.' Note: Death occurs as normal externally to this script.Sub OnPVPDeath(Attacker, Victim) Call GlobalMsg(GetPlayerName(Victim) & " has been killed by " & GetPlayerName(Attacker), BRIGHTRED)End Sub' Executes when a player dies in an arena by another player.Sub OnArenaDeath(Attacker, Victim) Dim Map Dim X Dim Y Dim Data1 Dim Data2 Dim Data3 Map = GetPlayerMap(Victim) X = GetPlayerX(Victim) Y = GetPlayerY(Victim) Call GlobalMsg(GetPlayerName(Victim) & " has been defeated in the arena by " & GetPlayerName(Attacker), BRIGHTRED) Call SetPlayerHP(Victim, GetPlayerMaXHP(Victim)) Call SetPlayerMP(Victim, GetPlayerMaXMP(Victim)) Call sendHp(Victim) Call sendMP(Victim) Data1 = GetTileData1(Map, X, Y) Data2 = GetTileData2(Map, X, Y) Data3 = GetTileData3(Map, X, Y) Call PlayerWarp(Victim, Data1, Data2, Data3)End Sub' Executes whenever a player casts a scripted spell.Sub ScriptedSpell(Index, Script) Select Case Script Case 0 Call PlayerMsg(Index, "This scripted spell has no apparent use.", WHITE) Exit Sub Case Else Call PlayerMsg(Index, "No spell script found. Please contact an admin to solve this problem.", WHITE) Exit Sub End SelectEnd Sub' Executes whenever a scripted NPC does an action.Sub ScriptedNPC(Index, Script) Select Case Script Case 0    Call PlayerMsg(Index, "This scripted NPC has no apparent use.", WHITE)    Exit Sub    Case 1       MsgBox "I'm the quest tester. Please get me 50 (money).", 0, "Quest Start"       If CanTake(Index, 1, 50) = False Then        Call PlayerMsg(index, "You don't have the items required!", 12)       Else        Dim Exp        Call TakeItem(index, 1, 50)        Call GiveCurrency(index, 1, 500)         Call PlayerMsg(index, "Thanks; here's your reward!", 12)         Exp = GetPlayerExp(index)         Call SetPlayerExp(index, Exp + 50)         Call PlayerMsg(index, "You've gained 50 experience and got 500 (money)!", 12)         Call SendStats(Index)       End If      Exit Sub Case Else Call PlayerMsg(Index, "No NPC script found. Please contact an admin to solve this problem.", WHITE) Exit Sub End SelectEnd Sub' Executed whenever a slash command is sent to the server.Sub Commands(Index) Dim TextSay Dim PlayerID Dim MapNum ' Get the command and arguments from the cache. TextSay = Trim(GetVar("Scripts\Command.ini", "TEMP", "Text" & Index)) ' Split the command into an array. All arguments are seperated by spaces. TextSay = Split(TextSay) Select Case TextSay(0) Case "/testscripts" Call TestMain(Index) Exit Sub Case "/help" Call PlayerMsg(Index, "Social Commands:", WHITE) Call PlayerMsg(Index, "'msghere = Broadcast Message", WHITE) Call PlayerMsg(Index, "-msghere = Emote Message", WHITE) Call PlayerMsg(Index, "!namehere msghere = Player Message", WHITE) Call PlayerMsg(Index, "Available Commands: /help, /info, /who, /fps, /inv, /stats, /train, /party, /join, /leave, /refresh", WHITE) Exit Sub Case "/calladmins" If GetPlayerAccess(Index) = 0 Then Call AdminMsg(GetPlayerName(Index) & " needs your help!", BRIGHTGREEN) Else Call PlayerMsg(Index, "You are an admin! You cannot call for help!", BRIGHTGREEN) End If Exit Sub Case "/admin" If GetPlayerAccess(Index) > 0 Then Call PlayerMsg(Index, "Social Commands:", WHITE) Call PlayerMsg(Index, """msghere = Global Admin Message", WHITE) Call PlayerMsg(Index, "=msghere = Private Admin Message", WHITE) Call PlayerMsg(Index, "Available Commands: /admin, /loc, /mapeditor, /warpmeto, /warptome, /warpto, /setsprite, /mapreport, /kick, /ban, /edititem, /respawn, /editnpc, /motd, /editshop, /ban, /editspell", WHITE) End If Exit Sub Case "/warpmeto" If GetPlayerAccess(Index) > 0 Then PlayerID = FindPlayer(TextSay(1)) If PlayerID > 0 Then Call PlayerWarp(Index, GetPlayerMap(PlayerID), GetPlayerX(PlayerID), GetPlayerY(PlayerID)) Call PlayerMsg(Index, "You have been warped to " & GetPlayerName(PlayerID) & ".", BROWN) Else Call PlayerMsg(Index, "Player is not online.", WHITE) End If End If Exit Sub Case "/warptome" If GetPlayerAccess(Index) > 0 Then PlayerID = FindPlayer(TextSay(1)) If PlayerID > 0 Then Call PlayerWarp(PlayerID, GetPlayerMap(Index), GetPlayerX(Index), GetPlayerY(Index)) Call PlayerMsg(PlayerID, "You have been warped to " & GetPlayerName(Index) & ".", BROWN) Else Call PlayerMsg(Index, "Player is not online.", WHITE) End If End If Exit Sub Case "/warpto" If GetPlayerAccess(Index) > 0 Then MapNum = TextSay(1) If MapNum > 0 And MapNum <= MAX_MAPS Then Call PlayerWarp(Index, MapNum, GetPlayerX(Index), GetPlayerY(Index)) Call PlayerMsg(Index, "You have been warped to map #" & MapNum & ".", BRIGHTBLUE) Else Call PlayerMsg(Index, "Invalid map number.", BRIGHTRED) End If If GetPlayerAccess(Index) < 1 Then Call PlayerMsg(Index, "You are not an admin!", BRIGHTRED) End If End If Exit Sub Case "/reputation"   Call PlayerMsg(Index, "Your reputation is " & GetRep(Index), WHITE)    Exit Sub End Select Call PlayerMsg(Index, "That is not a valid command.", BRIGHTRED)End Sub' Executes on death, dropping all of the players items.Sub DropItems(Index) ' Remove this to enable. Exit Sub 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 If GetPlayerLegsSlot(Index) > 0 Then   Call PlayerMapDropItem(Index, GetPlayerLegsSlot(Index), 0) End If If GetPlayerRingSlot(Index) > 0 Then   Call PlayerMapDropItem(Index, GetPlayerRingSlot(Index), 0) End If If GetPlayerNecklaceSlot(Index) > 0 Then   Call PlayerMapDropItem(Index, GetPlayerNecklaceSlot(Index), 0) End IfEnd Sub' Executes whenever somebody dies outside of an arena.Sub OnDeath(Index) Dim MapNum Dim ClassID Dim X Dim Y If GetMapBootMap(Index) > 0 Then Call PlayerWarp(Index, GetMapBootMap(Index), GetMapBootX(Index), GetMapBootY(Index)) Else ClassID = GetPlayerClass(Index) MapNum = GetVar("Classes\Class" & ClassID & ".ini", "CLASS", "Map") X = GetVar("Classes\Class" & ClassID & ".ini", "CLASS", "x") Y = GetVar("Classes\Class" & ClassID & ".ini", "CLASS", "y") Call PlayerWarp(Index, MapNum, X, Y) End IfEnd Sub' Executes whenever a scripted item is used or double clicked.Sub ScriptedItem(Index, Script) Select Case Script Case 0 Call PlayerMsg(Index, "This scripted item has no apparent use.", WHITE) Exit Sub Case 1 Case 2 Case Else Call PlayerMsg(Index, "No item script found. Please contact an admin to solve this problem.", WHITE) Exit Sub End SelectEnd Sub' Map AttributesSub SetBlank(Map, X, Y) Call SetAttribute(Map, X, Y, 0, 0, 0, 0, "", "", "")End SubSub SetBlock(Map, X, Y) Call SetAttribute(Map, X, Y, 1, 0, 0, 0, "", "", "")End SubSub SetWarp(Map, X, Y, WarpMap, WarpX, WarpY) Call SetAttribute(Map, X, Y, 2, WarpMap, WarpX, WarpY, "", "", "")End SubSub SetItem(Map, X, Y, ItemID, ItemValue) Call SetAttribute(Map, X, Y, 3, ItemID, ItemValue, 0, "", "", "")End SubSub SetNPCAvoid(Map, X, Y) Call SetAttribute(Map, X, Y, 4, 0, 0, 0, "", "", "")End SubSub SetKeY(Map, X, Y, KeyID, KeyTake) Call SetAttribute(Map, X, Y, 5, KeyID, KeyTake, 0, "", "", "")End SubSub SetKeYOpen(Map, X, Y, KeyX, KeyY, Message) Call SetAttribute(Map, X, Y, 6, KeyX, KeyY, 0, Message, "", "")End SubSub SetHeal(Map, X, Y) Call SetAttribute(Map, X, Y, 7, 0, 0, 0, "", "", "")End SubSub SetKill(Map, X, Y) Call SetAttribute(Map, X, Y, 8, 0, 0, 0, "", "", "")End SubSub SetShop(Map, X, Y, ShopID) Call SetAttribute(Map, X, Y, 9, ShopID, 0, 0, "", "", "")End SubSub SetClassBlock(Map, X, Y, Allow1, Allow2, Allow3) Call SetAttribute(Map, X, Y, 10, Allow, Allow2, Allow3, "", "", "")End SubSub SetArena(Map, X, Y, MapID, NewX, NewY) Call SetAttribute(Map, X, Y, 11, MapID, NewX, NewY, "", "", "")End SubSub SetSound(Map, X, Y, FileName) Call SetAttribute(Map, X, Y, 12, 0, 0, 0, FileName, "", "")End SubSub SetSpriteChange(Map, X, Y, SpriteID, ItemID, Cost) Call SetAttribute(Map, X, Y, 13, SpriteID, ItemID, Cost, "", "", "")End SubSub SetSign(Map, X, Y, Line1, Line2, Line3) Call SetAttribute(Map, X, Y, 14, 0, 0, 0, Line1, Line2, Line3)End SubSub SetDoor(Map, X, Y) Call SetAttribute(Map, X, Y, 15, 0, 0, 0, "", "", "")End SubSub SetNotice(Map, X, Y, Title, Text, FileName) Call SetAttribute(Map, X, Y, 16, 0, 0, 0, Title, Text, FileName)End SubSub SetScripted(Map, X, Y, Script) Call SetAttribute(Map, X, Y, 18, Script, 0, 0, "", "", "")End SubSub SetBank(Map, X, Y) Call SetAttribute(Map, X, Y, 23, 0, 0, 0, "", "", "")End Sub' Tests scripts up to the location of Sub TestMain(Index).Function GetFreeSlots(Index)     Dim Slot   Dim Slots   Slot = 1   Slots = 0   Index = Int(Index)   Do While Slot < 25      If GetPlayerInvItemNum(Index, Slot) = 0 Then      Slots = Slots + 1     End If     Slot = Slot + 1   Loop   GetFreeSlots = Slots  End Function  Sub GiveItem(Index, Number, Durability)   Dim Slot   Slot = 1   Index = Int(Index)   Number = Int(Number)   Durability = Int(Durability)   Do While Slot < 25     If GetPlayerInvItemNum(Index, Slot) = 0 Then      Call SetPlayerInvItemNum(Index, Slot, Number)      Call SetPlayerInvItemDur(Index, Slot, Durability)      Call SendInventoryUpdate(Index, Slot)      Exit Sub     End If     Slot = Slot + 1   Loop  End Sub  Sub GiveCurrency(Index, Number, Amount)   Dim Slot   Dim CurrentAmount   Slot = 1   Index = Int(Index)   Number = Int(Number)   Amount = Int(Amount)   Do While Slot < 25     If GetPlayerInvItemNum(Index, Slot) = Number Then       CurrentAmount = GetPlayerInvItemValue(Index, Slot)       Call SetPlayerInvItemValue(Index, Slot, CurrentAmount + Amount)       Call SendInventoryUpdate(Index, Slot)       Exit Sub     End If     Slot = Slot + 1   Loop      Slot = 1   Do While Slot < 25     If GetPlayerInvItemNum(Index, Slot) = 0 Then       Call SetPlayerInvItemNum(Index, Slot, Number)       Call SetPlayerInvItemValue(Index, Slot, Amount)       Call SendInventoryUpdate(Index, Slot)       Exit Sub     End If     Slot = Slot + 1   Loop  End Sub  Function CanTake(Index, Number, Amount)   Dim Slot   Slot = 1   Index = Int(Index)   Number = Int(Number)   Amount = Int(Amount)   Do While Slot < 25     If GetPlayerInvItemNum(Index, Slot) = Number Then      If GetPlayerInvItemValue(Index, Slot) >= Amount Then        CanTake = True        Exit Function      End If     End If     Slot = Slot + 1   Loop   CanTake = False  End Function  Sub TakeItem(Index, Number, Amount)   Dim Slot   Dim CurrentAmount   Index = Int(Index)   Number = Int(Number)   Amount = Int(Amount)   Slot = 1   Do While Slot < 25     If GetPlayerInvItemNum(Index, Slot) = Number Then       If GetPlayerInvItemValue(Index, Slot) >= Amount Then        CurrentAmount = GetPlayerInvItemValue(Index, Slot)        If CurrentAmount <= Amount Then          Call SetPlayerInvItemNum(Index, Slot, 0)          Call SetPlayerInvItemValue(Index, Slot, 0)          Call SetPlayerInvItemDur(Index, Slot, 0)          Call SendInventoryUpdate(Index, Slot)        Else          Call SetPlayerInvItemValue(Index, Slot, CurrentAmount - Amount)          Call SendInventoryUpdate(Index, Slot)        End If        Exit Sub       End If     End If     Slot = Slot + 1   Loop  End Sub' Reputation System' Made by Admiral Refuge' Give credit ploxSub RaiseRep(Index) If GetVar("Reputation.ini", "" & GetPlayerName(Index) & "", "Reputation") = "" Then   Call PutVar("Reputation.ini", "" & GetPlayerName(Index) & "", "Reputation", 1)   Exit Sub End If Dim x x = Int(GetVar("Reputation.ini", "" & GetPlayerName(Index) & "", "Reputation")) Call PutVar("Reputation.ini", "" & GetPlayerName(Index) & "", "Reputation", x+1)End SubSub LowerRep(Index) If GetVar("Reputation.ini", "" & GetPlayerName(Index) & "", "Reputation") = "" Then   Call PutVar("Reputation.ini", "" & GetPlayerName(Index) & "", "Reputation", "-1")   Exit Sub End If Dim x x = Int(GetVar("Reputation.ini", "" & GetPlayerName(Index) & "", "Reputation"))   Call PutVar("Reputation.ini", "" & GetPlayerName(Index) & "", "Reputation", x-1)End SubFunction GetRep(Index) Dim Rep Dim ScaleStr(9) Dim ScaleNum(9) Rep = Int(GetVar("Reputation.ini", "" & GetPlayerName(Index) & "", "Reputation")) For i = 0 To 8   ScaleStr(i) = GetVar("Reputation.ini", "SCALE" & "", i & "") Next For i = 0 To 8   ScaleNum(i) = Int(GetVar("Reputation.ini", "SCALENUMBER", i & "")) Next For i = 0 To 3   If Rep <= ScaleNum(i) Then    GetRep = ScaleStr(i)    Exit Function   End If Next For i = 4 To 7   If Rep >= ScaleNum(i) And Rep < ScaleNum(i+1) Then    GetRep = ScaleStr(i)    Exit Function   End If Next If Rep > ScaleNum(8) Then   GetRep = ScaleStr(8)   Exit Function End IfEnd Function' Leave this sub at the bottom to test the entire script file.Sub TestMain(Index) Call PlayerMsg(Index, "Scripts are working properly.", BRIGHTGREEN)End Sub``` Link to comment Share on other sites More sharing options...
Admiral Refuge Posted July 9, 2009 Share Posted July 9, 2009 Line 89: Logical error.I noticed you have replaced the vote for eclipse thing with:"Visit www.fused-creations.com/Viri/Games for more of my games"But incase you didn't know, your players will never see that message (only the person with the "Owner" setting sees that msg, which means you are the only one to ever see this message).Line 165: potential warningGetVar is designed to return a string, and though it should convert it for you, it's good practice to read it as a string, so it would be better as:```ElseIf GetVar("Scripts\Minigames.ini", "SLYMEHUNTER", "Game1Used") = "1" Then```Line 263: Syntax error.GetPlayerLvl is not a function, it's suppose to be: GetPlayerLevelLine 265: Syntax and logical error.Syntax, because it's a sub, so you need to call it. e.g. "Call SetBlock(map, X, Y)"Also Syntax, because you never defined the variables "map", "X", or "Y".Logical, because this will put a "Block Attribute" in that position (if you got the map, x, and y, and passed it the sub), but the player will be already standing on it; so it is not going to block that player.If you want the player to be blocked, you'd have to install this http://www.touchofdeathforums.com/smf/index.php/topic,984.0.htmlThen you could just do this:If GetPlayerLvl(index) = > 5 Then Call BlockPlayer(Index)End IfThe errors above (wrong function, and those logical and sytnax errors) are the same for all of those cases in the Scripted Tiles sub.That's all I can find.Warning - while you were typing a new reply has been posted. You may wish to review your post.Still some syntax errors (e.g. passing undefined variables to subs, and using commands that don't exist like "GetPlayerLvl")EDIT: Have I missed any? Link to comment Share on other sites More sharing options...
dtdsora Posted July 9, 2009 Author Share Posted July 9, 2009 O_O THAT MANY ERRORS! wowall i did was copy from the site Link to comment Share on other sites More sharing options...
Admiral Refuge Posted July 9, 2009 Share Posted July 9, 2009 @dtdsora:> O_O THAT MANY ERRORS! wow> all i did was copy from the siteWhere did you get the GetPlayerLvl script? Link to comment Share on other sites More sharing options...
dtdsora Posted July 9, 2009 Author Share Posted July 9, 2009 the "Set level block" i think… Link to comment Share on other sites More sharing options...
dtdsora Posted July 9, 2009 Author Share Posted July 9, 2009 well, could u fix the errors and post it as an attachment Link to comment Share on other sites More sharing options...
Admiral Refuge Posted July 9, 2009 Share Posted July 9, 2009 Please do not double-post, but rather edit your topic.Anyways, I already told you how to fix virtually all of them; the big error is in the Scripted Tiles; just write some If-Then statements to check the player's level, then use the command Call BlockPlayer(Index) (I linked you to the sub you'll need to install), and all that playermsg. Link to comment Share on other sites More sharing options...
dtdsora Posted July 9, 2009 Author Share Posted July 9, 2009 i know, it just seems too hard for me that wayplz can u do that for me Link to comment Share on other sites More sharing options...
Admiral Refuge Posted July 10, 2009 Share Posted July 10, 2009 Hard for you in which way?The Block Player script?Or fixing the entire main.txt? Link to comment Share on other sites More sharing options...
dtdsora Posted July 10, 2009 Author Share Posted July 10, 2009 entire main.txt Link to comment Share on other sites More sharing options...
Admiral Refuge Posted July 10, 2009 Share Posted July 10, 2009 @dtdsora:> entire main.txtIt may be better to start with a fresh main; that way whenever you add a new script, you can carefully test it out fully, before adding the next one; this way, when the main dies, you'll know it's because of the most recent script, and you can correct the problem.EDIT:Besides, I even explain it to the point of "replace THIS with THIS"; please tell me what exactly is too hard the way I mention. Link to comment Share on other sites More sharing options...
dtdsora Posted July 10, 2009 Author Share Posted July 10, 2009 but i dont what to have to restart my ENTIRE script Link to comment Share on other sites More sharing options...
Admiral Refuge Posted July 10, 2009 Share Posted July 10, 2009 @dtdsora:> but i dont what to have to restart my ENTIRE scriptAs I said, I even explain it to the point of "replace THIS with THIS"; please tell me what exactly is too hard the way I mention.Besides, your main is pretty much compiled of already-existing (and some rather outdated and no good) scripts; surely you've kept a record of witch scripts you've installed (since you'll need to give those people credit anyways); you could simply reinstall them if you don't want to attempt to repair the errors. Link to comment Share on other sites More sharing options...
dtdsora Posted July 10, 2009 Author Share Posted July 10, 2009 actually, no, i havent Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now