Welcome, guest! Please login or register.

    * Shoutbox

    RefreshHistory
    • stCky: idk man im just a chat bot
      August 22, 2017, 11:14:52 PM
    • symantec: is this forum
      August 22, 2017, 09:02:56 PM
    • symantec: what the fudge
      August 22, 2017, 09:02:52 PM
    • symantec: I just joined to download datmaker, the links are broken and a user named i nelson i has a fudgeing weird signature
      August 22, 2017, 08:59:33 PM
    • stCky: ur so cool and edgy
      August 22, 2017, 04:15:50 PM
    • Deathspirit: anyways, i'm un ip banned now.. but don't even want to be that at this point lmfao
      August 22, 2017, 01:58:14 PM
    • Deathspirit: now it's some sell out half leeched server :')
      August 22, 2017, 01:57:53 PM
    • Deathspirit: gf moparscape, was the best rsps community i've been on since 2006
      August 22, 2017, 01:57:31 PM
    • stCky: yeah, nah. it's cooked. [link] might help u with a backup or something idk man im just a chat bot
      August 22, 2017, 12:13:25 AM
    • flew420: I sure hope someone has a copy of the forum before it was recked
      August 21, 2017, 11:40:52 PM
    • flew420: O wow i see now, just read thru all the news articles. :(  i've been out of the game for a couple years so coming back to this shit is sad.
      August 21, 2017, 11:39:46 PM
    • flew420: Huh?
      August 21, 2017, 10:49:51 PM
    • stCky: got bought by a russian dude, he put a shitty rsps on it for donations, now no one cares
      August 21, 2017, 10:48:30 PM
    • flew420: I came on for some nostalgic reading in old classic development, and it only goes back to 2014 wtf.
      August 21, 2017, 10:43:09 PM
    • flew420: what happened to this site??
      August 21, 2017, 10:42:36 PM
    • Sean56:[link]
      August 21, 2017, 05:33:45 PM
    • kb010: how can i play? i downloaded the client and it doesnt open.
      August 21, 2017, 10:52:56 AM
    • wodkode: shut it down or fix it
      August 20, 2017, 10:11:28 PM
    • wodkode: dude i cant goto no links on here from google
      August 20, 2017, 10:11:13 PM
    • Dell: Greetings
      August 20, 2017, 11:56:30 AM

    Author Topic: Runescript  (Read 3161 times)

    0 Members and 1 Guest are viewing this topic.

    Offlinesini

    • Member
    • ****
    • *
    • *
    • Posts: 5,785
    • Thanks: +0/-0
      • View Profile
    Runescript
    « on: June 22, 2014, 03:13:10 PM »
    With the recent release of Old Runescape the developers have been posting a ton of photos of their work. I stumbled across the thread by Leanbow and also the archive of Andrew Gowers notes from 2001. In his notes he outlines a very primitive scripting system which wouldn't be very hard to implement to be honest.

    Notes:
    One server cycle is 0.6 seconds, so 100 cycles = 1 minute
    Probabilities range from 0=impossible to 256=certain

    Misc commands
    thinkbubble();Should only be called if the player has just triggered a 'use' script. Displays a thinkbubble above the players head which contains the object they are currently using. For instance this is used to display the axe above your head when you chop a tree down.
    ifmale();Test the player's gender, useful for getting gender specific language correct in the scripts.
    nodefault();Stops the game executing the default action when this script is complete. For example can be used to stop an object from being taken, or a spell being cast.
    openshop(shop);Displays the specified shop dialog, and allows the player to buy and sell items. Doing so frees the npc, so no npc specific commands can be used after this point.
    displaybalance();Displays the players current bank balance

    Control flow based
    Delay(delay);Delays both the script and the player for the specified number ofserver cycles
    Pause(mindelay, maxdelay);Pauses the script for a random amount of time inbetween the specifiedminimum and maximum. The player is free to do other stuff meanwhile, useful for making trees regrow etc.. Be very careful when using delay orpause, as the player may have logged out meanwhile. Normally this doesn't matter, but don't rely on things after it to do anything permament whichaffects the player (such as setting a player variable) as it may be lost.
    modpause(mindelay, maxdelay);Similar to the pause command, except the total delay is modified bythe number of players in the game. If more than 60 people are playing, the delay is calculated as: delay=(delay*60)/player-count;
    ifrandom(probability);Randomly sets the condition flag to true or false. A probability of0=impossible, and 256=certain
    jump(labelname);Jumps to the script block with the trigger 'Label,labelname' The otherscript will not return to this one
    fork(labelname);Starts the script block with trigger 'Label,labelname' running at thesame time as this one! Be careful with this command :-) If the target block has no pause, wait, say, or npcsay commands then will behave like agosub command. (due to non-preemptive multitasking)
    end();Terminates processing of the current script block

    Chat based
    mes(string);Displays the specified message at the bottom of the playerscreen
    say(string);Makes the players character say the specified string, all nearbypeople will also see this. The command will then automatically delay the script depending on the length of the string.
    multi2(string, label, string, label);Displays a multiple choice menu with 2 items, depending which theplayers chooses the relevant block of script will be called. Note: The player may decide not to choose either item in which case the scriptterminates
    multi3(string, label, string, label, string, label);Displays a multiple choice menu with 3 items
    multi4(string, label, string, label, string, label, string, label);Displays a multiple choice menu with 4 items

    Movement based
    changelevel(int level);Moves the player to the specified level, without changing the x and yposition. Level-codes: 0=ground floor, 1=1st floor, 2=2nd floor, 3=basement
    changelevelup();Moves the player up one level if possible.
    changeleveldown();Moves the player down one level if possible.

    Stat based
    ifstatrandom(stat, base-probability, top-probability);Like the random command but stat modified, if the stat is 0 thebase-probability is used, if the stat is 100 the top-probability is used. If the stat is inbetween then the 2 values are interpolated.
    advancestat(stat, base, exp);Permanently increases the specified stat, and sets the new levels asthe current normal. The equation used is: stat+=base+exp*stat;
    addstat(stat, constant, percent);Temporarily adds constant+(current*percent)/100 to the 2nd playersspecified stat. Where current is the current level of the stat
    substat(stat, constant, percent);Like addstat, except it subtracts.
    healstat(stat, constant, percent);Like addstat, but won't take the players stat above the normallevel
    ifstatup(stat);Sets the condition to true if the players stat is currently above thenormal level, false otherwise
    ifstatdown(stat);Sets the condition to true if the players stat is currently below thenormal level, false otherwise
    ifstatabove(stat,value);Sets the condition to true if the players stat is above (but not equalto) the specified value, false otherwise
    ifstatatleast(stat, variable, value);Sets the condition to true if the players stat is more than or equalto getvar(variable)+value, false otherwise
    giveqp(value);Gives the player the specified number of quest points
    ifqp(value);Sets the condition to true if the players quest points are more thanor equal to the specified value, false otherwise

    Variable based
    ifvar(variable, value);Sets the condition flag to true if the variable is equal to thespecified value. Sets false otherwise
    ifvarmore(variable, value);Sets the condition flag to true if the variable is greater than (butnot equal to) the specifed value. Sets false otherwise
    ifvarless(variable, value);Sets the condition flag to true if the variable is less than (but notequal to) the specifed value. Sets false otherwise
    setvar(variable, value);Sets the variable to the specified value. A variable can only hold thevalue 0-127. Always try to zero variables when they are no longer needed to save memory.
    addvar(variable, value);Adds the specified amount to the variables value. A variable can onlyhold the value 0-127.
    subvar(variable, value);Subtracts the specified amount to the variables value. A variable canonly hold the value 0-127.
    randomvar(value);Sets the variable 'random' to a random integer between 0 andvalue-1
    addbigvar(variable, value);Add the specified value to the variable. A big-variable can holdvalues between 0-268435455
    subbigvar(variable, value);Subtracts the specified value from the variable. A big-variable canhold values between 0-268435455
    ifbigvarmore(variable, value);Same as ifvarmore except for big-variables

    Coordinate based
    These commands all require a map coordinate to operate. The coordinate used can be set using the setcoord command below. If the setcoord command is not used the system will attempt to use the coordinate of the item the player is currently interacting with.
    setcoord(coordinate);Sets the active coordinate to the specified absolute position. Thecoordinate can only be worked out with the aid of the runescape map editor.
    playercoord();Sets the active coordinate to the players current position.
    addobject(object, count, time);Adds the specified object at the active coordinate. If the object isstackable - count indicates how many to place in the stack. Time indicates how long in server cycles before the object despawns.
    addnpc(npc);Spawns the specified npc at the active coordinate.
    addloc(location);Adds the specified location at the active coordinate.
    ifblocked();Sets the condition flag to true if the square indicated by theactivate coordinate is currently blocked, sets false otherwise
    teleport();Teleports the player to the active coordinate.
    showeffect(type);Displays a special effect animation of the specified type at theactive coordinate.

    Inventory based
    give(object, count);Gives the specified number of the specified object to playersinventory
    remove(object, count);Removes the specified number of the specified object from playersinventory (or as many as possible)
    ifworn(object);Sets condition flag to true if player is wearing specifiedobject
    ifheld(object, count);Sets condition flag to true if player is holding specifiedobject
    The commands below may only be used when player isinteracting with an object in their inventory
    sellinv(percentage);Removes the active inventory object from the players inventory, andreplaces it with the specified percentage of it's value in gold coins
    delinv();Deletes the active inventory object from the playersinventory

    Object based
    These commands may only be used when a player isinteracting with an object on the ground
    ifobjectvisible();Sets the condition code to true if a line of sight can be tracedbetween the player and the object, false otherwise
    takeobject();Removes the object from the ground and places it in the playersinventory
    delobject();Removes the object from the world

    Location based
    These commands may only be used when a player isinteracting with a location
    changeloc(location);Changes the location to the new specified location type
    upstairs();Moves the player up a level, and adjusts their position horizontallyto account for the stairs
    downstairs();Moves the player down a level, and adjusts their position horizontallyto account for the statis
    delloc();Removes the location from the world

    Boundary based
    These commands may only be used when a player isinteracting with a boundary
    changebound(boundary);Changes the boundary to the new specified boundary type
    boundaryteleport();Walks the player through the boundary to the opposite side. Useful forlocked doors, and secret pasages.

    Npc based
    ifnearnpc(npc);Attempt to find a nearby npc of the type specified. Sets the conditionflag to true if sucessful. If succesful the player is marked as interacting with the npc so the other npc commands can also be used.
    ifnearvisnpc(npc);Simliar to ifnearnpc, except the npc must be within 8 squares, andthere must be a line of sight between the player and npc for the command to succeed.
    The commands below may only be used when player isinteracting with an npc
    npcsay(string);Makes the npc say the specified string, all nearby people will alsosee this. The command will then automatically delay the script depending on the length of the string.
    npcbusy();Sets the npc to busy, and stops it walking around. Not normallynecessary as the system attempts to trigger this automatically.
    npcunbusy();Sets the npc to unbusy, and allows it to walk around again. Notnormally necessary as the system attempt to trigger this automatically.
    shootnpc(projectile);Fires a projectile at the npc
    npcattack();Causes the npcs to pursue and attack the player
    ifnpcvisible();Sets the condition code to true if a line of sight can be tracedbetween the player and npc
    addnpcstat(stat,constant,percent);Temporarily adds constant+(current*percent)/100 to the npcs specifiedstat
    subnpcstat(stat,constant,percent);Like addnpc stat, except it subtracts
    healnpcstat(stat,constant,percent);Like addnpc stat, but won't take npcs stat above the normal level
    ifnpcstatup(stat);Sets the condition to true if the npcs specified stat is currentlyabove the normal level, false otherwise
    ifnpcstatdown(stat);Sets the condition to true if the npcs specified stat is currentlybelow the normal level, false otherwise
    delnpc();Removes the npc from the world
    changenpc(npc);Changes the npc into a the new npc type specified!
    npcretreat(time);Causes the npc to run away from the player for the specified number ofserver cycles

    Other player based
    These commands may only be used when a player isinteracting with another player.
    addplaystat(stat, constant, percent);Temporarily adds constant+(current*percent)/100 to the 2nd playersspecified stat. Where current is the current level of the stat
    subplaystat(stat, constant, percent);Like addplaystat, except it subtracts.
    healplaystat(stat, constant, percent);Like addplaystat, but won't take the players stat above the normallevel
    ifplaystatup(stat);Sets the condition to true if the 2nd players stat is currently abovethe normal level, false otherwise
    ifplaystatdown(stat)Sets the condition to true if the 2nd players stat is currently belowthe normal level, false otherwise
    omes(string);Displays a message on the 2nd players screen
    ifplayervisible();Sets the condition code to true if a line of sight can be tracedbetween the 2 players, false otherwise
    shootplayer(projectile);Fires a projectile at the 2nd player

    Modern Runescript:







    A lot different :P, not entirely sure how enumerations are handled. The enum command seems to have two type declarations then two parameters.

    % - variable
    $ - script variable
    ~ - gosub
    @ - jump
    <> - evaluate

    The enumerations probably have something to do with how the scripts in the client captured variables (could return string/integer).
    « Last Edit: June 23, 2014, 07:07:30 AM by sinisoul »


    OfflineAshi

    • Member
    • ****
    • Posts: 3,585
    • Thanks: +0/-0
      • View Profile
    Re: Runescript
    « Reply #1 on: June 22, 2014, 03:15:11 PM »
    And this was meant so Jagex could easily add content? It looks ugly.

    Offlinesini

    • Member
    • ****
    • *
    • *
    • Posts: 5,785
    • Thanks: +0/-0
      • View Profile
    Re: Runescript
    « Reply #2 on: June 22, 2014, 03:42:40 PM »
    Its based off a legacy system. Btw 'loc' is object, 'obj' is item.

    OfflinePure_

    • Member
    • ****
    • *
    • Posts: 4,687
    • Thanks: +0/-0
      • View Profile
    Re: Runescript
    « Reply #3 on: June 22, 2014, 04:01:39 PM »
    Yeah the legacy aspect definitely shows off, I think it's lacking in some features (perhaps a good alternative to mass if-else would be nice). Some of the syntax is meh too.
    i won the forum

    Offlineasshole_rule

    • Member
    • ****
    • Posts: 4,872
    • Thanks: +0/-0
      • View Profile
    Re: Runescript
    « Reply #4 on: June 22, 2014, 04:19:07 PM »
    ugh looks so messy and gross to look at

    what does loc actually stand for anyway?
    the strongest super saiyan on moparscape

    I'd also like to say that rep abuse is an offense, and one member of this topic has had their rep locked due to it.

    OfflineAshi

    • Member
    • ****
    • Posts: 3,585
    • Thanks: +0/-0
      • View Profile
    Re: Runescript
    « Reply #5 on: June 22, 2014, 04:28:37 PM »
    Its based off a legacy system. Btw 'loc' is object, 'obj' is item.
    That naming is so misleading omg!

    I really doubt that they have anything good right now anyway.

    Offlinesini

    • Member
    • ****
    • *
    • *
    • Posts: 5,785
    • Thanks: +0/-0
      • View Profile
    Re: Runescript
    « Reply #6 on: June 22, 2014, 04:41:58 PM »
    locale? location?

    Offlineimthenull

    • Member
    • ****
    • Posts: 2,511
    • Thanks: +0/-0
      • View Profile
    Re: Runescript
    « Reply #7 on: June 22, 2014, 05:19:34 PM »
    I have been interested in RuneScript for quite a while, mainly just wanting to know what it looks like. It's really quite ugly, but still a pretty cool concept.. It would be pretty cool if jagex released a version of it for the public to play with.

    OfflineDeath Style

    • Member
    • ****
    • Posts: 570
    • Thanks: +0/-0
      • View Profile
    Re: Runescript
    « Reply #8 on: June 22, 2014, 05:40:07 PM »
    Well this is disappointing.

    OfflineLin

    • Member
    • ****
    • *
    • Posts: 4,368
    • Thanks: +0/-0
      • View Profile
    Re: Runescript
    « Reply #9 on: June 22, 2014, 08:26:32 PM »
    ugh looks so messy and gross to look at

    what does loc actually stand for anyway?
    Local object I believe.
    Quote
    <ry60003333> i was too busy waiting for this dollar i found on the floor to respawn
    Quote
    <Avail> so it's pretty cool to throw my penis around
    A tree falls out of the bird's nest.

    :palm:

    Offlinevortex

    • Member
    • ****
    • *
    • Posts: 1,368
    • Thanks: +0/-0
      • View Profile
    Re: Runescript
    « Reply #10 on: June 23, 2014, 06:55:05 AM »
    Notes:
    One server cycle is 0.6 seconds, so 100 cycles = 1 minute
    Probabilities range from 0=impossible to 256=certain

    Misc commands
    thinkbubble();Should only be called if the player has just triggered a 'use' script. Displays a thinkbubble above the players head which contains the object they are currently using. For instance this is used to display the axe above your head when you chop a tree down.
    ifmale();Test the player's gender, useful for getting gender specific language correct in the scripts.
    nodefault();Stops the game executing the default action when this script is complete. For example can be used to stop an object from being taken, or a spell being cast.
    openshop(shop);Displays the specified shop dialog, and allows the player to buy and sell items. Doing so frees the npc, so no npc specific commands can be used after this point.
    displaybalance();Displays the players current bank balance

    Control flow based
    Delay(delay);Delays both the script and the player for the specified number ofserver cycles
    Pause(mindelay, maxdelay);Pauses the script for a random amount of time inbetween the specifiedminimum and maximum. The player is free to do other stuff meanwhile, useful for making trees regrow etc.. Be very careful when using delay orpause, as the player may have logged out meanwhile. Normally this doesn't matter, but don't rely on things after it to do anything permament whichaffects the player (such as setting a player variable) as it may be lost.
    modpause(mindelay, maxdelay);Similar to the pause command, except the total delay is modified bythe number of players in the game. If more than 60 people are playing, the delay is calculated as: delay=(delay*60)/player-count;
    ifrandom(probability);Randomly sets the condition flag to true or false. A probability of0=impossible, and 256=certain
    jump(labelname);Jumps to the script block with the trigger 'Label,labelname' The otherscript will not return to this one
    fork(labelname);Starts the script block with trigger 'Label,labelname' running at thesame time as this one! Be careful with this command :-) If the target block has no pause, wait, say, or npcsay commands then will behave like agosub command. (due to non-preemptive multitasking)
    end();Terminates processing of the current script block

    Chat based
    mes(string);Displays the specified message at the bottom of the playerscreen
    say(string);Makes the players character say the specified string, all nearbypeople will also see this. The command will then automatically delay the script depending on the length of the string.
    multi2(string, label, string, label);Displays a multiple choice menu with 2 items, depending which theplayers chooses the relevant block of script will be called. Note: The player may decide not to choose either item in which case the scriptterminates
    multi3(string, label, string, label, string, label);Displays a multiple choice menu with 3 items
    multi4(string, label, string, label, string, label, string, label);Displays a multiple choice menu with 4 items

    Movement based
    changelevel(int level);Moves the player to the specified level, without changing the x and yposition. Level-codes: 0=ground floor, 1=1st floor, 2=2nd floor, 3=basement
    changelevelup();Moves the player up one level if possible.
    changeleveldown();Moves the player down one level if possible.

    Stat based
    ifstatrandom(stat, base-probability, top-probability);Like the random command but stat modified, if the stat is 0 thebase-probability is used, if the stat is 100 the top-probability is used. If the stat is inbetween then the 2 values are interpolated.
    advancestat(stat, base, exp);Permanently increases the specified stat, and sets the new levels asthe current normal. The equation used is: stat+=base+exp*stat;
    addstat(stat, constant, percent);Temporarily adds constant+(current*percent)/100 to the 2nd playersspecified stat. Where current is the current level of the stat
    substat(stat, constant, percent);Like addstat, except it subtracts.
    healstat(stat, constant, percent);Like addstat, but won't take the players stat above the normallevel
    ifstatup(stat);Sets the condition to true if the players stat is currently above thenormal level, false otherwise
    ifstatdown(stat);Sets the condition to true if the players stat is currently below thenormal level, false otherwise
    ifstatabove(stat,value);Sets the condition to true if the players stat is above (but not equalto) the specified value, false otherwise
    ifstatatleast(stat, variable, value);Sets the condition to true if the players stat is more than or equalto getvar(variable)+value, false otherwise
    giveqp(value);Gives the player the specified number of quest points
    ifqp(value);Sets the condition to true if the players quest points are more thanor equal to the specified value, false otherwise

    Variable based
    ifvar(variable, value);Sets the condition flag to true if the variable is equal to thespecified value. Sets false otherwise
    ifvarmore(variable, value);Sets the condition flag to true if the variable is greater than (butnot equal to) the specifed value. Sets false otherwise
    ifvarless(variable, value);Sets the condition flag to true if the variable is less than (but notequal to) the specifed value. Sets false otherwise
    setvar(variable, value);Sets the variable to the specified value. A variable can only hold thevalue 0-127. Always try to zero variables when they are no longer needed to save memory.
    addvar(variable, value);Adds the specified amount to the variables value. A variable can onlyhold the value 0-127.
    subvar(variable, value);Subtracts the specified amount to the variables value. A variable canonly hold the value 0-127.
    randomvar(value);Sets the variable 'random' to a random integer between 0 andvalue-1
    addbigvar(variable, value);Add the specified value to the variable. A big-variable can holdvalues between 0-268435455
    subbigvar(variable, value);Subtracts the specified value from the variable. A big-variable canhold values between 0-268435455
    ifbigvarmore(variable, value);Same as ifvarmore except for big-variables

    Coordinate based
    These commands all require a map coordinate to operate. The coordinate used can be set using the setcoord command below. If the setcoord command is not used the system will attempt to use the coordinate of the item the player is currently interacting with.
    setcoord(coordinate);Sets the active coordinate to the specified absolute position. Thecoordinate can only be worked out with the aid of the runescape map editor.
    playercoord();Sets the active coordinate to the players current position.
    addobject(object, count, time);Adds the specified object at the active coordinate. If the object isstackable - count indicates how many to place in the stack. Time indicates how long in server cycles before the object despawns.
    addnpc(npc);Spawns the specified npc at the active coordinate.
    addloc(location);Adds the specified location at the active coordinate.
    ifblocked();Sets the condition flag to true if the square indicated by theactivate coordinate is currently blocked, sets false otherwise
    teleport();Teleports the player to the active coordinate.
    showeffect(type);Displays a special effect animation of the specified type at theactive coordinate.

    Inventory based
    give(object, count);Gives the specified number of the specified object to playersinventory
    remove(object, count);Removes the specified number of the specified object from playersinventory (or as many as possible)
    ifworn(object);Sets condition flag to true if player is wearing specifiedobject
    ifheld(object, count);Sets condition flag to true if player is holding specifiedobject
    The commands below may only be used when player isinteracting with an object in their inventory
    sellinv(percentage);Removes the active inventory object from the players inventory, andreplaces it with the specified percentage of it's value in gold coins
    delinv();Deletes the active inventory object from the playersinventory

    Object based
    These commands may only be used when a player isinteracting with an object on the ground
    ifobjectvisible();Sets the condition code to true if a line of sight can be tracedbetween the player and the object, false otherwise
    takeobject();Removes the object from the ground and places it in the playersinventory
    delobject();Removes the object from the world

    Location based
    These commands may only be used when a player isinteracting with a location
    changeloc(location);Changes the location to the new specified location type
    upstairs();Moves the player up a level, and adjusts their position horizontallyto account for the stairs
    downstairs();Moves the player down a level, and adjusts their position horizontallyto account for the statis
    delloc();Removes the location from the world

    Boundary based
    These commands may only be used when a player isinteracting with a boundary
    changebound(boundary);Changes the boundary to the new specified boundary type
    boundaryteleport();Walks the player through the boundary to the opposite side. Useful forlocked doors, and secret pasages.

    Npc based
    ifnearnpc(npc);Attempt to find a nearby npc of the type specified. Sets the conditionflag to true if sucessful. If succesful the player is marked as interacting with the npc so the other npc commands can also be used.
    ifnearvisnpc(npc);Simliar to ifnearnpc, except the npc must be within 8 squares, andthere must be a line of sight between the player and npc for the command to succeed.
    The commands below may only be used when player isinteracting with an npc
    npcsay(string);Makes the npc say the specified string, all nearby people will alsosee this. The command will then automatically delay the script depending on the length of the string.
    npcbusy();Sets the npc to busy, and stops it walking around. Not normallynecessary as the system attempts to trigger this automatically.
    npcunbusy();Sets the npc to unbusy, and allows it to walk around again. Notnormally necessary as the system attempt to trigger this automatically.
    shootnpc(projectile);Fires a projectile at the npc
    npcattack();Causes the npcs to pursue and attack the player
    ifnpcvisible();Sets the condition code to true if a line of sight can be tracedbetween the player and npc
    addnpcstat(stat,constant,percent);Temporarily adds constant+(current*percent)/100 to the npcs specifiedstat
    subnpcstat(stat,constant,percent);Like addnpc stat, except it subtracts
    healnpcstat(stat,constant,percent);Like addnpc stat, but won't take npcs stat above the normal level
    ifnpcstatup(stat);Sets the condition to true if the npcs specified stat is currentlyabove the normal level, false otherwise
    ifnpcstatdown(stat);Sets the condition to true if the npcs specified stat is currentlybelow the normal level, false otherwise
    delnpc();Removes the npc from the world
    changenpc(npc);Changes the npc into a the new npc type specified!
    npcretreat(time);Causes the npc to run away from the player for the specified number ofserver cycles

    Other player based
    These commands may only be used when a player isinteracting with another player.
    addplaystat(stat, constant, percent);Temporarily adds constant+(current*percent)/100 to the 2nd playersspecified stat. Where current is the current level of the stat
    subplaystat(stat, constant, percent);Like addplaystat, except it subtracts.
    healplaystat(stat, constant, percent);Like addplaystat, but won't take the players stat above the normallevel
    ifplaystatup(stat);Sets the condition to true if the 2nd players stat is currently abovethe normal level, false otherwise
    ifplaystatdown(stat)Sets the condition to true if the 2nd players stat is currently belowthe normal level, false otherwise
    omes(string);Displays a message on the 2nd players screen
    ifplayervisible();Sets the condition code to true if a line of sight can be tracedbetween the 2 players, false otherwise
    shootplayer(projectile);Fires a projectile at the 2nd player
    « Last Edit: June 23, 2014, 06:58:20 AM by vortex »

    Offlinesppt

    • l33t creator of the PasteBin
    • Member
    • ****
    • *
    • Posts: 2,438
    • Thanks: +0/-0
      • View Profile
    Re: Runescript
    « Reply #11 on: June 23, 2014, 07:48:20 AM »
    For some reason all those commands remind me heavily of scripting in the early days with bots like AR and Slave ^
    das einzige erleuchtenden an religion ist ein brennende tempel bei nacht

    Offlinevortex

    • Member
    • ****
    • *
    • Posts: 1,368
    • Thanks: +0/-0
      • View Profile
    Re: Runescript
    « Reply #12 on: June 23, 2014, 02:50:41 PM »
    whens interpreter

    OfflineAmbokile

    • Member
    • ****
    • Posts: 3,009
    • Thanks: +0/-0
      • View Profile
    Re: Runescript
    « Reply #13 on: June 23, 2014, 03:05:07 PM »
    When did they release "Old Runescape"? Anyone got a link?

    Offlinearham 4

    • Member
    • ****
    • *
    • Posts: 6,723
    • Thanks: +0/-0
      • View Profile
    Re: Runescript
    « Reply #14 on: June 23, 2014, 03:30:44 PM »
    Lel, jagex using ints as booleans.



    teh first line.
    lolol remember when mopar was a thing

    OfflineAmbokile

    • Member
    • ****
    • Posts: 3,009
    • Thanks: +0/-0
      • View Profile
    Re: Runescript
    « Reply #15 on: June 23, 2014, 03:33:01 PM »
    Lel, jagex using ints as booleans.



    teh first line.

    Or map_members is an integer that stores the amount of members, and they're checking if it is equal to 0 ;)

    OfflinePure_

    • Member
    • ****
    • *
    • Posts: 4,687
    • Thanks: +0/-0
      • View Profile
    Re: Runescript
    « Reply #16 on: June 23, 2014, 04:00:35 PM »
    Lel, jagex using ints as booleans.

    [img ]http://i.imgur.com/heXbHMP.png[/img]

    teh first line.
    Protip: a boolean is basically an integer (wrapped in a specialized class, ie Boolean)... Bits 1/0 true/false.

    tldr ur retarded
    « Last Edit: June 23, 2014, 04:04:08 PM by Pure_ »
    i won the forum

    Offlinesini

    • Member
    • ****
    • *
    • *
    • Posts: 5,785
    • Thanks: +0/-0
      • View Profile
    Re: Runescript
    « Reply #17 on: June 23, 2014, 09:37:32 PM »
    Lel, jagex using ints as booleans.

    [img ]http://i.imgur.com/heXbHMP.png[/img]

    teh first line.
    Protip: a boolean is basically an integer (wrapped in a specialized class, ie Boolean)... Bits 1/0 true/false.

    tldr ur retarded af

    Fixed.

    Offlinelare69

    • Member
    • ****
    • *
    • Posts: 5,321
    • Thanks: +0/-0
      • View Profile
    Re: Runescript
    « Reply #18 on: June 30, 2014, 08:38:34 AM »
    looks ugly as hell
    hi. check out luna:)

    Offlinesorecheeny

    • Member
    • ****
    • Posts: 495
    • Thanks: +0/-0
      • View Profile
    Re: Runescript
    « Reply #19 on: July 02, 2014, 09:49:31 PM »
    This is so cool.
    First go into client.jar (client sided)

    LOL.

     

    Copyright © 2017 MoparScape. All rights reserved.
    Powered by SMFPacks SEO Pro Mod |
    SimplePortal 2.3.5 © 2008-2012, SimplePortal