Waffle Posted March 10, 2009 Author Share Posted March 10, 2009 I am haing problems using baron's quest script…..i'm trying to make them but it's just so confusing....heres what i did:_________________________________________________________put the codes into main.inimade an NPC with type scipted/script 0added NPC to map_________________________________________________________Now what??? Link to comment Share on other sites More sharing options...
Marsh Posted March 10, 2009 Share Posted March 10, 2009 I have never used his quest script but i have used his skill scripts. Dont you need to make a folder and add some text files to it? Link to comment Share on other sites More sharing options...
Waffle Posted March 10, 2009 Author Share Posted March 10, 2009 yea…but the thing is i don't know what to add to it....:S Link to comment Share on other sites More sharing options...
Guest Posted March 10, 2009 Share Posted March 10, 2009 theres you problem u gotta add all the ini files Link to comment Share on other sites More sharing options...
Waffle Posted March 10, 2009 Author Share Posted March 10, 2009 so i add folders, (which is done) and then add the .ini files? Link to comment Share on other sites More sharing options...
Soljah Posted March 10, 2009 Share Posted March 10, 2009 Post your main.txt so we can take a look where you put your scripts. Link to comment Share on other sites More sharing options...
Waffle Posted March 10, 2009 Author Share Posted March 10, 2009 Here's my main.txt(without the line of the _'s)_________________________________________________________' 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)End Sub' Executes every second, based on the server time.Sub TimedEvent(Hours, Minutes, Seconds)If Minutes = 0 ThenIf Seconds = 0 ThenCall AdminMsg("Don't forget to vote for Eclipse.", YELLOW)End IfEnd IfEnd Sub' Executes when a player presses the CONTROL key.Sub OnAttack(Index, Damage)Dim TargetIf Int(Damage) > 0 ThenIf Int(GetPlayerTarget(Index)) > 0 ThenTarget = GetPlayerTarget(Index)Call DamagePlayer(Index, Target, Damage)ElseTarget = GetPlayerTargetNPC(Index)Call DamageNPC(Index, Target, Damage)End IfEnd IfEnd SubSub OnArrowHit(Index, Damage)Dim TargetIf Int(Damage) > 0 ThenIf Int(GetPlayerTarget(Index)) > 0 ThenTarget = GetPlayerTarget(Index)Call DamagePlayer(Index, Target, Damage)ElseTarget = GetPlayerTargetNPC(Index)Call DamageNPC(Index, Target, Damage)End IfEnd IfEnd SubSub PlayerHit(Index, NPCNum, Damage)If Damage > 0 thenCall 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 4End SelectEnd Sub' Executes when something on a custom menu is clicked.Sub MenuScripts(Index, Clicked_Index, Menu_Type)Dim MenuTitleDim FieldMessageMenuTitle = getplayermenuclicktitle(Index)FieldMessage = getplayermenuclickmsg(Index)Select Case Menu_TypeCase 1Call PlayerMsg(Index, "Clicked picture number " & Clicked_Index & " on the menu named " & MenuTitle, YELLOW)Case 2Call PlayerMsg(Index, "Clicked field number " & Clicked_Index & " on the menu named " & MenuTitle & ". The field text was " & FieldMessage, YELLOW)Case 3Call PlayerMsg(Index, "Clicked label number " & Clicked_Index & " on the menu named " & MenuTitle, YELLOW)End SelectEnd Sub' Executes when a player logs into the game.Sub JoinGame(Index)If GetPlayerAccess(Index) = 0 ThenCall GlobalMsg(GetPlayerName(Index) & " has joined " & GameName & "!", GREY)ElseCall GlobalMsg("Administrator " & GetPlayerName(Index) & " has joined " & GameName & "!", YELLOW)End IfCall PlayerMsg(Index, "Welcome to " & GameName & "!", WHITE)If LenB(MOTD) <> 0 ThenCall PlayerMsg(Index, "MOTD: " & MOTD, BRIGHTCYAN)End IfCall SendWhosOnline(Index)End Sub' Executes when a player logs out of the game.Sub LeftGame(Index)If GetPlayerAccess(Index) = 0 ThenCall GlobalMsg(GetPlayerName(Index) & " has left " & GameName & "!", GREY)ElseCall 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 TotalExpDo 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)LoopCall 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 PointTypeCase 0If GetPlayerSTR(Index) + 1 > 1000 ThenCall BattleMsg(Index, "You have maxed your strength!", BRIGHTRED, 0)Exit SubEnd IfCall SetPlayerSTR(Index, GetPlayerSTR(Index) + 1)Call BattleMsg(Index, "You have gained more strength!", WHITE, 0)Case 1If GetPlayerDEF(Index) + 1 > 1000 ThenCall BattleMsg(Index, "You have maxed your defence!", BRIGHTRED, 0)Exit SubEnd IfCall SetPlayerDEF(Index, GetPlayerDEF(Index) + 1)Call BattleMsg(Index, "You have gained more defense!", WHITE, 0)Case 2If GetPlayerMAGI(Index) + 1 > 1000 ThenCall BattleMsg(Index, "You have maxed your magic!", BRIGHTRED, 0)Exit SubEnd IfCall SetPlayerMAGI(Index, GetPlayerMAGI(Index) + 1)Call BattleMsg(Index, "You have gained more magic!", WHITE, 0)Case 3If GetPlayerSPEED(Index) + 1 > 1000 ThenCall BattleMsg(Index, "You have maxed your speed!", BRIGHTRED, 0)Exit SubEnd IfCall 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 doneCall SetPlayerPOINTS(Index, GetPlayerPOINTS(Index) - 1)End Sub' Executes when a player steps onto a scripted tile.Sub ScriptedTile(Index, Script)Select Case ScriptCase 0Call PlayerMsg(Index, "This scripted tile has no apparent use.", WHITE)Exit SubCase ElseCall PlayerMsg(Index, "No tile script found. Please contact an admin to solve this problem.", WHITE)Exit SubEnd SelectEnd Sub' Executes when a player clicks on an OnClick tile.Sub OnClick(Index, Script)Select Case ScriptCase 0Call PlayerMsg(Index, "This scripted tile has no apparent use.", WHITE)Exit SubCase ElseCall PlayerMsg(Index, "No tile script found. Please contact an admin to solve this problem.", WHITE)Exit SubEnd SelectEnd Sub' Out-dated: Executes when a player chooses yes or no on a player prompt.Sub PlayerPrompt(Index, Prompt, Value)If Prompt = 6 ThenSelect Case ValueCase 0Call GlobalMsg("Hi This is a Yes answer!", CYAN)Case 1Call GlobalMsg("This is case 1?", CYAN)End SelectElseSelect Case ValueCase 0Call GlobalMsg("Hi This is a No answer!", RED)Case 1Call GlobalMsg("This is no case 1?", RED)End SelectEnd 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)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 MapDim XDim YDim Data1Dim Data2Dim Data3Map = 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 ScriptCase 0Call PlayerMsg(Index, "This scripted spell has no apparent use.", WHITE)Exit SubCase ElseCall PlayerMsg(Index, "No spell script found. Please contact an admin to solve this problem.", WHITE)Exit SubEnd SelectEnd Sub' Executes whenever a scripted NPC does an action.Sub ScriptedNPC(Index, Script) Sub ScriptedNPC(index, Script) On Error Resume next Dim status Dim start_msg Dim questing_msg Dim end_msg Dim completed_msg Dim has_needed Dim need_count Dim give_count Dim slot Dim count Dim found Dim number Dim durability Dim value Dim experience Dim name Select Case Script Case 0 If getvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "QUEST", "Start_Msg") <> "" Then If getvar("scripts\charextras\" & GetPlayerName(index) & ".ini", "QUEST", GetPlayerMap(index) ) < 0 Then Call putvar("scripts\charextras\" & GetPlayerName(index) & ".ini", "QUEST", GetPlayerMap(index), 0 ) End If status = getvar("scripts\charextras\" & GetPlayerName(index) & ".ini", "QUEST", GetPlayerMap(index)) name=getvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "QUEST", "name") Select Case status Case 0 start_msg=getvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "QUEST", "Start_Msg") Call playermsg(index, name & " : " & start_msg, 15) Call putvar("scripts\charextras\" & GetPlayerName(index) & ".ini", "QUEST", GetPlayerMap(index), 1 ) Case 1 need_count=getvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "QUEST", "need_count") count=1 slot=1 has_needed=0 'CHECK FOR ITEMS Do While count<=Int(need_count) number=getvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "QUEST", count & "_need_num") value=getvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "QUEST", count & "_need_val") slot=1 Do While slot < 25 If Int(getplayerinvitemnum(index,slot))=Int(number) Then If Int(getplayerinvitemvalue(index, slot))>=Int(value) Then has_needed=has_needed+1 slot=25 End If End If slot=slot+1 Loop count=count+1 Loop 'ACTUALLY TAKE ITEMS If has_needed >= Int(need_count) Then has_needed=1 count=1 Do While count<=Int(need_count) number=getvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "QUEST", count & "_need_num") value=getvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "QUEST", count & "_need_val") slot=1 Do While slot < 25 If Int(getplayerinvitemnum(index,slot))=Int(number) Then If Int(getplayerinvitemvalue(index, slot))>=Int(value) Then Call quest_Take_Item(index, number, value) Call Battlemsg(index, name & " removed an item from your inventory.", 15, 0) slot=25 End If End If slot=slot+1 Loop count=count+1 Loop Else has_needed=0 End If 'CHECK IF ITEMS WERE TAKEN If has_needed = 0 Then questing_msg=getvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "QUEST", "Questing_Msg") Call playermsg(index, name & " : " & questing_msg, 15) Else end_msg=getvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "QUEST", "end_Msg") Call playermsg(index, name & " : " & end_msg, 15) Call putvar("scripts\charextras\" & GetPlayerName(index) & ".ini", "QUEST", GetPlayerMap(index), 2 ) Call scriptedNPC(index, 0) End If Case 2 'GIVE THE ITEMS AS REWARD, DONT UNLESS ENOUGH SPACE, IF GIVEN BECOME 3 'GET NUMBER OF FREE SLOTS slot=1 count=0 Do While slot < 25 If Int(getplayerinvitemnum(index,slot))=0 Then count=count+1 End If slot=slot+1 Loop 'CHECK ENOUGH SPACE FOR ITEMS BEING GIVEN give_count=getvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "QUEST", "give_count") If Int(count)>=Int(give_count) Then 'GIVE ITEMS count=1 Do While Int(count)<=Int(give_count) number=getvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "QUEST", count & "_num") value=getvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "QUEST", count & "_val") durability=getvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "QUEST", count & "_dur") slot=1 Do While slot < 25 If Int(getplayerinvitemnum(index,slot))=0 Then Call setplayerinvitemdur(index, Int(slot), Int(durability)) Call setplayerinvitemvalue(index, Int(slot), Int(value)) Call setplayerinvitemnum(index, Int(slot), Int(number)) Call sendinventoryupdate(index, slot) slot=25 Call Battlemsg(index, name & " gives you an item.", 15, 0) End If slot=slot+1 Loop count=count+1 Loop 'ADVANCE TO COMPLETELY FINISHED QUEST Call putvar("scripts\charextras\" & GetPlayerName(index) & ".ini", "QUEST", GetPlayerMap(index), 3) experience=getvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "QUEST", "experience") Call battlemsg(index, "Quest Completed! " & experience & " experience gained!", 14, 0) experience=experience+GetPlayerExp(index) Call SetPlayerExp(index, Int(experience)) Call sendplayerdata(index) 'MESSAGE FOR NO SPACE Else space_msg=getvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "QUEST", "space_msg") Call playermsg(index, name & " : " & space_msg, 15) End If 'MESSAGE FOR COMPLETED QUEST Case 3 completed_msg=getvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "QUEST", "completed_msg") Call playermsg(index, name & " : " & completed_msg, 15) End Select Else 'ADD REST OF VARIABLES NEEDED TO QUICK GENERATE INI'S AND CREDIT Call playermsg(index, "No quest found, generating generic quest sript under server\mapextras\" & GetPlayerMap(index) & ".ini", 14) Call playermsg(index, "This script was coded by Baron, http://barony.deviantart.com", 14) Call Playermsg(index, "This script is free to use on any server, but this credit must not be removed.", 14) Call putvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "QUEST", "Start_Msg", "Bring me item X!") Call putvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "QUEST", "Questing_Msg", "Have item X yet?") Call putvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "QUEST", "End_Msg", "Have item X yet?") Call putvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "QUEST", "Completed_Msg", "Thanks for item X!") Call putvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "QUEST", "Space_Msg", "Ill hold this item for you until you have more room.") Call putvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "QUEST", "Name", "The Quest Baron") Call putvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "QUEST", "Experience", 200) Call putvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "QUEST", "need_count", 2) Call putvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "QUEST", "1_need_num", 1) Call putvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "QUEST", "1_need_val", 4) Call putvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "QUEST", "2_need_num", 1) Call putvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "QUEST", "2_need_val", 2) Call putvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "QUEST", "give_count", 2) Call putvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "QUEST", "1_num", 1) Call putvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "QUEST", "1_val", 3) Call putvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "QUEST", "1_dur", 0) Call putvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "QUEST", "2_num", 1) Call putvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "QUEST", "2_val", 1) Call putvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "QUEST", "2_dur", 0) End If End Select End Sub' Executed whenever a slash command is sent to the server.Sub Commands(Index)Dim TextSayDim PlayerIDDim 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 SubCase "/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 SubCase "/calladmins"If GetPlayerAccess(Index) = 0 ThenCall AdminMsg(GetPlayerName(Index) & " needs your help!", BRIGHTGREEN)ElseCall PlayerMsg(Index, "You are an admin! You cannot call for help!", BRIGHTGREEN)End IfExit SubCase "/admin"If GetPlayerAccess(Index) > 0 ThenCall 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 IfExit SubCase "/warpmeto"If GetPlayerAccess(Index) > 0 ThenPlayerID = FindPlayer(TextSay(1))If PlayerID > 0 ThenCall PlayerWarp(Index, GetPlayerMap(PlayerID), GetPlayerX(PlayerID), GetPlayerY(PlayerID))Call PlayerMsg(Index, "You have been warped to " & GetPlayerName(PlayerID) & ".", BROWN)ElseCall PlayerMsg(Index, "Player is not online.", WHITE)End IfEnd IfExit SubCase "/warptome"If GetPlayerAccess(Index) > 0 ThenPlayerID = FindPlayer(TextSay(1))If PlayerID > 0 ThenCall PlayerWarp(PlayerID, GetPlayerMap(Index), GetPlayerX(Index), GetPlayerY(Index))Call PlayerMsg(PlayerID, "You have been warped to " & GetPlayerName(Index) & ".", BROWN)ElseCall PlayerMsg(Index, "Player is not online.", WHITE)End IfEnd IfExit SubCase "/warpto"If GetPlayerAccess(Index) > 0 ThenMapNum = TextSay(1)If MapNum > 0 And MapNum <= MAX_MAPS ThenCall PlayerWarp(Index, MapNum, GetPlayerX(Index), GetPlayerY(Index))Call PlayerMsg(Index, "You have been warped to map #" & MapNum & ".", BRIGHTBLUE)ElseCall PlayerMsg(Index, "Invalid map number.", BRIGHTRED)End IfEnd IfExit SubEnd SelectCall 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 SubIf GetPlayerWeaponSlot(Index) > 0 Then Call PlayerMapDropItem(Index, GetPlayerWeaponSlot(Index), 0)End IfIf GetPlayerArmorSlot(Index) > 0 Then Call PlayerMapDropItem(Index, GetPlayerArmorSlot(Index), 0)End IfIf GetPlayerHelmetSlot(Index) > 0 Then Call PlayerMapDropItem(Index, GetPlayerHelmetSlot(Index), 0)End IfIf GetPlayerShieldSlot(Index) > 0 Then Call PlayerMapDropItem(Index, GetPlayerShieldSlot(Index), 0)End IfIf GetPlayerLegsSlot(Index) > 0 Then Call PlayerMapDropItem(Index, GetPlayerLegsSlot(Index), 0)End IfIf GetPlayerRingSlot(Index) > 0 Then Call PlayerMapDropItem(Index, GetPlayerRingSlot(Index), 0)End IfIf 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 MapNumDim ClassIDDim XDim YIf GetMapBootMap(Index) > 0 ThenCall PlayerWarp(Index, GetMapBootMap(Index), GetMapBootX(Index), GetMapBootY(Index))ElseClassID = 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 ScriptCase 0Call PlayerMsg(Index, "This scripted item has no apparent use.", WHITE)Exit SubCase ElseCall PlayerMsg(Index, "No item script found. Please contact an admin to solve this problem.", WHITE)Exit SubEnd 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).' 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'********************************Sub quest_Take_Item(index, number, value)'********************************Dim slotDim initialDim finalDim takenslot=1 Do While Int(slot) < 25 If taken <> 1 Then If Getplayerinvitemnum(index,Int(slot)) = Int(number) Then If Int(getplayerinvitemvalue(index, Int(slot))) >= Int(value) Then initial = Int(getplayerinvitemvalue(index, Int(slot) ) ) final = Int(initial) - Int(value) If Int(final) <= 0 Then Call setplayerinvitemnum(index, Int(slot), Int(0) ) Call setplayerinvitemvalue(index, Int(slot), Int(0) ) Call setplayerinvitemdur(index, Int(slot), Int(0) ) Call SendInventoryUpdate(index, Int(slot)) taken=1 Else Call setplayerinvitemvalue(index, Int(slot), Int(final) ) Call SendInventoryUpdate(index, Int(slot) ) taken=1 End If End If End If End If slot = slot + 1 LoopEnd Sub_______________________________________________________Did i do something wrong? Link to comment Share on other sites More sharing options...
Soljah Posted March 10, 2009 Share Posted March 10, 2009 You have written:Sub ScriptedNPC(index, Script)twice after each other, remove one and it should work. Link to comment Share on other sites More sharing options...
Waffle Posted March 10, 2009 Author Share Posted March 10, 2009 wdh i did that twice now…..(i re-entered the script to see if it would work, that is after i re-set the scripts which im not going into...) Ill say if it works or not Link to comment Share on other sites More sharing options...
Soljah Posted March 10, 2009 Share Posted March 10, 2009 No probs, yeah a lot of people have trouble with that, I think your the 3rd person I've helped with this exact problem, writing it twice… Link to comment Share on other sites More sharing options...
Waffle Posted March 10, 2009 Author Share Posted March 10, 2009 still not….i re did the whole scripts thing and then added those codes again....and it still won't work....i also made the folders...am i supposed to make the map#.ini files? If so i tried that and still not..... Link to comment Share on other sites More sharing options...
Baron Posted March 10, 2009 Share Posted March 10, 2009 I wrote this so long ago i cant even remember where the .ini's come from.I think they create themselves if you talk to an NPC set to the script with no data in those .ini files Link to comment Share on other sites More sharing options...
Waffle Posted March 10, 2009 Author Share Posted March 10, 2009 huh? lolz im so confused… Link to comment Share on other sites More sharing options...
Guest Posted March 24, 2009 Share Posted March 24, 2009 ok herefound your prob you need to give the npc strangth and hp and defense and 1 of every stat then should work Link to comment Share on other sites More sharing options...
paulking Posted March 28, 2009 Share Posted March 28, 2009 lovin your quest-script baron… but when finishing a quest and experience-points is set.... lets say to 300 i dont get any exp! 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