Jump to content

Search the Community

Showing results for tags 'quest'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • RuneLocus
    • News & Announcements
    • Information Booth
    • Website Support
    • Introductions
    • Chat
    • Forum Games
  • RuneScape Development
    • RSPS General
    • RuneScape Private Server (RS2)
    • RuneScape Private Server (503+)
    • RuneScape Private Server (EoC 742+)
  • Other
    • Digital Art
    • Gaming
    • Webdevelopment
    • Computers
  • Marketplace
    • RuneScape Market
    • RSPS Market
    • Others Market
    • Freelance Middleman Services
  • Super Secret Club's Topics

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Found 87 results

  1. Okay so im trying to get my dialogue to display only if the player is at the correct stage in the quest or has done the task for the quest E.I [code] case 20: if (Player.BlackDemon == 1); if (Player.Doricsquest == 6); sendNpcChat4( "You haven't completed my task", "Please do so before claiming your reward","remember you have to kill 10 black demons", "and 10 dagganoths", 284, "Doric"); break; [/code] But at the moment if completely skips over the start of the quest and shows this line which i dont want it to show unless they have already started the quest and haven't done the required task. [code] case 24:{ if (Player.Doricsquest == 0) sendNpcChat4( "Hello Traveller", "may i ask you do to a small favor for me?", "Can you slay 10 Black Demons and 10 Dagganoths please?", "I'll make it worth the trouble.", 284, "Doric"); c.nextChat = 21; break;}[/code] Is someone able to help me with this? I'm far from the best at coding but i have never written or attempted to implement a quest into my server before. Heres the rest of the code for dialogue code [code] case 20: if (Player.BlackDemon == 1); if (Player.Doricsquest == 6); sendNpcChat4( "You haven't completed my task", "Please do so before claiming your reward","remember you have to kill 10 black demons", "and 10 dagganoths", 284, "Doric"); break; case 24:{ if (Player.Doricsquest == 0) sendNpcChat4( "Hello Traveller", "may i ask you do to a small favor for me?", "Can you slay 10 Black Demons and 10 Dagganoths please?", "I'll make it worth the trouble.", 284, "Doric"); c.nextChat = 21; break;} case 21: sendPlayerChat2( "A reward you say?", "I definitely cannot turn down an offer like that, ill do it."); c.nextChat = 22; break; case 22: Player.Doricsquest = 6; sendNpcChat4( "Ok great", "If you have any troubles please report back to me", "don't forget that Demons are week to magic", "and Dagganoths are also weak to magic", 284, "doric"); break; case 23: if (Player.Doricsquest == 6); if (Player.BlackDemon == 10 ); sendNpcChat4( "Have you completed my task?", "whats this you have?", "wow you must be a fierce warrior", "im a man of my word heres the reward", 284, "Doric"); break; } }[/code]
  2. falconpunch

    Quest Issue

    Alright, so I tried to add a quest / quest system and it has no errors, but when it comes to checking progress on the quest, I get a nullpointer. Code I added TestQuest class [CODE] package server.model.quests; import net.utility.Misc; import org.luzox.game.players.Client; public class TestQuest { private Client c; public void questInformation() { for(int i = 8144; i < 8195; i++) { c.getPA().sendFrame126("", i); } c.getPA().sendFrame126("@[email protected]", 8144); c.getPA().sendFrame126("", 8145); if(c.TestQuest == 0) { c.getPA().sendFrame126("test", 8147); c.getPA().sendFrame126("test", 8148); } c.getPA().showInterface(8134); } } [/CODE] clicking buttons it's like [CODE] case #####: c.getTQ().questInformation(); break; [/CODE] tq short for testquest errrr and in client I did [CODE] public TestQuest testquest = new TestQuest(); public int TestQuest = 0; public TestQuest getTQ() { return testquest; } [/CODE] I don't know where I went wrong.
  3. Hi there, I had a question about How to replace the regular Quest tab of a 718 nowadays with the original Quest tab. Its about this interface [IMG]https://scontent-a-ams.xx.fbcdn.net/hphotos-xpa1/t1.0-9/10403537_488186004659577_4609392091685780753_n.jpg[/IMG] i know that it is displayed in interfaceManager, I can just completely remove it. Or change all the text, But this is not what i want to do. I want interface 190 Displayed wich is the quest interface, And i want Quests to be displayed in it. Does any 1 knows how to get this done? or atleast explain it? thanks.
  4. [SPOILER=code][CODE]package server.model.players.quests; import server.Server; import server.model.players.Client; /** * [MENTION=52317]auth[/MENTION]or ComplexityRSPS The Restless Ghost */ public class TheRestlessGhost { public static final int FATHER_AERECK = 456; public static final int HELP_BUTTON = 28174; public static final int FRAME_ID = 7342; private static final int FINISHED_STAGE = 20; public static final int FATHER_URHNEY = 458; private static final int GHOST_SPEAK_AMULET = 552; public static final int RESTLESS_GHOST = 457; public static final int WARLOCK = 459; public static final int RESTLESS_GHOST_SKULL = 553; public static final int RESTLESS_GHOST_COFFIN =2145; public static void itemOnObject(Client player, int object, int objectX, int objectY, int item) { switch(object) { case RESTLESS_GHOST_COFFIN: if(item == RESTLESS_GHOST_SKULL && player.restlessGhostStage == 4) { theRestlessGhostFinish(player); } break; } } public static void firstClickObject(Client player, int object, int objectX, int objectY) { // TODO Auto-generated method stub switch (object) { case 2148: if (objectX == 3103 && objectY == 9576) { player.getPA().teleTabTeleport(3104, 3162, 0, "teleTab"); } break; case 2145: if (player.restlessGhostStage == FINISHED_STAGE) return; player.sendMessage("You search the coffin and find a human corpse!"); Server.npcHandler.spawnNpc(player, RESTLESS_GHOST, 3249, 3194, 0, 0, 300, 30, 70, 90, false, false); break; case 2147: if (objectX == 3104 && objectY == 3162) { player.getPA().teleTabTeleport(3104, 9576, 0, "teleTab"); player.sendMessage("You go down the stairs"); } break; case 350: if (objectX == 3120 && objectY == 9564 && player.restlessGhostStage == 3) { Server.npcHandler.spawnNpc(player, WARLOCK, 3119, 9566, 0, 0, 20, 3, 3, 8, true, false); player.getItems().addItem(RESTLESS_GHOST_SKULL, 1); player.restlessGhostStage = 4; } break; } } public static void walkingPacket(Client player) { if (player.restlessGhostChoice1) player.restlessGhostChoice1 = false; if (player.restlessGhostChoice2) player.restlessGhostChoice2 = false; if (player.restlessGhostChoice3) player.restlessGhostChoice3 = false; if (player.restlessGhostChoice4) player.restlessGhostChoice4 = false; if (player.restlessGhostChoice5) player.restlessGhostChoice5 = false; } public static void firstClickNpc(Client player, int npc) { switch (npc) { case RESTLESS_GHOST: if (player.restlessGhostStage == 3 && player.playerEquipment[player.playerAmulet] == GHOST_SPEAK_AMULET) { player.getDH().sendNpcChat1("Please go find my skull.", RESTLESS_GHOST, "Restless Ghost"); player.nextChat = 0; } if (player.restlessGhostStage == 2 && player.playerEquipment[player.playerAmulet] == GHOST_SPEAK_AMULET) { player.getDH().sendDialogues(2028, RESTLESS_GHOST); } else { player.getDH().sendNpcChat1("GAHHH!", RESTLESS_GHOST, "Restless Ghost"); player.nextChat = 0; } break; case FATHER_AERECK: if (player.restlessGhostStage == Quest.NOT_STARTED_STAGE) player.getDH().sendDialogues(2000, FATHER_AERECK); if (player.restlessGhostStage == FINISHED_STAGE) { player.getDH().sendNpcChat1( "Welcome to the church of holy saradomin.", FATHER_AERECK, "Father Aereck"); player.nextChat = 0; } break; case FATHER_URHNEY: if (player.restlessGhostStage == Quest.NOT_STARTED_STAGE) { player.getDH().sendNpcChat1("Go away im meditating.", FATHER_URHNEY, "Father Urhney"); player.nextChat = 0; } if (player.restlessGhostStage == Quest.STARTED_STAGE) player.getDH().sendDialogues(2016, FATHER_URHNEY); if (player.restlessGhostStage == 2) player.getDH().sendDialogues(2026, FATHER_URHNEY); } } public static void actionButton(Client player, int button) { switch (button) { case HELP_BUTTON: showInformation(player); break; case 9157: if (player.restlessGhostChoice1) { player.restlessGhostChoice1 = false; player.getDH().sendDialogues(2003, FATHER_AERECK); } if (player.restlessGhostChoice2) { player.restlessGhostChoice2 = false; player.getDH().sendDialogues(2007, FATHER_AERECK); } if (player.restlessGhostChoice3) { player.restlessGhostChoice3 = false; player.getDH().sendDialogues(2018, FATHER_URHNEY); } if (player.restlessGhostChoice4) { player.restlessGhostChoice4 = false; player.getDH().sendDialogues(2021, FATHER_URHNEY); } if (player.restlessGhostChoice5) { player.restlessGhostChoice5 = false; player.getDH().sendDialogues(2033, RESTLESS_GHOST); } break; case 9158: if (player.restlessGhostChoice1) { player.restlessGhostChoice1 = false; player.getDH().sendDialogues(2002, FATHER_AERECK); } if (player.restlessGhostChoice2) { player.restlessGhostChoice2 = false; player.getDH().sendDialogues(2006, FATHER_AERECK); } if (player.restlessGhostChoice3) { player.restlessGhostChoice3 = false; player.getDH().sendNpcChat1("Go away im meditating.", FATHER_URHNEY, "Father Urhney"); player.nextChat = 0; } if (player.restlessGhostChoice4) { player.restlessGhostChoice4 = false; player.getDH().sendNpcChat1("It's none of your business.", FATHER_URHNEY, "Father Urhney"); player.nextChat = 0; } if (player.restlessGhostChoice5) { player.restlessGhostChoice5 = false; player.getDH().sendDialogues(2033, RESTLESS_GHOST); } break; } } public static void dialogues(Client player, int dialogue, int npc) { switch (dialogue) { case 2000: player.getDH().sendNpcChat1( "Welcome to the church of holy saradomin.", FATHER_AERECK, "Father Aereck"); player.nextChat = 2001; break; case 2001: player.getDH().sendOption2("I'm looking for a quest!", "Who is Saradomin?"); player.restlessGhostChoice1 = true; break; case 2002: player.getDH().sendNpcChat1("The mighty one who created Us.", FATHER_AERECK, "Father Aereck"); player.nextChat = 0; break; case 2003: player.getDH().sendPlayerChat1("I'm looking for a quest!"); player.nextChat = 2004; break; case 2004: player.getDH().sendNpcChat1( "Thats lucky, I need somone to do a quest for me.", FATHER_AERECK, "Father Aereck"); player.nextChat = 2005; break; case 2005: player.getDH().sendOption2("Okay, let me help then.", "Sorry, I don't have time right now."); player.restlessGhostChoice2 = true; break; case 2006: player.getDH().sendPlayerChat1( "Sorry, I don't have time right now."); player.nextChat = 0; break; case 2007: player.getDH().sendPlayerChat1("Okay, let me help then."); player.nextChat = 2008; break; case 2008: player.getDH().sendNpcChat2( "Thank you. The problem is, there is a ghost in the", "church graveyard. I would like you to get rid of it", FATHER_AERECK, "Father Aereck"); player.nextChat = 2009; break; case 2009: player.getDH().sendNpcChat2( "If you need any help, my friend Father Urhney is an ", "expert on ghosts", FATHER_AERECK, "Father Aereck"); player.nextChat = 2010; break; case 2010: player.getDH() .sendNpcChat3( "I believe he is currently living as a hermit in Lumbridge ", "swamp. He has a little shack in the south-west of the", "swamps.", FATHER_AERECK, "Father Aereck"); player.nextChat = 2011; break; case 2011: player.getDH().sendNpcChat3( "Exit the graveyard through the south gate to reach the ", "swamp. I'm sure if you told him that i sent you he'd", "be willing to help.", FATHER_AERECK, "Father Aereck"); player.nextChat = 2012; break; case 2012: player.getDH().sendNpcChat2( "My name is Father Aereck by the way. Pleased to ", "meet you.", FATHER_AERECK, "Father Aereck"); player.nextChat = 2013; break; case 2013: player.getDH().sendPlayerChat1("Likewise."); player.nextChat = 2014; break; case 2014: player.getDH().sendNpcChat2( "Take care travelling through the swamps, I have heard", "they can be quite dangerous.", FATHER_AERECK, "Father Aereck"); player.nextChat = 2015; break; case 2015: player.getDH().sendPlayerChat1("I will, thanks."); player.restlessGhostStage = Quest.STARTED_STAGE; player.nextChat = 0; break; case 2016: player.getDH().sendNpcChat1("Go away! I'm meditating!", FATHER_URHNEY, "Father Urhney"); player.nextChat = 2017; break; case 2017: player.getDH().sendOption2("Father Aereck sent me here.", "I came to your reposses."); player.restlessGhostChoice3 = true; break; case 2018: player.getDH().sendPlayerChat1("Father Aereck sent me here."); player.nextChat = 2019; break; case 2019: player.getDH().sendNpcChat2( "I suppose I'd better talk to you then. What problems", "Has he got himself into this time?", FATHER_URHNEY, "Father Urhney"); player.nextChat = 2020; break; case 2020: player.getDH().sendOption2( "He's got a ghost haunting his graveyard.", "You mean he gets himself into lots of problems?"); player.restlessGhostChoice4 = true; break; case 2021: player.getDH().sendPlayerChat1( "He's got a ghost haunting his graveyard."); player.nextChat = 2022; break; case 2022: player.getDH().sendNpcChat1("Oh, the silly fool.", FATHER_URHNEY, "Father Urhney"); player.nextChat = 2023; break; case 2023: player.getDH().sendNpcChat2( "I leave town for just five months, and ALREADY he", "can't manage.", FATHER_URHNEY, "Father Urhney"); player.nextChat = 2024; break; case 2024: player.getDH() .sendNpcChat3( "Well, I can't go back and exorciste it. I vowed not to", "leave this place. Until i had done a full of two years of", "prayer and meditation.", FATHER_URHNEY, "Father Urhney"); player.nextChat = 2025; break; case 2025: player.getDH().sendNpcChat1( "Tell you what I can do though; take this amulet.", FATHER_URHNEY, "Father Urhney"); player.getItems().addItem(GHOST_SPEAK_AMULET, 1); player.restlessGhostStage = 2; player.nextChat = 2026; break; case 2026: player.getDH().sendNpcChat3( "So called ghost amulet, because when you wear it you", " can speak to ghosts. A lot of ghosts are doomed to be", "ghosts because they have left something uncompleted.", FATHER_URHNEY, "Father Urhney"); player.nextChat = 2027; break; case 2027: player.getDH().sendPlayerChat1("thanks I will give it a try."); player.nextChat = 0; break; case 2028: player.getDH().sendPlayerChat1("Hello ghost, how are you?"); player.nextChat = 2029; break; case 2029: player.getDH().sendNpcChat1("Not very good, actually.", RESTLESS_GHOST, "Restless Ghost"); player.nextChat = 2030; break; case 2030: player.getDH().sendPlayerChat1("What is the problem then?"); player.nextChat = 2031; break; case 2031: player.getDH().sendNpcChat1( "DID I JUST UNDERSTAND WHAT YOU SAID???.", RESTLESS_GHOST, "Restless Ghost"); player.nextChat = 2032; break; case 2032: player.getDH().sendOption2("Wow this amulet works.", "Yep, now tell me what the problem is"); player.restlessGhostChoice5 = true; break; case 2033: player.getDH().sendNpcChat3( "Oh! it's your amulet that's doing it! I did wonder. I", "Don't suppose you can help me? I don't like being a ", "ghost", RESTLESS_GHOST, "Restless Ghost"); player.nextChat = 2034; break; case 2034: player.getDH().sendPlayerChat1( "Yes, ok. Do you know WHY you're a ghost?"); player.nextChat = 2035; break; case 2035: player.getDH().sendNpcChat2( "Nope. I just know I can't do much of anything like", "this", RESTLESS_GHOST, "Restless Ghost"); player.nextChat = 2036; break; case 2036: player.getDH().sendPlayerChat2( "I've been told a certain stask may need to be completed", "so you can rest in peace"); player.nextChat = 2037; break; case 2037: player.getDH().sendNpcChat3( "I should think it is probable bacause a warlock has come", "along and stolen my skull. If you look inside my coffin ", "there will be a corpse with no head on it", RESTLESS_GHOST, "Restless Ghost"); player.nextChat = 2038; break; case 2038: player.getDH().sendPlayerChat1( "Do you know where this warlock might be now?"); player.nextChat = 2039; break; case 2039: player.getDH() .sendNpcChat1( "I think it was one of the warlocks who lives in the big tower by the sea.", RESTLESS_GHOST, "Restless Ghost"); player.nextChat = 2040; break; case 2040: player.getDH().sendPlayerChat1( "I will try to bring the skull back to you."); player.restlessGhostStage = 3; player.nextChat = 0; break; } } public static void refresQuestTab(Client player) { if (player.restlessGhostStage == Quest.NOT_STARTED_STAGE) { player.getPA().sendFrame126( [MENTION=231]red[/MENTION]@The Restless Ghost", 7342); } if (player.restlessGhostStage >= Quest.STARTED_STAGE && player.restlessGhostStage < FINISHED_STAGE) { player.getPA().sendFrame126("@[email protected] Restless Ghost", 7342); } if (player.restlessGhostStage == FINISHED_STAGE) { player.getPA().sendFrame126("@[email protected] Restless Ghost", FRAME_ID); } } public static void theRestlessGhostFinish(Client c) { c.restlessGhostStage = FINISHED_STAGE; c.getPA().addSkillXP(500000, 5); c.getPA().showInterface(297); c.getPA().showInterface(12140); c.getPA().sendFrame126("You have completed: The Restless Ghost", 12144); c.getPA().sendFrame126("500,000 Prayer Experience", 12150); c.getPA().sendFrame126("Ghost Speak amulet", 12151); c.getPA().sendFrame126("", 12152); c.getPA().sendFrame126("", 12153); c.getPA().sendFrame126("", 12154); c.getPA().sendFrame126("", 12155); // c.getPA().sendFrame126("@[email protected]'s Assistant", 7332); } public static void showInformation(Client c) { for (int i = 8144; i < 8195; i++) { c.getPA().sendFrame126("", i); } c.getPA().sendFrame126( [MENTION=231]red[/MENTION]@The Restless Ghost", 8144); c.getPA().sendFrame126("", 8145); if (c.restlessGhostStage == 0) { c.getPA().sendFrame126( [MENTION=231]red[/MENTION]@The Restless Ghost", 8144); c.getPA() .sendFrame126( [MENTION=112005]Blu[/MENTION]@I can start this quest by speaking [email protected]@Father Aereck [MENTION=112005]Blu[/MENTION]@in the", 8147); c.getPA() .sendFrame126( [MENTION=231]red[/MENTION]@church [MENTION=112005]Blu[/MENTION]@next to [MENTION=231]red[/MENTION]@Lumbridge Castle.", 8148); c.getPA().sendFrame126("", 8149); c.getPA() .sendFrame126( [MENTION=112005]Blu[/MENTION]@I must be unafraid of a [MENTION=231]red[/MENTION]@Level 13 Skeleton.", 8150); } else if (c.restlessGhostStage == 1) { c.getPA().sendFrame126( [MENTION=231]red[/MENTION]@The Restless Ghost", 8144); c.getPA().sendFrame126( [MENTION=112005]Blu[/MENTION]@I have talked [email protected]@ [MENTION=231]red[/MENTION]@Father [email protected]@", 8147); c.getPA() .sendFrame126( [MENTION=112005]Blu[/MENTION]@He sent me to see Father Urhney [email protected]@ [MENTION=231]red[/MENTION]@Lumbridge Sawmp.", 8148); c.getPA().sendFrame126("", 8149); c.getPA().sendFrame126("", 8150); } else if (c.restlessGhostStage == 2) { c.getPA().sendFrame126( [MENTION=231]red[/MENTION]@The Restless Ghost", 8144); c.getPA().sendFrame126( [MENTION=112005]Blu[/MENTION]@I have talked to Father Urhney", 8147); c.getPA().sendFrame126( [MENTION=112005]Blu[/MENTION]@He gave me a [MENTION=112005]Blu[/MENTION]@ [MENTION=231]red[/MENTION]@Ghost speak amulet.", 8148); c.getPA() .sendFrame126( [MENTION=112005]Blu[/MENTION]@ I should try speaking to the ghost in the graveyard", 8149); c.getPA().sendFrame126("", 8150); } else if (c.restlessGhostStage == 3) { c.getPA().sendFrame126( [MENTION=231]red[/MENTION]@The Restless Ghost", 8144); c.getPA().sendFrame126( [MENTION=112005]Blu[/MENTION]@I have talked the ghost", 8147); c.getPA().sendFrame126( [MENTION=112005]Blu[/MENTION]@His corpse is missing his skull.", 8148); c.getPA() .sendFrame126( [MENTION=112005]Blu[/MENTION]@ I should try to recover it at wizards tower.", 8149); c.getPA().sendFrame126("", 8150); } else if (c.restlessGhostStage == 4) { c.getPA().sendFrame126( [MENTION=231]red[/MENTION]@The Restless Ghost", 8144); c.getPA().sendFrame126( [MENTION=112005]Blu[/MENTION]@I have recovered the ghost's skull", 8147); c.getPA().sendFrame126( [MENTION=112005]Blu[/MENTION]@I should head back to the graveyard to use it on his coffin.", 8148); c.getPA() .sendFrame126( [MENTION=112005]Blu[/MENTION]@ ", 8149); c.getPA().sendFrame126("", 8150); } else if (c.restlessGhostStage == FINISHED_STAGE) { c.getPA().sendFrame126( [MENTION=231]red[/MENTION]@The Restless Ghost", 8144); c.getPA().sendFrame126( [MENTION=112005]Blu[/MENTION]@I have completed this quest!", 8147); c.getPA().sendFrame126( [MENTION=112005]Blu[/MENTION]@I have received 500,000 prayer experience, and a ghost speak amulet.", 8148); c.getPA() .sendFrame126( [MENTION=112005]Blu[/MENTION]@ ", 8149); c.getPA().sendFrame126("", 8150); } c.getPA().showInterface(8134); } } [/CODE][/SPOILER] [B]Credits: ComplexityRSPS development[/B] Only releasing this to have something released on runelocus if your going to use this call the methods and click that thanks button.
  5. Hi i'm trying to make a quest with skill requirements. What method would I use in DialogueManager to get the skill name & level? I got something like this but I don't know how to check if the level is over 15. Sorry if this is ambiguous, im a newb pls halp [CODE] case 1051: if (player.getSkill().getLevel()[Skill.COOKING]. <(15) DialogueMethods.sendNpcChat(c, 666, "Caleb", DialogueMethods.WORRIED, "Thank god you're here, " + c.playerName, "I've lost all of my special ingredients", "the King's Banquet will be ruined!", "Will you help me?"); c.nextChat = 1002;[/CODE] Thanks!
  6. i know the config id is 80, but for some reason i cant make it go yellow, i can make it green but not yellow, anyone have any clue? tried looping it till about 300
  7. jaide

    quest tab

    [B][SIZE=5]i have this quest tab:[/SIZE][/B] [ATTACH=CONFIG]9567[/ATTACH] [B][SIZE=5]I want to change to this one not excatly but i will change it later [/SIZE][/B] [ATTACH=CONFIG]9568[/ATTACH]
  8. well as it says im looking for where to find the code to the quest tab and well I cant find It I have looked in client where I thought it would be but no luck at all so any ideas where I may find it? texthandler.java does not exist in my source or client that option doesn't work either.
  9. EternalX

    718 quest tab

    does any know if matrix 718 quest tab works?
  10. Client.java (Source) [CODE]public void process() {[/CODE] Right under the void add: [CODE]getPA().sendFrame126("1", 640); getPA().sendFrame126("2", 663); getPA().sendFrame126("3", 7332); getPA().sendFrame126("4", 7333); getPA().sendFrame126("5", 7334); getPA().sendFrame126("6", 7336); getPA().sendFrame126("7", 7383); getPA().sendFrame126("8", 7339); getPA().sendFrame126("9", 7338); getPA().sendFrame126("10", 7340); getPA().sendFrame126("11", 7346); getPA().sendFrame126("12", 7341); getPA().sendFrame126("13", 7342); getPA().sendFrame126("14", 7337); getPA().sendFrame126("15", 7343); [/CODE] This will clear the first 15 rows and such. You can then edit the text to whatever you want. Example: [CODE]getPA().sendFrame126("Welcome to PI", 640);[/CODE] You can also display characters stats. eg pest control points, players online etc, which can be useful. Here's an example: [CODE] getPA().sendFrame126("Players Online: "+PlayerHandler.getPlayerCount()+ " ", 640); //quest journal title getPA().sendFrame126("Player Statistics", 663); //quest title getPA().sendFrame126("@[email protected] Lock Status", 7332); getPA().sendFrame126(" @[email protected]"+expLock+" ", 7333); //quest title getPA().sendFrame126("@[email protected] Points", 7334); //quest title getPA().sendFrame126(" @[email protected]"+pcPoints+" ", 7336); getPA().sendFrame126("@[email protected] Points", 7383); //quest title getPA().sendFrame126(" @[email protected]"+magePoints+" ", 7339); getPA().sendFrame126(" @[email protected]"+Server.npcHandler.getNpcListName(slayerTask)+" ", 7340); //quest title getPA().sendFrame126("@[email protected] Slayer Task", 7338); //quest title getPA().sendFrame126("@[email protected] Remaining", 7346); //quest title getPA().sendFrame126(" @[email protected]"+taskAmount+" ", 7341); //quest title getPA().sendFrame126("@[email protected] Player Kills:@[email protected] "+KC+"", 7342); getPA().sendFrame126("@[email protected] Player Deaths:@[email protected] "+DC+"", 7337); getPA().sendFrame126("@yelProject [email protected]", 7343); [/CODE] Good luck!
  11. I have created like 10 total quests with this and it works 100% and i have supported state saving which is easy just request help i you need it. A server successfully using this system : [url]http://www.runelocus.com/forums/showthread.php?94065-Asgarnia-Official-Release-Exclusive-on-Runelocus[/url] Step 1 : Create a new package, call it 'quest' and you should probably make it extend either a 'model' or 'content' base folder. Inside the newly created package, create a new Java interface : Quest [CODE] /** * * [MENTION=52317]auth[/MENTION]or Joshua Barry * */ public interface Quest { /** * Determines if the player has the requirements to complete this quest. * * [MENTION=75098]Para[/MENTION]m player The player attempting the quest. * [MENTION=184045]return[/MENTION] {@code true} if the player can complete the quest. */ public abstract boolean hasRequirements(Player player); /** * Determine what happens when the questing player dies. * * [MENTION=75098]Para[/MENTION]m player The player who has died. * [MENTION=184045]return[/MENTION] {@code true} if the player has died. */ public abstract boolean deathListener(Player player); /** * Determines what happens when the questing player kills another entity. * * [MENTION=75098]Para[/MENTION]m player The player who has killed the victim entity. * [MENTION=184045]return[/MENTION] */ public abstract boolean defeatListener(Player player); /** * Determines whether a player has clicked a specific button or not, and * what the outcome will be. * * [MENTION=75098]Para[/MENTION]m player * [MENTION=184045]return[/MENTION] */ public abstract boolean dialougeListener(Player player); /** * Start the quest. */ public abstract void start(Player player); /** * End the quest. */ public abstract void end(Player player); /** * Give the player the reward items. */ public abstract void giveRewards(Player player); /** * The list of rewards the player will receive upon quest completion. * * [MENTION=184045]return[/MENTION] */ public abstract Item[] getRewards(); /** * Gets the quest attribute name. * * [MENTION=184045]return[/MENTION] */ public abstract String getAttributeName(); /** * Gets the quest name. * * [MENTION=184045]return[/MENTION] */ public abstract String getQuestName(); /** * Gets the amount of quest points to award the player. * * [MENTION=184045]return[/MENTION] */ public abstract short getQuestPointAward(); /** * Gets the amount of experience gained. * * [MENTION=184045]return[/MENTION] */ public abstract double[][] getExperienceAward(); /** * Displayed on reward interface. * * [MENTION=184045]return[/MENTION] */ public abstract String getAdditionalMessage(); /** * Gets the value of the final quest. * * [MENTION=184045]return[/MENTION] */ public abstract short getFinalStage(); /** * Gets the quest button id. * * [MENTION=184045]return[/MENTION] */ public abstract short getQuestButton(); } [/CODE] Next, a Java class called QuestEntry [CODE] import java.util.Map.Entry; /** * A convenience class for simplifying quest retrieval from the quest database. * * [MENTION=52317]auth[/MENTION]or Joshua Barry * */ public class QuestEntry implements Entry<String, Integer> { /** * The name of this quest. */ private final String name; /** * The button id of the quest. The one found on the quest tab. */ private final int button; public QuestEntry(String name, int button) { this.name = name; this.button = button; } [MENTION=15855]Over[/MENTION]ride public String getKey() { return name; } [MENTION=15855]Over[/MENTION]ride public Integer getValue() { return button; } [MENTION=15855]Over[/MENTION]ride public Integer setValue(Integer value) { return button; } } [/CODE] Now this is an EXAMPLE of my QuestRepository which I have left [B][COLOR=#FF0000]unmodified[/COLOR][/B] to show how to add quests to the repository. [CODE] import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; import com.asgarniars.rs2.content.quest.impl.CooksAssistant; import com.asgarniars.rs2.content.quest.impl.DoricsQuest; import com.asgarniars.rs2.content.quest.impl.DruidicRitual; import com.asgarniars.rs2.content.quest.impl.RuneMysteries; import com.asgarniars.rs2.content.quest.impl.SheepShearer; import com.asgarniars.rs2.content.quest.impl.TheRestlessGhost; import com.asgarniars.rs2.content.quest.impl.WaterfallQuest; import com.asgarniars.rs2.content.quest.impl.WitchsPotion; import com.asgarniars.rs2.model.players.Player; /** * * author Joshua Barry <Sneakyhearts> * */ public class QuestRepository { /** * The amount of quests available in revision #317 */ public static final int AMOUNT_OF_QUESTS = 103; /** * The mapping holding all quest data. */ public static final Map<QuestEntry, Quest> QUEST_DATABASE = new HashMap<QuestEntry, Quest>(); /** * p.s. static initializers are ugly */ static { QUEST_DATABASE.put(new QuestEntry("SheepShearer", 7344), new SheepShearer()); QUEST_DATABASE.put(new QuestEntry("RuneMysteries", 7335), new RuneMysteries()); QUEST_DATABASE.put(new QuestEntry("DoricsQuest", 7336), new DoricsQuest()); QUEST_DATABASE.put(new QuestEntry("TheRestlessGhost", 7337), new TheRestlessGhost()); QUEST_DATABASE.put(new QuestEntry("DruidicRitual", 7355), new DruidicRitual()); QUEST_DATABASE.put(new QuestEntry("WitchsPotion", 7348), new WitchsPotion()); QUEST_DATABASE.put(new QuestEntry("WaterfallQuest", 7350), new WaterfallQuest()); QUEST_DATABASE.put(new QuestEntry("CooksAssistant", 1), new CooksAssistant()); } /** * Grabs a quest from the mapping with the given button index. * * [MENTION=75098]Para[/MENTION]m button The quest button id. * [MENTION=184045]return[/MENTION] The {@code Quest} which id matches the id given, or {@code null} * if the quest didn't exist. */ public static Quest get(int button) { Set<QuestEntry> entries = QUEST_DATABASE.keySet(); for (Iterator<QuestEntry> it$ = entries.iterator(); it$.hasNext();) { QuestEntry entry = it$.next(); if (entry.getValue() == button) { return QUEST_DATABASE.get(entry); } } return null; } /** * Grab a quest from the mapping with the given name. * * [MENTION=75098]Para[/MENTION]m name The quest's name. * [MENTION=184045]return[/MENTION] The {@code Quest} whose name matches the one provided, or * {@code null} if the quest with the given name couldn't be found. */ public static Quest get(String name) { Set<QuestEntry> entries = QUEST_DATABASE.keySet(); for (Iterator<QuestEntry> it$ = entries.iterator(); it$.hasNext();) { QuestEntry entry = it$.next(); if (entry.getKey().equalsIgnoreCase(name)) { return QUEST_DATABASE.get(entry); } } return null; } /** * Handles the quest side bar interfaces and name * * [MENTION=75098]Para[/MENTION]m player The player. */ public static void handle(Player player) { for (Quest quest : QUEST_DATABASE.values()) { if (player.getQuestStorage().hasStarted(quest)) { player.getActionSender().changeInterfaceComponentColor(quest.getQuestButton(), 0x33FF66); } if (player.getQuestStorage().hasFinished(quest)) { player.getActionSender().changeInterfaceComponentColor(quest.getQuestButton(), 0x3366); } player.getActionSender().sendString(quest.getQuestName(), quest.getQuestButton()); } } } [/CODE] Another class called QuestStorage [CODE] import java.util.HashMap; import java.util.Map; /** * Quest storage, a repository to hold the state's and access to quests. * * [MENTION=52317]auth[/MENTION]or Joshua Barry * */ public class QuestStorage { /** * The current quest states. */ private final Map<Quest, Integer> states = new HashMap<Quest, Integer>(); /** * Gets the quest state. * * [MENTION=75098]Para[/MENTION]m questId The quest id to check. * [MENTION=184045]return[/MENTION] The quest state (0 at default). */ public int getState(int questId) { return states.get(QuestRepository.get(questId)); } /** * Gets the quest state by quest. * * [MENTION=75098]Para[/MENTION]m quest The quest to check. * [MENTION=184045]return[/MENTION] The quest state (0 at default). */ public int getState(Quest quest) { return states.get(quest); } /** * Checks if the player has finished a certain quest. * * [MENTION=75098]Para[/MENTION]m quest The quest id. * [MENTION=184045]return[/MENTION] {@code True} if so, {@code false} if not. */ public boolean hasFinished(Quest quest) { if (states.containsKey(quest)) { return quest != null && quest.getFinalStage() <= states.get(quest); } return false; } /** * Checks if the player has started a certain quest. * * [MENTION=75098]Para[/MENTION]m quest The quest's id. * [MENTION=184045]return[/MENTION] {@code true} if the player has started the quest, {@code false} * if not. */ public boolean hasStarted(Quest quest) { if (states.containsKey(quest)) { return states.get(quest) > 0 && states.get(quest) < quest.getFinalStage(); } return false; } /** * * [MENTION=75098]Para[/MENTION]m questId The quest to set the stage for. * [MENTION=75098]Para[/MENTION]m state the state to set. */ public void setState(Quest quest, int state) { states.put(quest, state); } } [/CODE] Step 2: create another package which extends 'quest' and call it 'impl' (implementation's) now you create your abstract base class : QuestStructure [CODE] package com.asgarniars.rs2.content.quest.impl; import com.asgarniars.rs2.content.dialogue.Dialogue; import com.asgarniars.rs2.content.dialogue.StatementDialogue; import com.asgarniars.rs2.content.dialogue.StatementType; import com.asgarniars.rs2.content.quest.Quest; import com.asgarniars.rs2.content.quest.QuestRepository; import com.asgarniars.rs2.content.skills.Skill; import com.asgarniars.rs2.model.items.Item; import com.asgarniars.rs2.model.items.ItemManager; import com.asgarniars.rs2.model.players.Player; /** * The foundation of a quest upon which all other quests should stand. * * [MENTION=52317]auth[/MENTION]or Joshua Barry * */ public abstract class QuestStructure implements Quest { [MENTION=15855]Over[/MENTION]ride public void start(Player player) { if (!this.hasRequirements(player)) { Dialogue dialogue = new StatementDialogue(StatementType.NORMAL, new String[] { "You do not meet the requirements for this quest." }); player.open(dialogue); return; } player.getQuestStorage().setState(this, 1); QuestRepository.handle(player); player.setAttribute(getAttributeName(), (byte) -1); } [MENTION=15855]Over[/MENTION]ride public void end(Player player) { player.setQuestPoints(player.getQuestPoints() + getQuestPointAward()); giveRewards(player); QuestRepository.handle(player); player.getActionSender().sendMessage("Congratulations! Quest complete!"); player.removeAttribute(getAttributeName()); player.removeAttribute("currentQuest"); } [MENTION=15855]Over[/MENTION]ride public void giveRewards(Player player) { StringBuilder rewardNames = new StringBuilder(); if (getRewards() != null) for (Item item : getRewards()) { if (player.getInventory().hasRoomFor(item)) { player.getInventory().addItem(item); rewardNames.append(ItemManager.getInstance().getItemName(item.getId()).concat("\\n")); } } StringBuilder experienceGains = new StringBuilder(); for (int x = 0; x < this.getExperienceAward().length; x++) { short skill = (short) getExperienceAward()[x][0]; double exp = getExperienceAward()[x][1]; experienceGains.append((int) exp + " " + Skill.getSkillName(skill) + " XP.\\n"); player.getSkill().addExperience(skill, exp); } StringBuilder additionalMessage = new StringBuilder(); if (getAdditionalMessage() != null) additionalMessage.append(getAdditionalMessage().concat("\\n")); player.getActionSender().sendString(getQuestPointAward() + " Quest Points\\n".concat(experienceGains.toString().concat(additionalMessage.toString())).concat(rewardNames.toString()), 4444); player.getActionSender().sendString("You have completed the " + getQuestName() + " Quest!", 301); player.getActionSender().sendConfig(101, player.getQuestPoints()); player.getActionSender().sendInterface(297); } } [/CODE] COMPLETE!!! now to see an example of a quest I created (all object interactions, dialogues are coded into other areas of server as per usual) [CODE] package com.asgarniars.rs2.content.quest.impl; import com.asgarniars.rs2.content.skills.Skill; import com.asgarniars.rs2.model.items.Item; import com.asgarniars.rs2.model.players.Player; /** * * [MENTION=52317]auth[/MENTION]or Joshua Barry * */ public class DruidicRitual extends QuestStructure { [MENTION=15855]Over[/MENTION]ride public boolean hasRequirements(Player player) { return player.isLoggedIn(); } [MENTION=15855]Over[/MENTION]ride public boolean deathListener(Player player) { return false; } [MENTION=15855]Over[/MENTION]ride public boolean defeatListener(Player player) { return false; } [MENTION=15855]Over[/MENTION]ride public boolean dialougeListener(Player player) { if (player.getQuestStorage().hasFinished(this)) end(player); return true; } [MENTION=15855]Over[/MENTION]ride public Item[] getRewards() { return null; } [MENTION=15855]Over[/MENTION]ride public String getAttributeName() { return "DruidicRitual"; } [MENTION=15855]Over[/MENTION]ride public String getQuestName() { return "Druidic Ritual"; } [MENTION=15855]Over[/MENTION]ride public short getQuestPointAward() { return 4; } [MENTION=15855]Over[/MENTION]ride public double[][] getExperienceAward() { return new double[][] { { Skill.HERBLORE, 250 } }; } [MENTION=15855]Over[/MENTION]ride public String getAdditionalMessage() { return "Access to the Herblore skill"; } [MENTION=15855]Over[/MENTION]ride public short getFinalStage() { return 4; } [MENTION=15855]Over[/MENTION]ride public short getQuestButton() { return 7355; } } [/CODE] [CENTER] [IMG]http://i.imgur.com/6KZL7Kf.png[/IMG] [IMG]http://i.imgur.com/uo0jwzN.png[/IMG] [IMG]http://i.imgur.com/zWddSwq.png[/IMG] [/CENTER]
  12. lord boss

    quest tab

    how i can change im using lost realm [ATTACH=CONFIG]9226[/ATTACH] to this ?[ATTACH=CONFIG]9227[/ATTACH]
  13. lord boss

    quest give money

    how i can edit my lost city rewards in lost realm like i want when u done the quest its give 5 crystal key and 50m?
  14. LilJae

    718 Quest Help

    Well, I Am Trying To Work On A Quest/Achievement System. But I Got Stuck. I Am Curious As To How Would I Implement The Colors, Say For Instance When The Quest Is Not Started, It's Red. When You Start It, It's Yellow. When You Finish, It Turns Green. This Is My First Time Doing Quest/Achievements. Server Is Matrix Based. Any Help Would Be Greatly Appreciated.
  15. Musicmasta

    Quest Tab

    Has anyone found a way to modify the quest tab? Not the quest completion status, but renaming the quests entirely.
  16. For those who wants to keep the original quest tab. And want to unlock mosts quests. Make a new file called QuestConfigs.java and copy+paste this : [CODE]package *ur direction*.content; import *ur direction*.model.Player; import *ur direction*.net.ActionSender; public class QuestConfigs { public static void SendQuestList(Player player) { //* F2P QUESTS *\\ player.getActionSender().sendConfig(281, 1000); // Learning The Ropes player.getActionSender().sendConfig(130, 4); // Black Knight's Fortress player.getActionSender().sendConfig(29, 2); // Cook's Assistant player.getActionSender().sendConfig(222, 3); // Demon Slayer player.getActionSender().sendConfig(31, 100); // Doric's Quest player.getActionSender().sendConfig(176, 10); // Dragon Slayer player.getActionSender().sendConfig(32, 3); // Ernest The Chicken player.getActionSender().sendConfig(62, 6); // Goblin Diplomancy player.getActionSender().sendConfig(160, 2); // Imp Catcher player.getActionSender().sendConfig(122, 7); // The Knight's Sword player.getActionSender().sendConfig(71, 4); // Pirate's Treasure player.getActionSender().sendConfig(273, 110); // Prince Ali Rescue player.getActionSender().sendConfig(107, 5); // The Restless Ghost player.getActionSender().sendConfig(144, 100); // Romeo & Juliet player.getActionSender().sendConfig(63, 6); // Rune Mysteries player.getActionSender().sendConfig(179, 21); // Sheep Shearer player.getActionSender().sendConfig(145, 7); // Shield of Arrav player.getActionSender().sendConfig(178, 3); // Vampire Slayer player.getActionSender().sendConfig(67, 3); // Witch's Potion //* MEMBER QUESTS *\\ player.getActionSender().sendConfig(939, 1000); // Animal Magnetism player.getActionSender().sendConfig(433, 154); // Between a Rock player.getActionSender().sendConfig(293, 87); // Big Chompy Bird Hunting player.getActionSender().sendConfig(68, 10000); // Biohazard player.getActionSender().sendConfig(655, 145); // Cabin Fever player.getActionSender().sendConfig(10, 100); // Clock Tower player.getActionSender().sendConfig(964, 3000); // Contact! player.getActionSender().sendConfig(399, 85); // Creature of Fenkenstrain player.getActionSender().sendConfig(869, 1000); // Darkness of Hallowvale player.getActionSender().sendConfig(314, 99); // Death Plateau player.getActionSender().sendConfig(794, 153); // Death to the Dorgeshuun player.getActionSender().sendConfig(440, 86); // Desert Treasure player.getActionSender().sendConfig(622, 632); // Devious Minds player.getActionSender().sendConfig(131, 132); // The Dig Site player.getActionSender().sendConfig(80, 10); // Druidic Ritual player.getActionSender().sendConfig(0, 11); // Dwarf Cannon player.getActionSender().sendConfig(335, 188); // Eadgar's Ruse player.getActionSender().sendConfig(934, 97000); // Eagleas' Peak player.getActionSender().sendConfig(299, 124); // Elemental Workshop I player.getActionSender().sendConfig(896, 124); // Elemental Workshop II player.getActionSender().sendConfig(641, 365); // Enakhra's Lament player.getActionSender().sendConfig(912, 98000); // Enlightened Journey player.getActionSender().sendConfig(844, 37500); // The Eyes of Glouphrie player.getActionSender().sendConfig(671, 120); // Fairytale I - Growing Pains player.getActionSender().sendConfig(810, 120); // Fairytale II - Cure a Queen player.getActionSender().sendConfig(148, 99); // Family Crest player.getActionSender().sendConfig(435, 435); // The Feud player.getActionSender().sendConfig(17, 159); // Fight Arena player.getActionSender().sendConfig(11, 111); // Fishing Contest player.getActionSender().sendConfig(521, 99500); // Forgettable Tale... player.getActionSender().sendConfig(347, 102); // The Fremmenik Trials player.getActionSender().sendConfig(553, 37500); // Garden of Tranquillity player.getActionSender().sendConfig(180, 6); // Gertrude's Cat player.getActionSender().sendConfig(482, 109); // The Giant Dwarf player.getActionSender().sendConfig(437, 400); // The Golem player.getActionSender().sendConfig(150, 361); // The Grand Tree player.getActionSender().sendConfig(382, 36); // Haunted Mine player.getActionSender().sendConfig(223, 148); // Hazeel Cult player.getActionSender().sendConfig(188, 97); // Heroes Quest player.getActionSender().sendConfig(5, 83); // Holy Grail player.getActionSender().sendConfig(351, 153); // Horror from the Deep player.getActionSender().sendConfig(445, 8765); // Icthlarin's Little Helper player.getActionSender().sendConfig(705, 36800); // In Aid of the Myreque player.getActionSender().sendConfig(387, 244); // In Search of the Myreque player.getActionSender().sendConfig(175, 75); // Jungle Potion player.getActionSender().sendConfig(139, 134); // Legends Quest player.getActionSender().sendConfig(147, 80); // Lost City player.getActionSender().sendConfig(465, 1); // The Lost Tribe player.getActionSender().sendConfig(823, 1440); // Lunar Diplomancy player.getActionSender().sendConfig(604, 350); // Making History player.getActionSender().sendConfig(14, 183); // Merlin's Crystal player.getActionSender().sendConfig(30, 98); // Monks Friend player.getActionSender().sendConfig(365, 32); // Monkey Madness player.getActionSender().sendConfig(423, 3240); // Mountain Daughter player.getActionSender().sendConfig(517, 300); // Mourning ends part 1 player.getActionSender().sendConfig(574, 354); // Mourning ends part 2 player.getActionSender().sendConfig(192, 158); // Murder Mystery player.getActionSender().sendConfig(905, 1470); // My Arm's Big Adventure player.getActionSender().sendConfig(307, 333); // Nature Spirit player.getActionSender().sendConfig(112, 111); // Obervatory Quest player.getActionSender().sendConfig(416, 640); // One Small Favour player.getActionSender().sendConfig(165, 123); // Plague City player.getActionSender().sendConfig(302, 84); // Priest in Peril player.getActionSender().sendConfig(714, 980); // Rag and Bone Man player.getActionSender().sendConfig(607, 137); // Ratcatchers player.getActionSender().sendConfig(678, 369); // Recipe for Disaster player.getActionSender().sendConfig(496, 684); // Recruitment Drive player.getActionSender().sendConfig(328, 356); // Regicide player.getActionSender().sendConfig(402, 213); // Roving Elves player.getActionSender().sendConfig(730, 100); // Royal Trouble player.getActionSender().sendConfig(600, 450); // Rum Deal player.getActionSender().sendConfig(76, 78); // Scorpion Catcher player.getActionSender().sendConfig(159, 166); // Sea Slug player.getActionSender().sendConfig(339, 888); // Shades of Mor'ton player.getActionSender().sendConfig(602, 93000); // Shadow of the Storm player.getActionSender().sendConfig(60, 35); // Sheep Herder player.getActionSender().sendConfig(116, 178); // Shilo Village player.getActionSender().sendConfig(874, 500); // The Slug Menace player.getActionSender().sendConfig(709, 698); // A Soul's Bane player.getActionSender().sendConfig(616, 614); // Spirits of the Elid player.getActionSender().sendConfig(723, 311); // Swan Song player.getActionSender().sendConfig(568, 200); // A Tail of Two Cats player.getActionSender().sendConfig(449, 350); // Tears of Guthix player.getActionSender().sendConfig(26, 168); // Temple of Ikov player.getActionSender().sendConfig(359, 177); // Throne of Miscellania player.getActionSender().sendConfig(197, 38); // The Tourist Trap player.getActionSender().sendConfig(111, 9); // Tree Gnome Village player.getActionSender().sendConfig(200, 5); // Tribal Totem player.getActionSender().sendConfig(385, 300); // Troll Romance player.getActionSender().sendConfig(980, 500); // The Great Brain Robbery player.getActionSender().sendConfig(635, 5360); // The Hand in the Sand player.getActionSender().sendConfig(317, 99); // Troll Stronghold player.getActionSender().sendConfig(161, 10); // Underground Pass player.getActionSender().sendConfig(571, 654); // Wanted! player.getActionSender().sendConfig(212, 13); // Watchtower player.getActionSender().sendConfig(65, 10); // Waterfall Quest player.getActionSender().sendConfig(992, 992); // What Lies Below player.getActionSender().sendConfig(226, 7); // Witch's House } }[/CODE] Then simply go to ur login method ( for 562 located in ActionSender.java ) and add: [CODE]QuestConfigs.SendQuestList(player);[/CODE] [B][COLOR="#FF0000"]Dont forget to import the file.[/COLOR][/B] Hope u guys like it took a long time to figure all configs. Updated ( 14-06-13 ): added more quests 2/3 are yellow i can't get them green
  17. Asdf I did this a while ago, just showing it off now. [video=youtube;40OPcvD70f0]http://www.youtube.com/watch?v=40OPcvD70f0&feature=plcp[/video] Showing off my quest handler and lost city quest. [IMG]http://screensnapr.com/e/27H2Qs.png[/IMG]
  18. [CENTER][IMG]https://dl.dropbox.com/u/13089717/overview.png[/IMG] [TABLE="width: 600, align: center"] [TR] [TD]This theme is a simple two column design with room for complete English prose on the left column while the right is used for statistics/numerical data. This isn't a fully featured template with styles for tables and whatnot, it's really just a spine for you to work with therefore a decent knowledge of HTML and CSS will help you make the most of this template. The font used in the project is Google's new font 'Roboto' which was launched with Android 4.0 Ice Cream Sandwich. I'm unsure of the licencing of this font so if you intend to use this template for a live site I would suggest you ensure that you are able to use this font. The fonts themselves are referenced in Roboto.css which hotlinks to the fonts on Google's servers. Another licencing issue that may occur is the background is from Runescape Wikia so again, I would check with them that you may use the image before publishing your site. Alternatively take your own screenshots. To get the darkened effect you need to either set the image onto a black background and give the image an opacity of 33% or place a black fill over the image with an opacity of 66%. [B][SIZE=4]Using the design[/SIZE] [/B]I have published this design under the following Creative Commons Licence. [URL]http://creativecommons.org/licenses/by-sa/3.0/[/URL] You are allowed to modify and share this work on the basis that you, at some point attribute the work back to me and that if you do share the template or a modified alternative that you share it under the same or similar licence. You may use this template commercially if you so wish. I take no responsibility for any copyright issues that may occur as a result of using the fonts and images in this design, it is your responsibility to ensure that you either agree a solution with the original author of these works or accept any cease and desist order that you receive as your own. [SIZE=4][B]Download[/B][/SIZE] You can download the file from mediafire (via Adf.ly) here: [URL]http://adf.ly/HV8rm[/URL] If you're a heartless bastard you can skip the ads too: [URL]http://www.mediafire.com/?01d7ka18s4l9b92[/URL] [B]Demo Site [/B][URL]http://thedelirium.co.uk.gridhosted.co.uk/DCDemo/[/URL][/TD] [/TR] [/TABLE] [/CENTER]
  19. Anyone willing to run me? :D
  20. Hello , Ive been trying to add teleport commands in my quest tab , But i cant figure out how ? My quest tab looks like this : [ATTACH=CONFIG]7510[/ATTACH] Can you please help or explain this to me please ? Thanks
  21. hi al yesterday on my thread before this i got a nice tut about everything in my quest tab etc but now at the owner section i had i putted "Stefano"and i got "FStefano" NOTE : I can change everything that will work except the Fstefano if i name it like anything else it stays the same. (i also got this error in my client cmd prompt. : Error: T1 - 123,0 - 36,36 code : (whole quest tab) (RSinterface.java) [CODE]public static void questTab(RSFont[] TDA){ RSInterface Interface = addInterface(638); setChildren(4, Interface); addText(29155, "Quests", 0xFF981F, false, true, 52, TDA, 2); AddInterfaceButton(29156, 1, "Interfaces/QuestTab/QUEST", 18, 18, "Coming Soon", 1); addSprite(29157, 0, "Interfaces/QuestTab/QUEST"); setBounds(29155, 10, 5, 0, Interface); setBounds(29156, 165, 5, 1, Interface); setBounds(29157, 3, 24, 2, Interface); setBounds(29160, 5, 29, 3, Interface); Interface = addInterface(29160); Interface.height = 214; Interface.width = 165; Interface.scrollMax = 1700; Interface.newScroller = false; setChildren(105, Interface); addText(29161, "Owner :", 0xFF981F, false, true, 52, TDA, 2); addHoverText(29162, " Stefano ", "Owners & Coders", TDA, 0, 0xff0000, false, true, 150); addText(29163, "Register on :", 0xFF981F, false, true, 52, TDA, 2); addHoverText(29164, "@[email protected] still coming", "Register", TDA, 0, 0xff0000, false, true, 150); setBounds(29161, 4, 4, 0, Interface); setBounds(29162, 8, 22, 1, Interface); setBounds(29163, 4, 35, 2, Interface); setBounds(29164, 8, 53, 3, Interface); setBounds(663, 4, 67, 4, Interface); int Ypos = 83; int frameID = 5; for(int iD = 29165; iD <= 29264;iD++){ addHoverText(iD, "", "View Quest"/*"View Quest Journal, "+iD*/, TDA, 0, 0xff0000, false, true, 150); setBounds(iD, 8, Ypos, frameID, Interface); frameID++; Ypos += 15; Ypos++; }[/CODE] please i need help how to fix it here is a picture also : [ATTACH=CONFIG]7333[/ATTACH]
  22. PMSL

    Quest Tab String ID's.

    Hello, Does anyone know how to customize the Quest Tab's Quest Strings? Cheers, Andy
  23. Hello, Does anyone happen to know how to use this interface? I need to put the reward in the middle box. [img]http://img145.imageshack.us/img145/4226/complete.png[/img] Cheers, Andy
  24. Hi, I'm an old server hoster and I want to know how to edit the Quest tab on a z508/525 server by Codeusa
×