Jump to content

Skorm

Forum Moderator
  • Posts

    1,238
  • Joined

  • Last visited

  • Days Won

    28

Everything posted by Skorm

  1. prontera,173,200,4 script Blah -1,5,5,{ end; OnTouch: if(!instance_id()) end; npctalk "This is a message!"; monster "place",60,100,"Poring",1002,1,"NPCNAME::OnLabel"; disablenpc instance_npcname(strnpcinfo(0)); } This is the best way to figure out commands. https://github.com/rathena/rathena/blob/master/doc/script_commands.txt#L6194
  2. Sorta but it would be dumb to do so... In order to do it without an npc at those coordinates, you would need to loop and constantly track your players' positions until they are at that point then run the rest of the script. The better way of doing that would be to create a hidden npc at the coordinates you want to trigger OnTouch. They should still work within an instance. Using -1 for an npc's sprite will make it hidden from the client.
  3. @AnnieRuru Made a fantastic post with three excellent ways on how to do this already...
  4. This script works very much like what the topic describes.
  5. Could maybe shorten it to... prontera,255,255,3 script Equip Freebies 123,{ getinventorylist; copyarray [email protected][0],@inventorylist_id[0],getarraysize(@inventorylist_id); for([email protected] = 0; [email protected] < .len; [email protected]++){ if(!isequipped(.equip_id[[email protected]]) && inarray([email protected], .equip_id[[email protected]]) == -1) { getitem .equip_id[[email protected]],1; equip .equip_id[[email protected]]; } else [email protected]++; } mes "[ Freebies ]"; if(!.len - [email protected]){ mes "It looks like you already have all the freebie(s)."; close; } else if ([email protected]) mes "It looks like you already have "[email protected]+" freebie(s)."; mes "Here is your freebies."; close; OnInit: setarray .equip_id, 1208, 2154; // Add your ID's here. .len = getarraysize(.equip_id); } Although in this case if the user was able to store/trade the freebies he could get more, but it would also allow the list of freebies to be updated. Also my example is completely untested so... Edit: I think equipped items might already show up in the @inventorylist_id so I might not even need isequipped().
  6. This is a neat idea but I think the cards are way too big you should consider resizing the cards and also converting the magenta color to transparency.
  7. Hi @Maki it has been a minute, hasn't it? I've been playing a little... IGN is Zaldus because someone took Skorm. >_>
  8. I've been wanting this version of Prontera for years thanks for re-uploading it.
  9. Thank you for the suggestions! The game is meant to be manic so that you can't pause it and will die if you aren't able to allocate points fast enough or heal, but I will add an option to click the potion on the side to heal.
  10. http://lovely.vhostsite.online/Gam/ I roughly used ROs leveling and stat system. Click the monster to do damage and press F1 to use potions.
  11. I like that idea. I also wanted to add an option where you could split the npcs up. So one for changing buffs and one for setting buffs since double-clicking is a little dodgy. Edit: @Radian Done.
  12. Thanks for letting me know I've got a fix I'll upload it when I get home from work.
  13. I did something kinda like this years ago. Like if you're in a party and you kill an mvp you can roll on the loot.
  14. Change every instance of #KAFRAPOINTS to #CASHPOINTS.
  15. It should if not the oldest version will because that works on rAmod. I actually made this script way back in 2014.
  16. In your item database the last two script sections are for equip and unequip... In both items add something like this two the equip script. if(isequipped(1599)) unequip(EQI_SHOES); Anyways that's all I'm saying.
  17. Skorm

    Hi All

    Hmm that's kinda neat. Welcome.
  18. Get the mob ids. Get the NPC coordinates. Get the maps that you want to use for this event (do /where we need that map name). Create the mobs in your mod_db and post the entries. Just because you post in the script request section doesn't mean we're going to do everything for it. These are some simple things you can do to improve the odds of your request being completed.
  19. You could re-purpose my woe waiting groom timer script. http://upaste.me/a34345394862f242d I might try to make a function for this at some point!
  20. To Annie's post above she actually told me not to do this when I did it like 4 years ago... What the heck and she doesn't even credit me here for maybe giving her some kind of subliminal inspiration whatever... :< [Source] Hurry before she changes it. /gg Anyways I just wanted to post a neat function I came up with for anybody who might want to use it. DisplayPages Function: Basically, it takes a bunch of options that you want to put into a menu and adds pages so the players can move through them easily. ///This function takes an array of strings and builds a menu players can navigate. ///Usage: DisplayPages([email protected]_array${, [email protected]_size }); ///Output: This function returns the selected item index from the given array. function script DisplayPages { [email protected]_size = getarg(1, 10); [email protected] = getarraysize(getarg(0)); [email protected] = [email protected] / [email protected]_size; [email protected] -= [email protected] > [email protected]_size && [email protected] % [email protected]_size ? 0 : 1; do { copyarray [email protected]$[0], getelementofarray(getarg(0), [email protected]_size * [email protected]), [email protected]_size; if( [email protected] < [email protected] ) [email protected]$[[email protected]_size] = "Next Page =>"; if( [email protected] > 0 ) [email protected]$[[email protected]_size +1] = "<= Previous Page"; [email protected] = select(implode([email protected]$,":")); if( [email protected] == [email protected]_size +1 ) [email protected]++; else if( [email protected] == [email protected]_size +2 ) [email protected]; deletearray [email protected]$; } while( [email protected] > [email protected]_size ); [email protected] += [email protected]_size * [email protected]; return [email protected]; } Example NPC: prontera,146,188,4 script Warper 97,{ mes "[Warper]"; mes "Select the map you want to warp to."; next; setarray [email protected]$, "prontera", "morocc", "payon", "geffen", "izlude", "jawaii", "dewata", "eclage", "moscovia", "ayothaya", "lighthalzen", "alberta", "aldebaran", "xmas", "comodo", "hugel", "rachel", "veins", "pvp_n_1-5", "pvp_n_1-4"; [email protected] = DisplayPages([email protected]$, 5); warp [email protected]$[[email protected]], 0, 0; end; }
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.