Quantcast
Channel: Rune-Server
Viewing all 56156 articles
Browse latest View live

Looking for a good 637/639 rsps


[317] Violence - Most Addictive OSRS

$
0
0



Welcome to Violence, we are Brand-New.

Join the most addictive war in the RSPS scene, we are a community
driven RSPS that strives to create the most enjoyable experience for you!

Violence has been in non-stop development for the past Year, with a goal of surpassing
all PK/PVM based servers. We are not just only a Pking server, but a great Pvming and
skilling server too, with an extreme amount of pure content, wat is really addictive.

+ Over 8 different wilderness events
+ Raids 2 Wilderness Events
+ Raids 1 Wilderness Events
+ Raids 1 Chambers Of Xeric
+ Wilderness bosses drop parts of the twisted bow
+ Active wilderness
+ Brandnew event chests.
+ Wilderness bosses, drop pvp crates and other crates with great loot.
+ Log-in and Pk instantly
+ Every single osrs wilderness boss with great loot.
+ Quick set-up interface for instant Pking
+ All OSRS items and every osrs boss.
+ Tournament system, the best Hybrid claims the BM reward and #1 Hybrid title
+ Blacklist a toxic player from attacking you at Edgeville
+ Wildernerss Bots to pk against as practice
+ Profile interface system, search other player's statistics
+ World events spawn every 2 hours to spice things up with bonus rewards
+ Highscores for pures, zerks, ranged tanks, mains
+ Achievements to unlock items and titles
+ Osrs items, bosses & maps
+ Welfare items are free, barrows and above cost blood money
+ Professional client with customization to any revision you would want
+ Many Wild bosses for the best money making methods
+ Pvp tasks, get kills as a pure/zerk/main and claim BM reward after completion
+ Target system
+ Every OSRS Boss pets & Skilling pets
+ Daily highscores, #1 spot claims 15k Bm reward, different highscores everyday
+ Skilling for skill capes, max capes & some relaxing money making
+ Daily lottery
+ Killstreak skulls
+ CS GO Mystery Boxes
+ F2p protection when F2p pking
+ Placeholders & all bank features
+ Killstreak skulls
+ Much more addictive content, join the grind now at http://violenceps.com

The Everlasting ,just released in deep wilderness level 47, this boss is a great powerful boss with 7 different attack styles,
from mage to range , you will need to dodge some of those hits, he does have some great drops some of witch are best in game.


Barrel chest boss just released, this boss will have some extreme loot to gain, he is a multi boss and would be great for you to bring a team,
he can smash through prayer and he can switch attacks from melee to mage and will drain your prayer remarkable fast.


Galvek from dragon slayer 2 just released, this boss will have some great loot to achieve,
he is a really powerful boss, so get your pots and armour ready for the fight of your life.







Visit Violenceps.com to Join now

credits:
10% - PI
25% - DT
65% - VL

[317] Tojad - THEATRE OF BLOOD - Inferno - LOTTO - Switches - BOSS+++ - Marketplace - SKILL

$
0
0
Tojad is ONLINE at

Brought to you by the maker of Tojad in the download's section with custom quickprayers, null packet handling crashes, etc...

Tojad.com


Coming out with this version of Tojad
I have only one thing in mind and that is precision
efficiency and evolution of RSPS Gaming! At the moment
the game is at its beginning stages! I have done a lot of work plethora
of work with memory leaks and a plethora of errors to make the game

operate faster ALL UPDATED My main goal in mind is to evolve the game



UPDATES
ARE ONLY THE
VERY BEGINNING


- MEMORY LEAKS/ERRORS (FIXED/COMPLETED)
- RAIDS (FIXED/COMPLETED)
- GRAND EXCHANGE (FULLY REWORKED/IMPLEMENTED GRAND EXCHANGE SYSTEM/VOTE/HISCORES/STORE)
- MINOR CHANGES(FIXED/COMPLETED)
-Fixed minor bugs in website/server(FIXED)
-FIXED running through the wall in edgeville bank(FIXED)
-Rewards system in raids(REWORKED/COMPLETED)
-Leechers in raids that do not fight all bosses do not get rewards(COMPLETED)
-Gladiator having a rank(COMPLETED)

