Jump to content

ToiletMaster

Members
  • Content Count

    146
  • Joined

  • Last visited

  • Days Won

    1

Reputation Activity

  1. Upvote
    ToiletMaster reacted to Emistry in Dynamic Switch Statement with choices   
    just some invalid variables.
    http://upaste.me/8a86be
  2. Upvote
    ToiletMaster reacted to Emistry in Dynamic Switch Statement with choices   
    something like this ?
    http://upaste.me/356ebf
     
    the trick is more or less the same..
  3. Upvote
    ToiletMaster reacted to evilpuncker in Can't seem to find all items in inventory   
    or just use:
     
     
    .@novice = countitem(713);
     
    instead of:
     
    countitem(713) == .@novice;
     

    the first one sets a variable (=), while the second one compare it (==)
  4. Upvote
    ToiletMaster reacted to Dastgir in Input command on script selectable   
    while(input(.@novice,1,1000)) { mes ""+.npc_name$+""; mes "Please re-think about your choice. It's not making any sense!"; close; } mes ""+.npc_name$+""; mes "So..You want to get "+.@novice+" Novice Potion?"; next; if(countitem(JELLOPY_ID) >= (.@novice*2)){ mes ""+.npc_name$+""; mes "Here you go!"; delitem JELLOPY_ID,.@novice*2; getitem NOVICE_POTION_ID,.@novice; next; mes ""+.npc_name$+""; mes "Come back if you have more!"; close; } you can also set configuration(variables) for that multiplier...
  5. Upvote
    ToiletMaster reacted to Dastgir in Shortening this script   
    if(baselevel >= 5 && novice_ground == 1) { mes ""+.npc_name$+""; mes "Good job Leveling up! Go on! Take one item from my stash! It's on me!"; next; .@menu$ = ""; for (.@i=0; .@i<getarraysize(.items); .@i++){ .@menu$ = (.@menu$)+""+getitemname(.items[.@i])+":"; } .@menu$ = (.@menu$)+"Cancel"; .@item_selected = select(.@menu$); if (.@item_selected > getarraysize(.items)){close;} next; mes ""+.npc_name$+""; mes "You've selected ^FF0000"+getitemname(.items[(.@item_selected)-1])+"^000000."; mes "Are you sure?"; next; switch(select("Yes:No")){ case 1: mes ""+.npc_name$+""; mes "Here you go!"; getitem .items[(.@item_selected)-1],1; set novice_ground, 2; close; case 2: mes ""+.npc_name$+""; mes "Come back once you've decided!"; close; } } And at OnInit:
    OnInit: setarray .items[0],13040,13415,1545,13041; end;
  6. Upvote
    ToiletMaster reacted to Patskie in summon monster script   
    To attach all party member. try :
     
    getpartymember getcharid(1), 2;for ( set .@i, 0; .@i < $@partymembercount; set .@i, .@i + 1 ) { detachrid; if ( attachrid($@partymemberaid[.@i]) ) { // do whatever }}
  7. Upvote
    ToiletMaster reacted to mleo1 in summon monster script   
    set .arrcount, getarraysize($@monsteridweak);for(set .@i, 1; .@i <= (.arrcount); set .@i, .@i + 1){monster "this",0,0,"--ja--",$@monsteridweak[.@i],100,strnpcinfo(3)+"::OnWave1";}  loop thru it
     
    dunno if script works, never tried lol
  8. Upvote
    ToiletMaster reacted to Emistry in summon monster script   
    @mleo
    nearly 99.99% working xD  ( wrong index number )
    set .@arrcount,getarraysize( $@monsteridweak );for( set .@i,0; .@i < .@arrcount; set .@i, .@i + 1 ){ monster "this",0,0,"--ja--",$@monsteridweak[.@i],100,strnpcinfo(3)+"::OnWave1";} and actually you dont really need to use a "Global Variable" in your case....
  9. Upvote
    ToiletMaster reacted to Mumbles in summon monster script   
    Here's my method, which utilizes your array and makes it a little easier to reconfigure (if needed):
     
    guild_vs5,57,47,4  script  Wave Mobs#rand::wave_mobs  73,{  // Dialogue   mes "Hello";  mes "You've caused monsters to be summoned!";   close2;    // Summon all monsters in the '.monster_weak' array  for (.@i = 0; .@i < getarraysize(.monster_weak); .@i++)    monster .map$, 0, 0, .weak_name$, .monster_weak[.@i], .weak_amount, strnpcinfo(3) +"::OnWave";      end; OnWave:    // Mob death event    if (mobcount(.map$, strnpcinfo(3) +"::OnWave") <= .announce_start)      announce "There are only "+ mobcount(.map$, "all") +" left! Good luck!", 0;        end;    OnInit:    // Map name    .map$ = "guild_vs5";        // Mob count before announcements start    .announce_start = 95;        // Weak monster name    .weak_name$ = "--ja--";        // List of weak monster IDs    setarray .monster_weak[0],  1301,1297,1403,1654,1268,1507,1830,1307,1302,1635,                  1655,1636,1777,1837,1656,1219,1502,1637,1262,1700,                  1320,1865,1657,1702,1829,1375,1204,1653,1416,1200,                  1197;        // Amount of weak monsters to summon    .weak_amount = 100;      end;}  

     
    You should consider reading a little more on looping through arrays in the documentation or on Wiki. The basic concept of using a for loop with your array(s) is that you'll essentially run the same sequence of code through your array indexes until each index has been used.
     
    for (.@i = 0; .@i < getarraysize(.monster_weak); .@i++)  
    This loop says, "Start .@i off with the value 0. For each loop in which .@i is less than the array size of the array .monster_weak, run the script on the first line below (or within curlies { } below), then increase the current value of .@i by 1."
     
    Now, this might seem like a mouthful at first, but it really starts to make sense once you understand the relation between array indexes and the usage of an incrementation variable (.@i, in this case) in your script.
     
    The first value of an array is at the index 0; this means that an array set up like this:
     
    setarray .array[0], 123, 231, 321;  
    ...will have its first index value (.array[0]) as 123, its second index value (.array[1]) as 231, and its third index value (.array[2]) as 321. When we go through the array with a loop, we start .@i off at 0 so that we can use .@i as a place holder for the array and start reading from the first index (.array[0]) with .array[.@i]. Here's an example of this usage:
     
    for (.@i = 0; .@i < getarraysize(.array); .@i++)  mes .array[.@i];  close;  
    This loop will display an NPC message dialogue with the value of the current index being referred to. The final product will look something like:
     
    123
    231
    321
     
    ...followed by a close button. If you wanted to do more, enclose your looped script within curlies { }, like you would with an if statement.
     

     
    Regarding getarraysize():
    This script command returns a value with the size of an array - the amount of indexes an array has. Our array .array has three indexes, therefore it has an array size of 3. Since there is no value for .array[3], we can safely use the condition .@i < getarraysize(.array) within the for
    loop's expression; this also allows us to increase the amount of values
    our array has without having to modify the loop directly.
     

     
    To reiterate what @Emistry said, you can just use permanent NPC variables (.variable_name) instead of global variables - that is, unless you intend to use your arrays in such a way that permanent NPC variables would not suffice.
  10. Upvote
    ToiletMaster reacted to jaBote in summon monster script   
    Well, since he's new on it I think we should explain some things before giving him the solution, isn't it?
     
    First of all you know what's an array and possibly miss a bit of how setarray works, but I'd advice you to fill up the arrays on their first position. The first position of an array is number 0, then number 1, 2, 3, etcetera. Why positions start on 0? I don't know very well; Why start setting on position 0? It's a mere convention and you can perfectly start setting at position 1. It could also simplify some calculations/processing later.
     
    That setarray literally said: start setting the array $@monsteridweak at index 1 (second position, remember first one is 0) with the values: 1301 for index 1,1297 for index 2,1403 for index 3, etcetera.
     
    Then, let's go to the summoning part: you tried to summon this piece of code:
    monster "this",0,0,"--ja--",$@monsteridweak[1],100,strnpcinfo(3)+"::OnWave1"; which I think you know what it literally means, but let's go to the monster ID variable you passed. You're trying to summon the content of $@monsteridweak at index 1, which is just ID# 1301 and just summons that mob, and that's your issue. What to do to solve this? Just passing the $@monsteridweak variable? Wrong (that'll only summon the monster at position 0 if possible). You need a new tool for it, that's looping on the array till all desired monsters are summoned.
     
    How do you get the size of an array? With getarraysize, that gets all set positions except trailing zeros or empty strings (which by default mean unset variable), but getarraysize counts leading zeros or empty strings. You are already familiar with loops so, as examples:
    // Supposing empty arrays before setting. !!Position 0 is the first position of an array!!setarray .@myArray1[0],5,4,3,2,1; // myArray1 = 5,4,3,2,1 at positions 0,1,2,3,4 respectivelygetarraysize(.@myArray1); // Returns 5// Correct loop around .@myArray1for (set .@i, 0; .@i < getarraysize(.@myArray1); set .@i, .@i + 1) { // i varies from 0 to 4 whatever with .@myArray[i];}setarray .@myArray2[1],5,4,3,2,1; // myArray2 = 0,5,4,3,2,1 at positions 0,1,2,3,4,5 respectivelygetarraysize (.@myArray2); // Returns 6// Correct loop around .@myArray2for (set .@i, 1; .@i <= getarraysize(.@myArray1); set .@i, .@i + 1) { // i varies from 1 to 5, position 0 is skipped whatever with .@myArray[i];}  
    Since Via and others have already caught me up you have now a correct solution at the moment depending on what you want, but hope that this explanation has given you a bit of more insight if possible!
     
    P.S.: 31 filled up positions on the array... Multiplying by 100... You sure you want to summon 3100 monsters on the same map at once? O.O
  11. Upvote
    ToiletMaster reacted to Mumbles in Shortening the script   
    for (set @i, 82000; @i < 82267; set @i, @i +1) { if (checkquest[@i]) callsub "N_Progess"; set @i, @i + 1;}  
    I don't see much of a difference in the usage of callsub here, in comparison to goto; in either case, it's just sloppy coding and could be written like this:
     
      for (@i = 82000; @i < 82267; @i++)  {    if (checkquest(@i))    {      mes "You're currently still performing a quest!";      mes "Please ^FF0000finish the quest or abandon the quest!^000000";      close;    }  }  
    Using descriptive labels and names is important too, especially when you want to look back at your code and figure out what's going on; comments are useful, but functions named like L_quest, R_quest, and so forth don't tell me or anyone else a whole lot about what the function does. Regardless, calling the functions was a little pointless, as they were both only called once throughout all 4828 lines; it'd make more sense to simply include the content of the function where it was originally called.
     
    Here's my method, which is a little prettier than @Emistry's (no offense c:) but basically the same thing. I placed the level checks outside of the switch, as they're only needed once anyways, and organized the entire script to be more readable. It's 358 lines (including the header and comments) versus Emistry's 207 lines, but I like my code to be a little less mashed together.
     
    http://upaste.me/b3607239c4edd0b0
  12. Upvote
    ToiletMaster reacted to jaBote in Autoloot Disabled after 3 minutes   
    Hmmm... Then, if idle_no_share doesn't work (I can't test it ATM since I'm on my cellphone) I can only think about trying to make a script that, when inactive (use checkidle() script command) gives them an unlimited time negative (or 0, IDK) bubble gum effect (SC_CASH_RECEIVEITEM) for negating any item drops that gets removed when the user is no longer idle or logs out.
     
    What I don't know is if autocasted skills remove the idle time check (in that case you could just see if player's position changes). In any case I'd recommend a source mod rather than a script but here's a sample script with the assumption autocasted skills don't remove your idle status if you want to keep with this anyways (put this inside a NPC and add the tabs since Mobile UI ignores tabs):
     

    - script noafk -1,{OnInit:set .afktime, 3*60; // 3 minutes in SECONDSset .sampletime, 5*1000; // 5 seconds in milliseconds, make it higher if this causes your server freezeend;OnPCLoginEvent:sleep2 (.afktime * 1000) - .sampletime + 10; // Delaying the first check until player can actually be AFK plus a little threshold, you could safely remove this line but saves you some processingaddtimer .sampletime,strnpcinfo(3)+"::OnCheckAFK";end;OnCheckAFK:deltimer strnpcinfo(3)+"::OnCheckAFK";if (checkidle() >= .afktime && ! @idle) {set @idle, 1;sc_start SC_CASH_RECEIVEITEM, -1, 0; // Rates x0 for this guy}else if (checkidle() <= .afktime && @idle) {set @idle, 0; // Removing idle penalty for this guysc_end SC_CASH_RECEIVEITEM;}addtimer .sampletime,strnpcinfo(3)+"::OnCheckAFK";end;} Can't test it for obvious reasons so try it yourself (after adding proper tabs) and give me the feedback.
  13. Upvote
    ToiletMaster reacted to Patskie in Shortening the script   
    To make this short, use a loop :
     
     
    Short version ( didn't try though ) : 
    @i = 82000;while ( @i < 82267 ) { if( checkquest(@i) ) goto N_Progress; @i++; }
  14. Upvote
    ToiletMaster reacted to Emistry in Shortening the script   
    try...
    http://upaste.me/r/792e1d
    Case 0: if( BaseLevel >= 50 && BaseLevel <= 69 ){ setarray .@monster$,"Marc","Bongun","Dustiness","Driller","Wootan Fighter"; setarray .@questid,82006,82013,82020,82027,82034; }else if( BaseLevel >= 70 && BaseLevel <= 99 ){ setarray .@monster$,"Karakasa","Grand Peco","Pasana","Metaling","Dancing Dragon","Mavka","Uzhas","Poison Toad","Zombie Prisoner","Clock Tower Manager","Breeze","Bloody Injustice","Wicked Nymph"; setarray .@questid,82045,82052,82258,82065,82071,82079,82086,82093,82100,82107,82114,82121,82128; }else if( BaseLevel >= 100 && BaseLevel <= 125 ){ setarray .@monster$,"Assaulter","Hill Wind","Kobold (Shield & Hammer)","Diabolic","Muscipular","Dullahan","Aunoe","Venatu (Blue)","Hell Poodle","Dimik (Orange)","Plasma (Red)","Cornus","Remover"; setarray .@questid,82138,82145,82151,82159,82166,82171,82180,82187,82194,82201,82208,82215,82222; }else{ setarray .@monster$,"Shelter","Observation","Banshee","Erend","Antler Scaraba"; setarray .@questid,82232,82239,82246,82254,82261; } break;Case 1: if( BaseLevel >= 50 && BaseLevel <= 69 ){ setarray .@monster$,"Beetle King","Alligator","Rice Cake Boy","Jakk","Mantis","Dryad"; setarray .@questid,82000,82007,82014,82021,82028,82035; }else if( BaseLevel >= 70 && BaseLevel <= 99 ){ setarray .@monster$,"Sidewinder","Nine Tails","Argiope","Iara","Comodo","Punk","Raydric Archer","Penomena","Venomous","Permeter","Teddy Bear","Waste Stove","Stapo","The Paper"; setarray .@questid,82039,82046,82266,82059,82066,82073,82080,82087,82094,82101,82108,82115,82122,82129; }else if( BaseLevel >= 100 && BaseLevel <= 125 ){ setarray .@monster$,"Neraid","Quve","Drosera","Phendark","Sting","Deleter (Flying)","Kobold Archer","Ice Titan","Dark Pinguicula","Plasma(Blue)","Plasma (Green)","Gremlin","Owl Baron","Knight of Abyss"; setarray .@questid,82132,82139,82146,82153,82160,82167,82174,82181,82188,82195,82202,82209,82216,82223; }else{ setarray .@monster$,"Vanberk","Centipede","Frus","Acidus","Necromancer","Salamander"; setarray .@questid,82226,82233,82240,82248,82255,82262; } break;Case 2: if( BaseLevel >= 50 && BaseLevel <= 69 ){ setarray .@monster$,"Goblin Archer","Swordfish","Merman","Hunter Fly","Tri-Joint","Dokebi"; setarray .@questid,82001,82008,82015,82022,82029,82036; }else if( BaseLevel >= 70 && BaseLevel <= 99 ){ setarray .@monster$,"Toucan","Marduk","Dark Frame","Evil Druid","Clock","Les","Novus","Miyabi Doll","Siorova","Marionette","Demon Pungus","Enchanted Peach Tree","Roween","Obsidian"; setarray .@questid,82040,82047,82253,82060,82067,82074,82081,82088,82095,82102,82109,82116,82123,82130; }else if( BaseLevel >= 100 && BaseLevel <= 125 ){ setarray .@monster$,"Siroma","Gargoyle","Blazer","Desert Wolf","Fake Angel","Gazeti","Anolian","Aliza","Draco","Raydric","Plasma (Purple)","Centipede Larva","Beholder","Hodremlin"; setarray .@questid,82133,82140,82147,82154,82161,82168,82175,82182,82189,82196,82203,82210,82217,82224; }else{ setarray .@monster$,"Lady Solace","Echio","Agav","Incantation of Morrocc (Ground)","Rawrel","Rake Scaraba"; setarray .@questid,82227,82234,82241,82249,82256,82263; } break;Case 3: if( BaseLevel >= 50 && BaseLevel <= 69 ){ setarray .@monster$,"Greatest General","Minorous","Strouf","Hode","Steam Goblin","Curupira"; setarray .@questid,82009,82016,82023,82030,82037; }else if( BaseLevel >= 70 && BaseLevel <= 99 ){ setarray .@monster$,"Zerom","Tamruan","Parasite","Goat","Wood Goblin","Mi Gao","Stem Worm","Rafflesia","Noxious","Pitman","Skeleton Prisoner","Solider","Anopheles","Tengu"; setarray .@questid,82041,82048,82254,82061,82068,82075,82082,82089,82096,82103,82110,82117,82124,82131; }else if( BaseLevel >= 100 && BaseLevel <= 125 ){ setarray .@monster$,"Dark Priest","Explosion","Kobold (With Mace)","Lava Golem","Anubis","Nightmare Terror","Loli Ruri","Ancient Mimic","Ancient Mummy","Pot Dofle","King Dramoh","Plasma (Yellow)","Flame Skull","Hillslion"; setarray .@questid,82134,82141,82147,82155,82162,82167,82176,82183,82190,82197,82204,82211,82218,82225; }else{ setarray .@monster$,"Ragged Zombie","Ferus (Green)","Tatacho","Whikebain","Armania","Miming"; setarray .@questid,82228,82235,82242,82250,82257,82264; } break;Case 4: if( BaseLevel >= 50 && BaseLevel <= 69 ){ setarray .@monster$,"Mummy","Munak","Golems","Leaf Cat","Horong","Baby Leopard"; setarray .@questid,82003,82010,82017,82024,82031,82038; }else if( BaseLevel >= 70 && BaseLevel <= 99 ){ setarray .@monster$,"Jaguar","Geographer","Wraith","Headless Mule","Sleeper","Kapha","Cendrawasih","Witch","Spring Rabbit","Novus","Red Eruma","Deviruchi","Shinobi"; setarray .@questid,82042,82049,82255,82062,82068,82076,82083,82090,82097,82104,82111,82118,82125,82132; }else if( BaseLevel >= 100 && BaseLevel <= 125 ){ setarray .@monster$,"Heater","Anacondaq","Lude","Disguise","Deleter (Not Flying)","Kobold (With Axe)","Luciola Vespa","Sropho","Nepenthes","Dimik (Grey)","Naga","Succubus","Aqua Elemental"; setarray .@questid,82135,82142,82148,82156,82163,82168,82177,82184,82191,82198,82205,82212,82219; }else{ setarray .@monster$,"Seeker","Skogul","Imp","Incantation of Morrocc","Kavac","Little Fatum"; setarray .@questid,82229,82236,82243,82251,82258,82265; } break;Case 5: if( BaseLevel >= 50 && BaseLevel <= 69 ){ setarray .@monster$,"Metaller","Isis","Sandman","Stone Shooter","Grizzly"; setarray .@questid,82004,82011,82018,82025,82032; }else if( BaseLevel >= 70 && BaseLevel <= 99 ){ setarray .@monster$,"Requiem","Rideword","Orc Archer","Alnoldi","Raydric Archer","Ancient Worm","Mole","Dragon Tail","Firelock Soldier","Wild Ginseng","Elder","Freezer","Evil Cloud Hermit"; setarray .@questid,82043,82050,82256,82063,82069,82077,82084,82091,82098,82105,82112,82119,82126; }else if( BaseLevel >= 100 && BaseLevel <= 125 ){ setarray .@monster$,"Rybio","Alice","Medusa","Carat","Pinguicula","Majoruros","Magmaring","Venatu (Red)","Ancient Mummy","Dimik (Red)","Mini Demon","Wanderer","Retribution"; setarray .@questid,82136,82143,82149,82157,82164,82169,82178,82185,82192,82199,82206,82213,82220; }else{ setarray .@monster$,"Zombie Slaughter","Knocker","Acidus (Gold)","Dolomedes","Kasa"; setarray .@questid,82230,82237,82244,82252,82259; } break;Case 6: if( BaseLevel >= 50 && BaseLevel <= 69 ){ setarray .@monster$,"Green Iguana","Flora","Ghoul","Sohee","Wootan Shooter"; setarray .@questid,82005,82012,82019,82026,82033; }else if( BaseLevel >= 70 && BaseLevel <= 99 ){ setarray .@monster$,"Wooden Golem","Piranha","Petite","Jing Guai","Cramp","Harpy","Porcellio","Hyegun","Alarm","Zipper Bear","Owl Duke","Bloody Butterfly","Evil Cloud Hermit"; setarray .@questid,82044,82051,82257,82064,82070,82078,82085,82092,82099,82106,82113,82120,82127; }else if( BaseLevel >= 100 && BaseLevel <= 125 ){ setarray .@monster$,"Kaho","Galion","Heirozoist","Snowier","Gibbet","Arclouse","Sedora","Venatu (Grey)","Deathword","Dimik (Blue)","Violy","Incubus","Apocalypse"; setarray .@questid,82137,82144,82150,82158,82165,82170,82179,82186,82193,82200,82207,82214,82221; }else{ setarray .@monster$,"Isilla","Ferus (Red)","One Horned Scaraba","Bradium Golem","Ygnizem"; setarray .@questid,82231,82238,82245,82253,82260; } break;   
    set your quest up there ....the quest id is stored into a player variable "monster_quest" ....
     
    it can be even shorter than this ... just some simple trick + math calculation ..xD
    i believe you can try figure it out soon ...
  15. Upvote
    ToiletMaster got a reaction from Chemical Crush in Chemical's Maps!   
    I can't say how much I love your maps lol they're perfect in each and every way lol!
     
    Thank you for sharing it off!
  16. Upvote
    ToiletMaster reacted to Chemical Crush in Chemical's Maps!   
    Hello everyone!   I figured I'd just make one of these threads that I have as my official free 'map' thread. Listed below is some maps I've done that are free to the public. I do not wish for them to be edited, but they ARE free and you are free to edit them. You are ALSO free to contact me if you need something edited specifically for your server from these maps. CREDITS would be awesome and please do NOT take credit for my work. It's bothersome and makes me a very sad panda ;~; Also you guys are more than free to add me on Facebook. There are maps uploaded onto my facebook that are not uploaded onto RMS/rA/eA. Also there will be constant updates for when I map.   A little bit about this map. It was created specifically for a Lunar Event for a server I worked on not that long ago. Unfortunately it never got used so I'm releasing it to the public to do with it what you wish. I hope you like it and please report if you are having any issues. Please note that if your RO is not up to date you may not see the Red Carpet in the main part of the temple, if you decide to use the inside maps.   Album of Lunar Map: Click here! Download Link: Click here! Download Link for Inside MapsClick Here!   Over View:Click here! The 'ends' of each side of the map:Click here! Download Link: Click!     Album of Novice Garden:Click Here! Download LinkClick Here!   Please note that the Album shows for Hallow Town and the Vending map that I had planned on doing, unfortunately the Vending Map is no where near complete, but you can view what I had started doing.   Album of Hallow Town: Click Here! Download LinkClick Here!     Album of Aeven: Click here! Download Link: Aeven w/ House:Click Here! Download Link: Aeven w/ Well:Click Here!     Album of Ilyo Kwan: Click Here! Download Link:Click Here!   A little bit about this map, I made it for a server a little over a year ago. It was supposed to be kitty themed for events, there are no indoors maps at this time although i'd love to, at one point, make the indoors maps. The map HASNT been used yet, so if you find any glitches feel free to let me know. Two things that was asked of me for this map was an area for weddings and a 'gm only' area. Thats what the two paws are for, you can walk through the water to the wedding area but only GMs will be able to warp to the other paw, unless players get lucky with Fwings. =] Hope you guys like it.   Album of Neko Isle: Click Here! Download link Click Here!     Lemme know what you're using it for! Hope you guys like it, please feel free to report any bugs. :3 Also it would be awesome if you would please give credits
  17. Upvote
    ToiletMaster reacted to Capuche in Set trans job level 70 minimum to change job   
    if (Class > 21) { if (BaseLevel < .Rebirth[0] || JobLevel < .Rebirth[2]) { set .@blvl, .Rebirth[0]-BaseLevel; set .@jlvl, .Rebirth[2]-JobLevel; message strcharinfo(0),"You need "+((.@blvl>0)?.@blvl+" more base levels "+((.@jlvl>0)?"/ ":""):"")+((.@jlvl>0)?.@jlvl+" more job levels ":"")+"to continue."; } else Job_Menu(roclass(.@eac|EAJL_THIRD)); close;}
  18. Upvote
    ToiletMaster reacted to mleo1 in Automated SQL backups in CentOS 6   
    Follow this. xD

    http://rathena.org/board/topic/54049-auto-sql-backup-for-linux/
  19. Upvote
    ToiletMaster reacted to quesoph in Adding Message before changing job   
  20. Upvote
    ToiletMaster got a reaction from evilpuncker in 4 new permissions   
    +1 to this,
     
    i'm not sure what problems it might caused on the back-end part, but definitely this is much more useful to all server owners in restricting. Aside from the back-end source code part, I can't see how this can be a bad choice lol.
  21. Upvote
    ToiletMaster reacted to quesoph in Bug in Script   
    Post the whole script.
     
    @edit
    Is this Euphy's script? if it is.
    Change set .SNovice,1; to set .SNovice,45;
    If you are too lazy to change it copy and paste this:
     
     
     
  22. Upvote
    ToiletMaster reacted to mofo in Git pull problem again ._.   
    have you tried...
     
    git commit -am "message"
     
    if that doesn't work and since you said you didn't change anything with that file you can also try...
     
    git checkout 3rd party/libconfig/libconfig.c (fetches an unchanged copy from hercules repo)
    or
    git add 3rd party/libconfig/libconfig.c (adds the file to the track and makes it safe to merge?)
     
    I'm no git expert, so I could be wrong.
  23. Upvote
    ToiletMaster reacted to Yommy in Population in kRO currently?   
    name=사라 - 만18세이상
    usercount=239

    name=다크로드
    usercount=25

    name=바포메트
    usercount=1417

    name=란드그리스
    usercount=156

    name=타나토스
    usercount=222
  24. Upvote
    ToiletMaster reacted to malufett in Scripts become stone-cursed after Renewal-Phase   
    change SC_INCREASEAGI to SC_INC_AGI...
    Please refer to db/const.txt for more info...
     

  25. Upvote
    ToiletMaster reacted to Xgear in Linux Commands for MySQL   
    Ouch, missed that part. Sorry
     
    INSERT INTO `storage` (`account_id`, `nameid`, `amount`, `identify` )SELECT `login`.`account_id`, ItemID, qty, 1FROM `login`where `login`.`account_id`>=2000000; That will add the item to storage, replace itemID and qty as needed. 
    The final 1 makes the item identified.
    You can add other columns and values, but thats the main structure =)
×
×
  • Create New...

Important Information

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