Jump to content

Euphy

Members
  • Posts

    2997
  • Joined

  • Last visited

  • Days Won

    74

Everything posted by Euphy

  1. @KamiShi: @Hybrid: What is that? o.o
  2. @Hybrid: no, not quite...
  3. Via script, it's not possible to announce item drops as they're calculated independently from the script engine (you could theoretically shift all drops into a massive script-drop database, but that's very impractical...). You can announce when an MVP is killed, though: if (getmonsterinfo(killedrid,22)) { announce strcharinfo(0)+" has killed "+strmobinfo(1,killedrid)+"!",0; }
  4. @rainz89: You're free to use the script however you want. I quit Ragnarok well before third jobs came, so I wouldn't know how to write new rings for those classes xD. Adding more rings isn't hard - edit the beginning checks, add to the for() ring check loop, and of course add your rings to the Class switch.
  5. Game mechanics (stats, damage, database, etc.), jobs, scripts, maps... everything, pretty much. Use Renewal if you're using third jobs.
  6. You have to delete: switch(select("Weapons:Nothing")) { close2; case 1: And a closing bracket at the end.
  7. You need to add this before the party check: getpartymember getcharid(1); // sets $@partymembercount
  8. https://rathena.svn.sourceforge.net/svnroot/rathena/trunk/db/re/item_combo_db.txt (added in r16393)
  9. That's a very outdated version of my script, I believe. Update.
  10. Euphy

    Killcount

    if ( (quest_delay > gettimetick(2)) && (countitem(520) >= 1) ) goto L_TESTINGTIME_1_b; quest_delay < gettimetick(2) The label doesn't exist. You don't have to use two variables. If you store time (gettimetick) in #TESTINGTIME and run if (#TESTINGTIME) // any number except 0 (i.e. quest started) ...that'll suffice for all checks. Try not to use as many labels/goto when you can just use brackets - if(condition){script}
  11. Get rid of everything except the warp command and "end"? o.o
  12. Euphy

    Request

    OnInit: setmapflag "morocc",mf_loadevent; end; OnPCLoadMapEvent: if (strcharinfo(3) != "morocc") end; if (!isequipped(5046)) { dispbottom "You must wear "+getitemname(5046)+" on this map."; warp "SavePoint",0,0; end; } if (@morocc) end; // Prevent multiple loops from running set @morocc,1; while (@morocc) { if (!isequipped(5046)) { // Check if the hat is still on set @morocc,0; dispbottom "You must wear "+getitemname(5046)+" on this map."; warp "SavePoint",0,0; break; } if (strcharinfo(3) != "morocc") { // Check if player has left map set @morocc,0; break; } sleep2 5000; // Interval for checks } end;
  13. Not sure what your vote points are stored as, so assigning it as #votepoints: set .@cost,50; mes "It costs "+.@cost+" vote points to rent this item."; if (#votepoints < .@cost) close; next; if(select("Rent.:Cancel.")==2) close; set #votepoints, #votepoints-.@cost; rentitem item,time; mes "Here you go!"; close;
  14. How about @alive/@raise/@raisemap exceptions? (might not be needed, but just throwing the idea out there)
  15. You can use mapflags to disable EXP and drops on a map, summon the monsters with an event label, and give items/experience that way. However, that requires far more work for the same effect...
  16. Create a custom mob with a Poring sprite. http://rathena.org/wiki/Custom_Mobs https://rathena.svn.sourceforge.net/svnroot/rathena/trunk/db/mob_avail.txt if (!isequipped(item_id)) mes "You can't enter without wearing _____."; else warp "map",x,y; close;
  17. The warps for Malangdo are implemented, but we don't have the scripts as of yet.
  18. if (rand(100) < 10) setarray .@i[0],4403,4302; // 10% chance else setarray .@i[0],512,...; // 90% chance getitem .@i[rand(getarraysize(.@i))],1;
  19. Agree with Spyra, but I think the conf should disable all atcommands when dead (except ressurection commands, of course).
  20. Euphy

    Killcount

    You can use an account variable - they're prefixed with #, e.g. #CASHPOINTS. Random walking: npcstop; // stop when clicked stopnpctimer; // stop timer when clicked // dialogue (the rest of the script) initnpctimer; // resume timer before closing (do this before all "close" commands) close; OnInit: initnpctimer; end; OnTimer3000: getmapxy(.@map$,.@x,.@y,1); // get coordinates npcwalkto .@x+rand(-10,10),.@y+rand(-10,10); // walk +/- 10 randomly stopnpctimer; // restart timer initnpctimer; end; Use gettimetick(2) for large delay intervals. Also, you'll have to use a permanent character/account variable to store the data, for example: // player has finished the quest mes "Come visit again after 24 hours for your reward."; set quest_delay, gettimetick(2)+86400; // 86400 seconds = 1 day close; if (quest_delay > gettimetick(2)) mes "Please wait a little longer."; else { mes "Thanks for waiting!"; mes "Here's your reward."; getitem item,amount; } close;
  21. @warp: http://rathena.org/wiki/@warp_Modification Alt-M: Your LUA files are either outdated or misplaced.
  22. You can control day/night cycles using a script instead of through conf. OnClockXXXX: day; disablenpc "Your NPC"; end; OnClockXXXX: night; enablenpc "Your NPC"; end;
  23. Euphy

    Killcount

    The script looks good. You might want to do something like set Legendary3,2; set Recording,0; ...after the player kills the first 2000 monsters, so you'll be able to use the same "Recording" variable and additional kills of the first monster won't still be counted. Party kills are complicated. You probably don't want to get involved with that yet. xD The variable is permanent. There are two types of character variables: @var - temporary (resets on relog) var - permanent You can read more about variable types here: http://rathena.org/w...bles.2C_and_Set To ask more questions, run a for() loop: for(set .@i,0; .@i<3; set .@i,.@i+1) { // ask 3 questions // set .@i,0; -- initialize a variable (technically not needed, but a good habit) // .@i<3; -- run until .@i becomes >= 3 // set .@i,.@i+1 -- increase .@i by 1 upon reaching the end of the for() bracket switch(rand(20)) {...} mes .@question$; input .@str$; if (.@str$ == .@answer$) { if (.@i < 2) { // only run this when there's actually a question left, xD mes "Good! Now for the next question..."; next; } } else {...} } mes "You've answered all the questions!"; More details here: http://rathena.org/wiki/Loops#For_Loop
  24. @xilence01: Any errors on loading the script? The version I posted here will work only on rAthena.
  25. Euphy

    NPC warper

    http://rathena.org/b...on/#entry135118 Please don't duplicate posts.
×
×
  • Create New...