-Theatre Of Blood(COMPLETED)

Theatre Of Blood
All Theatre Of Blood Bosses





Chambers Of Xeric










Credits: 10% - PI
25% - DT
65% - TJ

[317] Text to Json

$
0
0
Hello R-S,

I was wondering if there are any actual guides / tutorials on R-S that would help me understand and change the way my player files are being saved.
Currently they're being saved as .txt files, I would like them to be saved as a .json file (looks cleaner imo).

Any tips, help, etc would be greatly appreciated. :)

Searching for someone (Payed)

$
0
0
Hi there,

I'm looking for a coder for my server to add auto donate and auto vote in my rsps (Ruse-Base) and website ofcours, you get paid for it, if youre interested leave your skype below or give me a pm or add me on skype (live:rickdekker2000 or rickdekker2000@hotmail.com)

Thanks for the time

Rick

Error: loaderror Unpacking config 86

$
0
0
I get the error shown in the title after repacking 4 of my indexes in the cache.
I also get these:
Error unrecognised seq config code: A bunch of numbers.

I am on Elvarg base learning to code, but this is preventing me from logging into the game ^^

Thanks in advance.

I finally fixed that and now I get: java.lang.ArrayIndexOutOfBoundsException: 1033696.

anyone has the solution?

[718] SiriusX 718 RSPS | Join now | New Server 2019

$
0
0
Discord : https://discord.gg/VnXW8e
Website : https://siriusxrsps.org/home under construction

SiriusX 718 is a returning PRE - EOC private server!

We have alot of features to offer, developing alot with a good group of coders and developers to give you the ultimate PRE-EOC feeling.

For now there are daily updates and we are trying our best to make this server so enjoyable as possible!
Its a server brought into a new life because SiriusX ended in 2015. My community enjoyed it so much that we brought it back and we will try to make it fit the 2019 standards.

We includes RS3 items and OSRS items aswell.

We have a variety of gameplay to offer so if you enjoyed 718 or if you want to try something special please join our discord and take a moment to feel the vibes of the server.

While we are still doing some updates the server is running and its 99% of the time online :)


[317] Added ferocious gloves from OSRS, but no stats show?


[317] [RUSE] Problem with drop view interface

$
0
0
Hey I got a problem with this drop view interface. The right amount of items are totally wrong and I can't seem to find where the problem may occur.



As you see, some of the items are displaying correctly but not all.

Code client sided:
Code:

public static void OsDropViewer(TextDrawingArea[] tda) {
                RSInterface tab = addInterface(33000);
                addSpriteLoader(33001, 1079);
                addHoverButtonWSpriteLoader(33002, 1075, 21, 21,"Close", 0, 33003, 1);
                addHoveredImageWSpriteLoader(33003, 1076, 21, 21, 33004);
                addText(33005, "Drops Viewer", tda, 2, 0xFFA500, true, true);
                int x = 7, y = 7;
                tab.totalChildren(7);
                tab.child(0, 33001, 0+x, 0+y);
                tab.child(1, 33002, 472+x, 7+y);
                tab.child(2, 33003, 472+x, 7+y);
                tab.child(3, 33005, 250+x, 11+y);
                tab.child(4, 33006, 8+x, 41+y);
                tab.child(5, 34000, 150+x, 35+y);
                tab.child(6, 33007, 6+x, 58+y);

                final RSInterface results = addInterface(33007);
                results.width = 122;
                results.height = 258;
                results.scrollMax = 300;

                results.totalChildren(100);
                for (int j = 0; j < 100; j++) {
                        addClickableText(33008 + j, "", "View Drops", tda, 0, 0xff0000, false, true, 110);
                        results.child(j, 33008 + j, 3, 2 + (j*14));
                }

                RSInterface main = addInterface(34000);
                main.totalChildren(720);
                main.width = 328;
                main.height = 281;
                main.scrollMax = 2560;
                addSpriteLoader(34001, 1077);
                addSpriteLoader(34002, 1078);
                for(int i = 0; i < 40; i++) {
                        main.child(i, 34001, 0, (i * 64));
                        main.child(i + 40, 34002, 0, 32 + (i * 64));
                }
                addText(34003, "Amount:", tda, 0, 0xff9040, true, true);
                addText(34004, "Chance:", tda, 0, 0xff9040, true, true);
                addText(34005, "Value:", tda, 0, 0xff9040, true, true);
                for (int i = 0; i < 80; i++) {
                        //itemGroup(34010 + i, 1, 1, 1, 1, false, false);
                        itemGroup(34010 + i, 1, 1, 1, 1);
                        interfaceCache[34010 + i].inv[0] = 14485;
                        interfaceCache[34010 + i].invStackSizes[0] = 1;
                        addText(34100 + i, "Name", tda, 1, 0xFFA500, false, true);
                        addText(34200 + i, "Amount", tda, 0, 0xffffff, true, true);
                        addText(34300 + i, "Chance", tda, 0, 0xffffff, true, true);
                        addText(34400 + i, "Value", tda, 0, 0xffffff, true, true);
                        int yy = (i * 32);
                        main.child(80+i, 34010+i, 1, 0+yy);
                        main.child(160+i, 34100+i, 39, 6+yy);
                        main.child(240+i, 34003, 175, 2+yy);
                        main.child(320+i, 34004, 234, 2+yy);
                        main.child(400+i, 34005, 293, 2+yy);
                        main.child(480+i, 34200+i, 175, 14+yy);
                        main.child(560+i, 34300+i, 234, 14+yy);
                        main.child(640+i, 34400+i, 293, 14+yy);
                }

                addClickableText(33006, "@whi@Search for an NPC", "Search", tda, 0, 0xff0000, 134, 10);
        }

Code server sided:
Code:

public static void buildRightSide(Player player, int npcId) {
                player.getPacketSender().sendString(SEARCHED_STRING, "@whi@"+NpcDefinition.forId(npcId).getName()); //Search button
                player.getPacketSender().sendString(STRING_AMOUNT, "Amount:");
                player.getPacketSender().sendString(STRING_CHANCE, "Chance:");
                player.getPacketSender().sendString(STRING_VALUE, "Value:");
                for (int i = 0; i < 80; i++) {
                        if (i > NPCDrops.forId(npcId).getDropList().length-1) {
                                //System.out.println("Sending blank on "+i);
                                player.getPacketSender().sendItemOnInterface(ITEM_MODEL+i, -1, 0, 1); //remove all item models
                                player.getPacketSender().sendString(ITEM_NAME+i, ""); //remove all item names
                                player.getPacketSender().sendString(ITEM_AMOUNT+i, "");
                                player.getPacketSender().sendString(ITEM_CHANCE+i, "");
                                player.getPacketSender().sendString(ITEM_VALUE+i, "");
                        } else {
                                Item item = NPCDrops.forId(npcId).getDropList()[i].getItem();
                                if (item.getDefinition() == null) {
                                        continue;
                                }
                                int amount = item.getAmount();
                                int chance = NPCDrops.forId(npcId).getDropList()[i].getChance().getRandom();
                                player.getPacketSender().sendItemOnInterface(ITEM_MODEL+i, item.getId(), 0, amount); //remove all item models
                                player.getPacketSender().sendString(ITEM_NAME+i, item.getDefinition().getName()); //remove all item names
                                player.getPacketSender().sendString(ITEM_AMOUNT+i, item.getAmount()+"");
                                player.getPacketSender().sendString(ITEM_CHANCE+i, "1/"+(chance == 0 ? "1" : chance));
                                player.getPacketSender().sendString(ITEM_VALUE+i, Misc.format(amount*item.getDefinition().getValue())+"");
                        }
                }
        }

Any help would be greatly appreciated :)

EDIT:

Fixed it. Replaced this:
Quote:

public PacketSender sendItemOnInterface(int frame, int item, int slot, int amount) {
PacketBuilder out = new PacketBuilder(34, PacketType.SHORT);
out.putShort(frame);
out.put(slot);
out.putShort(item + 1);
if (amount > 254) {
out.put(255);
out.putShort(amount);
} else {
out.put(amount);
}
player.getSession().queueMessage(out);
return this;
}
with this:
Quote:

public PacketSender sendItemOnInterface(int frame, int item, int slot, int amount) {
PacketBuilder out = new PacketBuilder(34, PacketType.SHORT);
out.putShort(frame);
out.put(slot);
out.putShort(item + 1);
if (amount > 254) {
out.put(255);
out.putInt(amount);
} else {
out.put(amount);
}
player.getSession().queueMessage(out);
return this;
}
Mod can close thread.

Part 2/4 tattoo

718 /8xx refactored matrix client, source code

$
0
0
Hi,

Looking to buy an (ideally) fully refactored/functional 718/8xx client. No jars, need the source code.

Maybe interested in a 718/887 perfectly packed cache as well.

Please pm me if you'd be interested.

Thanks.

User title

User title

[OSRS] AdaptivePS ~ The new wave

$
0
0


Spoiler for Media:














Giving away 5-10 donator ranks to the people who are seen most active on server!


So what are you waiting for? Join now! AdaptivePS.xyz

Simba Scripts

$
0
0
I am selling simba bot scripts for different servers. You may find them below

SpawnPK
Code:

Stall theiver - $10
Undead Pker killer - $10
Rogue Chest Looter - $15
Demonic Gorrila Killer - $15
Mage Arene Killer - $15
Donator Zone NPC Killer - $15
V.I.P Spawner Killer - $20
Tekton Killer - $20
Corp Killer - $20
Raid Farm - $35

SpawnScape
Code:

Rev killer(loots, teles when attacked by player, supports custom preset) $12.50
I can accept the following payment methods:
Code:

  • Paypal(Friends and Family only)
  • Bitcoin
  • Circle Pay
  • Bank Transfer for UK Only
  • 07 Gold
  • Cash App

By purchasing from me, you agree too the following:
Code:

  • You are buying the script, I can give a rundown on how to run the script if needed but this isn't compulsory on my end
  • You are not to release or re-sell the script too anyone
  • If you find any bugs with the scripts I will fix them for free, however you'll need to give me some time
  • If you modify the script and break it, I will not provide another copy for free. There will be a small fee
  • All payments are final and non-refundable

You can contact me on WhatsApp or Discord
Code:

WhatsApp - +44 7717 121349
Discord - Zee#3264

I can make custom scripts for the server off your choice and the price will be agreed on beforehand, payment required beforehand - I'm not wasting a couple hours making a script for anyone to decide they no longer want it.



LOOKED AT DO NOT SELL LIST AND NOTHING AGAINST - REMOVE IT NOT ALLOWED

[OSRS] - #180: Everrain, an Oldschool Emulation

$
0
0


Everrain

For such a long time I have wanted to start an Oldschool emulation project using a Deob.
There are far too many "OSRS" servers which are in fact 317's loading outdated OSRS data.

Everrain aims to emulate your Oldschool RuneScape experience with a twist. We are currently writing a variety of content, starting off with the basics; skills and combat.
I will gradually be updating this thread with media and updates, stay tuned!

Media

Cooking



Mining



Fishing



Team

Lantern Web - Developer
Da Green Rs - Developer

Credits

RSMOD for the framework!
Indova for helping me get started.

hifps

$
0
0
Hopping Islands: From Java to Kotlin Part 4

This series is aimed at existing Java developers that might feel tempted to switch over.
The goal of this series is to introduce Kotlin as a language you can use in tandem with Java, or even as a complete replacement.
Across the series, I will be covering a multitude of topics (usually with a few topics per part) on the benefits of using Kotlin over Java.
Here are the topics I have picked out for part 4:
  • Generics
  • Contracts
  • Inline Classes

Generics

What are generics, you might ask?
Generics are a compiler feature that give an easy way to provide functions that are applicable to multiple types of objects within user given bounds without any extra cost at runtime
Basically, everything except for primitive number types (byte char short int long float and double) is an Object.
But the compiler (and IDE) can analyze your code to see if it meets certain criteria, and it allows you to do extra stuff with that information.


Say I wanted to make a function in Java that only takes a List of things that are a subclass of type Dog and make every Dog in the List<Dog> Bark.
First, here's Dog
Code:

public abstract class Dog {

    final String dogBreed;
    final String barkSound;

    Dog(String dogBreed, String barkSound) {
        this.dogBreed = dogBreed;
        this.barkSound = barkSound;
    }

    void bark()
}

Here's how you would define a function that makes all subspecies of the Dog species T in a List bark.
Code:

public static <T extends Dog> void barkDogs(List<T> dogList) {
    dogList.forEach(T::bark);
}

This will bark all the sub species of in the list.
You will notice the <T extends Dog> in the function definition.
The T is just the name you are giving to that generic type in that function.
You can use any (valid identifier) name you want to, even cAt.
The <T extends Dog> tells the compiler to make sure that any time T is used, it is actually a subclass of Dog.
Thats how you know that T has the bark function, is because it is a species of .
Okay, if you didn't really understand generics, you should get the gist of it.
As a small note, you cannot access the generic type information at runtime, as everything is actually an Object!
Now, on to kotlin's generics!


Well, for the most part they are the same.
Here's what the dogs would look like in Kotlin!
Code:

abstract class Dog(val dogBreed: String, val barkSound: String) {
    fun bark() = println("$dogBreed says: $barkSound! Good dog!")
}

Now here's what the function in kotlin would look like as an extension function:

Code:

fun <T: Dog> List<T>.barkAllDogs() = forEach(T::bark)
Not too remarkable, eh?
Hold your horses, Kotlin has an extra level to generics.
With generics in Java, all type information is erased at runtime.
This means that you dont really know what anything actually is, and the compiler cannot guarantee that some casts will work.

Kotlin has a solution. Reified generics.
Reified generics open some possibilities previously not possible in Java, such as the compiler guaranteeing type information is available inside a function.
The caveat to this is that if you want to reify a generic type, you MUST inline the function and you MUST say so.
Here is an example case of where you can not use regular generics and must use reified generics.
Code:

fun <T> List<T>.filterToArray(predicate: (T) -> Boolean) =
    with(filter(predicate)) { // Now in context of the filtered list
        Array<T>(this.size, ::get) // Cannot use 'T' as reified type parameter. Use a class instead.
    }

Weird, looks like it should work. Add 2 words, and it will!
Code:

inline fun <reified T> List<T>.filterToArray(predicate: (T) -> Boolean) =
    with(filter(predicate)) { // Now in context of the filtered list
        Array<T>(this.size, ::get) // Ding ding!
    }

This can be used for other things as well, such as getting the type of something put in to the function.
Your imagination (and the feature set of the JVM) is the only limiting factor!
Contracts

Contracts in kotlin are a way for you to programatically tell the compiler what you say is going to happen.
It will take your word for it, despite what you actually do with the information you are putting under contract!
Here's an example of where contracts are be useful. Say I want to create a function that takes a lambda, a lambda which I know will only run once.
I know it will only run once, so I should be able to initialize a val
that was declared outside of the lambda, right?
Well, let's try it out.
Code:

fun doThingOnce(lambda: () -> Unit) = lambda()

fun main() {
    val name: String
    doThingOnce { name = "My name" }
}

Eek, it gives us an error: Captured values initialization is forbidden due to possible reassignment.
That's unfair. The standard library has functions like run that can do what I want my function to do!
Well, good news. You can too! Contracts to the rescue!
Contracts are quite basic for now, but they do allow for some good functionality.
There are some rules to contracts:
  • The first line of a function with a contract must be the contract
  • Actually there's just 1 concrete rule, I just like lists.

So here's what a contract looks like
Code:

contract {
    callsInPlace(block, InvocationKind.EXACTLY_ONCE)
}

This is the definition of a contract that claims blockwill run exactly once.
Okay, so let's put that at the beginning of our function and see what happens.
NOTE: AS OF THIS POST, CONTRACTS ARE EXPERIMENTAL IN KOTLIN AND YOU MUST EXPLICITLY ENABLE THEM BEFORE THEY WORK!
Code:

fun doThingOnce(lambda: () -> Unit) {
    contract {
        callsInPlace(lambda, InvocationKind.EXACTLY_ONCE)
    }
    lambda()
}

fun main() {
    var name: String
    doThingOnce { name = "My name" }
}

No error! And it works! But what if I run it twice... Hehehehe
Well, it will run twice. But you shouldn't abuse contracts for reasons that should be obvious if other people are going to read your code.
Inline classes

NOTE: AS OF THIS POST, INLINE CLASSES ARE EXPERIMENTAL IN KOTLIN AND YOU MUST EXPLICITLY ENABLE THEM BEFORE THEY WORK!
Inline classes are a really neat feature in Kotlin.
Normally, only primitive classes get optimized heavily during runtime, but wrapper classes like Java's Integer don't get the same special treatment despite having nearly identical usage as it's primitive brother.
Inline classes allow you to bypass this boxing problem in some cases.
However, inline classes have a few restrictions:
  • An inline class cannot have an init block
  • An inline class can only have 1 primary constructor parameter, and it must be a val
  • Inline classes CAN have properties, but CANNOT have backing fields
  • As such, Inline classes CANNOT have late initialized or delegated properties (coming soon to a HIFJTK near you)

Now, how do you create an inline class? It's a mystical art they don't teach you in Java school.
Code:

inline class InlineClassName(val underlyingValue: ClassType)
Extreme stuff, I'm not sure if you're ready... But, if you're confident enough to write that, let's keep trudging on!
Now, here are the benefits of inline classes:
  • They CAN inherit from interfaces
  • They CAN be used where the inherited interfaces are used
  • They get optimized as the underlying type ONLY WHEN USED AS THE UNDERLYING TYPE

This allows you to get a performance uplift when using them in the underlying type use case
Example: Inline classes are currently being used in the standard library to implement unsigned primitives in Kotlin!
Another example, this time a bit more visual:
Code:

interface Colors {
    val value: Int
    val alpha: Int
        get() = (value shr 24) and 0xFF
    val red: Int
        get() = (value shr 16) and 0xFF
    val green: Int
        get() = (value shr 8) and 0xFF
    val blue: Int
        get() = value and 0xFF

}

inline class ARGB(override val value: Int): Colors {
    override fun toString(): String = "ARGB()"
}

// Used as Colors, not optimized as Int
fun printColors(colors: Colors) = with(colors) {
    println("[$alpha, $red, $green, $blue]")
}

// Used as ARGB, optimized as Int. At runtime, this essentially becomes a function that takes an Int. Weird, right?
fun printArgb(argb: ARGB) = println(argb)

// Used as ARGB?, NOT optimized as Int, as it is essentially Int? (java Integer) at runtime.
fun argbIsNull(argb: ARGB?) = argb == null

// Used as T, NOT optimized as Int.
fun <T> genericFunction(genericValue: T) = println(genericValue)

fun main() {
    val colorsRaw = ARGB(0x04143C09)
    printColors(colorsRaw)
    printArgb(colorsRaw)
    print(argbIsNull(colorsRaw))
    print(genericFunction(colorsRaw))
}

That's all for this post. Hope you learned something and are more inclined to start using Kotlin!
The menu for part 5:
  • open class
  • lateinit
  • delegates

667 need help with delay... and item requirement to use teleport

$
0
0
Hey all, so im new to coding and instead of asking for help i would normally try work it out myself. so after a hell of testing i still cant work out what im doing wrong here.

so, i want a delay on this command to work in time with the gfx i have added but, its not dalaying the time from entering the command to finishing teleportation.

if (cmd[0].equalsIgnoreCase("dhome")) {
player.getControlerManager().startControler("DZ");

player.setNextGraphics(new Graphics(***));
player.addStopDelay(4);
player.setNextWorldTile(new WorldTile(****, ****, 0));
player.getPackets().sendGameMessage("<col=00ff00>T hanks for supporting The The Dark Temple");
return true;

}

The command works, but the 4 sec delay inst working. (yes **** are numbers, just changed them for this)

Also, im trying to set a item needed/requirement for a teleport. i dont know what im doing wrong but this is the thing i made but it just wouldn't teleport however take away the item requirement and the portal works. sorry if its sloppy, like i said im just trying, testing and learning .


Spoiler for scrip:
if (id == 4500 && object.getId() == 444) { //runder 2 to 1
if((player.getInventory().containsItem(444, 1))
player.getInventory().deleteItem(444, 1);
player.getInventory().refresh();
player.setNextGraphics(new Graphics(111));
player.useStairs(-1, new WorldTile(1112,2222, 0), 2, 3,
"You Were Teleported...");

}



Thank you in advance

[377] VanillaRS - A RuneScape 2006 Emulation

$
0
0
VanillaRS

Disclaimer
For all intentions and purposes this is a hobby project,
used for my own personal learning experience, whether I will ever host this or release it in the rs2-download section,
is unknown. I initially started out with a 317 client loading 319 cache (317 cache no exist :C) but later decided to convert it
to a 377 server, so the server is now officially a 377 server. 377 was released sometime mid-2006.

The framework is written from scratch however credits should be given where credits are due; I thank Major for sharing
all the 377 server -> client packets and Licker for releasing his refactored 377 client. And all the people on discord 4 helping out
whenever I ask questions regarding rsps shit.

I plan on emulating as much of the content from the 377 era as possible.


Obligatory Media

667 need help with delay... and item requirement to use teleport

$
0
0
Hey all, so im new to coding and instead of asking for help i would normally try work it out myself. so after a hell of testing i still cant work out what im doing wrong here.

so, i want a delay on this command to work in time with the gfx i have added but, its not dalaying the time from entering the command to finishing teleportation.

if (cmd[0].equalsIgnoreCase("dhome")) {
player.getControlerManager().startControler("DZ");

player.setNextGraphics(new Graphics(***));
player.addStopDelay(4);
player.setNextWorldTile(new WorldTile(****, ****, 0));
player.getPackets().sendGameMessage("<col=00ff00>T hanks for supporting The The Dark Temple");
return true;

}

The command works, but the 4 sec delay inst working. (yes **** are numbers, just changed them for this)

Also, im trying to set a item needed/requirement for a teleport. i dont know what im doing wrong but this is the thing i made but it just wouldn't teleport however take away the item requirement and the portal works. sorry if its sloppy, like i said im just trying, testing and learning .


Spoiler for scrip:
if (id == 4500 && object.getId() == 444) { //runder 2 to 1
if((player.getInventory().containsItem(444, 1))
player.getInventory().deleteItem(444, 1);
player.getInventory().refresh();
player.setNextGraphics(new Graphics(111));
player.useStairs(-1, new WorldTile(1112,2222, 0), 2, 3,
"You Were Teleported...");

}


Edit, i worked the second bit out, if anyone needs... put at around line 2781

Spoiler for EDIT:
else if (itemId == 444 && object.getId() == 4500) {
player.getPackets().sendGameMessage("You feel weird..");
player.getInventory().deleteItem(new Item(444, 1));
player.useStairs(-1, new WorldTile(1112,2222, 0), 2, 3,
"You Were Teleported...");
}



Thank you in advance
Viewing all 56156 articles
Browse latest View live