-
Posts
949 -
Joined
-
Last visited
-
Days Won
16
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Everything posted by sandbox
-
Zone 7 restrictions are different from town, you should be adding your map in mapflag/restricted.txt instead, afaik, town mapflags only grants mailbox access when you are on that map. For the zoom speed, might wanna check your map setting/config
-
Unfortunately you can't, best you can do it use the 'cutin' script command.
-
Your emulator is outdated, you must use set when declaring variables. Based on your error, you must change .Active = 1; to set .Active,1; You must do this with the rest of the variables also.
-
Change what point? please elaborate =/ You can also ask the author(@Euphy) for help. He has a thread for his scripts, right?
-
- script AutoLadderReset -1,{ OnSun2358: query_sql("DELETE FROM `global_reg_value` WHERE `str`='fpvppts'"); query_sql("DELETE FROM `global_reg_value` WHERE `str`='fdpvppts'"); announce "PvP Ladder has been reset! ",bc_all,0xFFF8DC; end; OnWhisperGlobal: if(getgmlevel() > 40){ query_sql("DELETE FROM `global_reg_value` WHERE `str`='fpvppts'"); query_sql("DELETE FROM `global_reg_value` WHERE `str`='fdpvppts'"); announce "The PvP Ladder has been reset by a GM! ",bc_all,0xFFF8DC; } end; } reset via whisper/pm AutoLadderReset
-
what? you mean manual?
-
File Name: Daily Monster Hunt v1.2 File Submitter: sandbox File Submitted: 11 Mar 2014 File Category: Game, Event, Quest Content Author: sandbox Script Details & Usage It's a script that can hand out dynamic 'kill this' quests for your players without the need of questlog. It assigns a player a random amount of a random monster to kill within a random amount of time. Randomception! Installation Enable the script on your NPC folder Carefully read the comments I made inside the script and make sure to configure it properly Terms & Conditions You are not allowed to reproduce or make profit of this script You are not allowed to take credit for this script. Though you can modify/edit it to your liking. I can give you support, but please, do not message me. It is your own responsibility to create a backup before implementing anything new. Pastebin: http://rathena.org/board/pastebin/4dcsjtt3buvi/ Special thanks to: @KeyWorld, @Kido, @nanakiwurtz,@NeoMind for helping me with this script! hunt.txt
-
- script AutoLadderReset -1,{ OnSun2358: query_sql("DELETE FROM `global_reg_value` WHERE `str`='fpvppts'"); query_sql("DELETE FROM `global_reg_value` WHERE `str`='fdpvppts'"); announce "PvP Ladder has been reset! ",bc_all,0xFFF8DC; end; } It would reset the ladder every Sunday 11:58PM, though I am not sure it would work properly because the players need to reconnect, I think
-
Find the comment "//Weapon Reward" then add more class and their corresponding reward in the switch statement. //===== rAthena Script ======================================= //= Job Master //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.4 //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= //= A fully functional job changer. //===== Additional Comments: ================================= //= 1.0 Initial script. //= 1.1 Fixed reset on Baby job change. //= 1.2 Added Expanded Super Novice support and initial Kagerou/Oboro support. //= 1.3 Kagerou/Oboro added. //= 1.4 Rebellion added. //============================================================ trinity,99,154,5 script Job Master 635,{ function Job_Menu; mes "[Job Master]"; if (Class > 4049) { mes "No more jobs are available."; close; } if (checkfalcon() || checkcart() || checkriding() || ismounting()) { mes "Please remove your "+((checkfalcon())?"falcon":"")+((checkcart())?"cart":"")+((checkriding())?"Peco":"")+((ismounting())?"mount":"")+" before proceeding."; close; } if (.SkillPointCheck && SkillPoint) { mes "Please use all your skill points before proceeding."; close; } set .@eac, eaclass(); set .@i, ((.ThirdClass)?roclass(.@eac&EAJ_UPPERMASK):Class); if (.@i > 6 && .@i < 22) { if (BaseLevel < .Rebirth[0] || JobLevel < .Rebirth[1]) { set .@blvl, .Rebirth[0]-BaseLevel; set .@jlvl, .Rebirth[1]-JobLevel; mes "You need "+((.@blvl>0)?.@blvl+" more base levels "+((.@jlvl>0)?"/ ":""):"")+((.@jlvl>0)?.@jlvl+" more job levels ":"")+"to continue."; close; } if (Class > 21) { mes "Switch to third class?"; next; Job_Menu(roclass(.@eac|EAJL_THIRD)); close; } while(1) { mes "Select an option."; next; set .@i, select(" ~ ^0055FFRebirth^000000:"+((.ThirdClass)?" ~ ^FF0000Third Class^000000":"")+": ~ ^777777Cancel^000000"); if (.@i==3) close; mes "[Job Master]"; mes "Are you sure?"; next; Job_Menu(((.@i==1)?4001:roclass(.@eac|EAJL_THIRD))); mes "[Job Master]"; } } set .@j1, roclass(.@eac|EAJL_2_1); set .@j2,roclass(.@eac|EAJL_2_2); if ((.@eac&EAJ_UPPERMASK) == EAJ_SUPER_NOVICE) setarray .@exp[0],roclass(.@eac|EAJL_THIRD),99; if (Class == Job_Ninja || Class == Job_Gunslinger) setarray .@exp[0],.@j1,70; if (.@exp[0] && .SecondExpanded) { if (BaseLevel < .Rebirth[0] || JobLevel < .@exp[1]) { set .@blvl, .Rebirth[0]-BaseLevel; set .@jlvl, .@exp[1]-JobLevel; mes "You need "+((.@blvl>0)?.@blvl+" more base levels "+((.@jlvl>0)?"/ ":""):"")+((.@jlvl>0)?.@jlvl+" more job levels ":"")+"to continue."; close; } mes "Switch to "+jobname(.@exp[0])+"?"; next; Job_Menu(.@exp[0]); close; } if (.@eac&EAJL_2) if (.@eac&(EAJL_UPPER|EAJL_BABY) || roclass(.@eac|EAJL_UPPER) == -1) { mes "No more jobs are available."; close; } if ((.@eac&EAJ_BASEMASK) == EAJ_NOVICE) { if (JobLevel < .JobReq[0]) mes "A job level of "+.JobReq[0]+" is required to change into the 1st Class."; else if (Class == 4001 && .LastJob && lastJob) { mes "Switch classes now?"; next; Job_Menu(roclass((eaclass(lastJob)&EAJ_BASEMASK)|EAJL_UPPER)); } else switch(Class) { case 0: Job_Menu(1,2,3,4,5,6,23,4046,24,25,4023); case 4001: Job_Menu(4002,4003,4004,4005,4006,4007); case 4023: Job_Menu(4024,4025,4026,4027,4028,4029,4045); default: mes "An error has occurred."; break; } close; } if (roclass(.@eac|EAJL_2_1) == -1 || roclass(.@eac|EAJL_2_2) == -1) mes "No more jobs are available."; else if (!(.@eac&EAJL_2) && JobLevel < .JobReq[1]) mes "A job level of "+.JobReq[1]+" is required to change into the 2nd Class."; else if (.LastJob && lastJob && (.@eac&EAJL_UPPER)) { mes "Switch classes now?"; next; Job_Menu(lastJob+4001); } else Job_Menu(.@j1,.@j2); close; function Job_Menu { while(1) { if (getargcount() > 1) { mes "Select a job."; set .@menu$,""; for(set .@i,0; .@i<getargcount(); set .@i,.@i+1) set .@menu$, .@menu$+" ~ "+jobname(getarg(.@i))+":"; set .@menu$, .@menu$+" ~ ^777777Cancel^000000"; next; set .@i, getarg(select(.@menu$)-1,0); if (!.@i) close; if ((.@i == 23 || .@i == 4045) && BaseLevel < .SNovice) { mes "[Job Master]"; mes "A base level of "+.SNovice+" is required to turn into a "+jobname(.@i)+"."; close; } mes "[Job Master]"; mes "Are you sure?"; next; } else set .@i, getarg(0); if (select(" ~ Change into ^0055FF"+jobname(.@i)+"^000000 class: ~ ^777777"+((getargcount() > 1)?"Go back":"Cancel")+"^000000") == 1) { mes "[Job Master]"; mes "You are now "+callfunc("F_InsertArticle",jobname(.@i))+"!"; if (.@i==4001 && .LastJob) set lastJob, Class; jobchange .@i; switch(Class) { //Weapon Reward case 1: getitem2 1108,1,1,10,0,0,0,0,0; break; //+10 Blade for Class 1 = Swordsman case 7: getitem2 1408,1,1,10,0,0,0,0,0; break; //+10 Pike for Class 7 = Knight default: break; } if (.@i==4001 || .@i==4023) resetlvl(1); specialeffect2 EF_ANGEL2; specialeffect2 EF_ELECTRIC; if (.Platinum) callsub Get_Platinum; close; } if (getargcount() == 1) return; mes "[Job Master]"; } end; } Get_Platinum: skill 142,1,0; switch(BaseClass) { case 0: if (Class !=23) skill 143,1,0; break; case 1: skill 144,1,0; skill 145,1,0; skill 146,1,0; break; case 2: skill 157,1,0; break; case 3: skill 147,1,0; skill 148,1,0; break; case 4: skill 156,1,0; break; case 5: skill 153,1,0; skill 154,1,0; skill 155,1,0; break; case 6: skill 149,1,0; skill 150,1,0; skill 151,1,0; skill 152,1,0; break; default: break; } switch(BaseJob) { case 7: skill 1001,1,0; break; case 8: skill 1014,1,0; break; case 9: skill 1006,1,0; break; case 10: skill 1012,1,0; skill 1013,1,0; break; case 11: skill 1009,1,0; break; case 12: skill 1003,1,0; skill 1004,1,0; break; case 14: skill 1002,1,0; break; case 15: skill 1015,1,0; skill 1016,1,0; break; case 16: skill 1007,1,0; skill 1008,1,0; skill 1017,1,0; skill 1018,1,0; skill 1019,1,0; break; case 17: skill 1005,1,0; break; case 18: skill 238,1,0; break; case 19: skill 1010,1,0; break; case 20: skill 1011,1,0; break; default: break; } return; OnInit: setarray .Rebirth[0],99,50; // Minimum base level, job level to rebirth OR change to third class setarray .JobReq[0],10,40; // Minimum job level to turn into 1st class, 2nd class set .ThirdClass,0; // Enable third classes? (1: yes / 0: no) set .SecondExpanded,0; // Enable new expanded second classes: Ex. Super Novice, Kagerou/Oboro, Rebellion? (1: yes / 0: no) set .SNovice,10; // Minimum base level to turn into Super Novice set .LastJob,1; // Enforce linear class changes? (1: yes / 0: no) set .SkillPointCheck,1; // Force player to use up all skill points? (1: yes / 0: no) set .Platinum,0; // Get platinum skills automatically? (1: yes / 0: no) end; }
-
florian,123,123,5 script Florian PvP Ladder 837,{ query_sql "SELECT `char`.char_id,`char`.`name`,global_reg_value.`value` FROM global_reg_value LEFT JOIN `char` ON global_reg_value.char_id=`char`.char_id WHERE global_reg_value.str='fpvppts' ORDER BY CAST(`global_reg_value`.`value` AS UNSIGNED) DESC LIMIT 20", .@lad_id, .@lame$, .@lount; mes "^0000FFRank^000000) ^AA0000Name^000000 - ^008800Kills^000000:^FF8C00Deaths^000000"; for( set .@x,0; .@x<=5; set .@x,.@x+1 ) { query_sql (" SELECT `value` FROM `global_reg_value` WHERE `str`='fdpvppts' AND `char_id`='"+.@lad_id[.@x]+"' ",.@death); mes "^0000FF"+(.@x+1)+"^000000) ^AA0000"+.@lame$[.@x]+"^000000 - ^008800"+.@lount[.@x]+"^000000:^FF8C00"+.@death+"^000000"; } close; } - script FlorianPvP -1,{ OnPCKillEvent: if(strcharinfo(3) == "florian") set fpvppts,fpvppts+1; end; OnPCDieEvent: if(strcharinfo(3) == "florian") set fdpvppts,fdpvppts+1; end; }
-
Post your whole groups.conf.
-
Hmm, I think one way is to disregard the kill event, and tag the monster into an MvP, and then put the drops on MvP rewards so it would be rewarded to the MvP rather than the last hitter.
-
Just a reminder Yoona; If you use >= that's checking if your BaseLevel is equal to or greater than 150 Thanks for the reply. but what i want is when A player reached level 50 Additional 70 All Stats but when the player Reach Level 150 -200 All stats how can i do that? it makes me confused... if(BaseLevel >= 50) { bonus bAllStats,50; } if(BaseLevel >= 150 && BaseLevel <= 200) { bonus bAllStats,BaseLevel-149; }
-
Almost forgot about you, here's your NPC! //======Name======================================== // Emperium Ladder //======Version===================================== // 1.0 //======Author(s)=================================== // Sandbox //======Comments==================================== // It's a script that will show the top 10 Emperium breakers of your server. //================================================== prontera,123,123,4 script empladder 78,{ mes "Here are our top 10 breakers!"; query_sql ("SELECT `char`.char_id,`char`.`name`,global_reg_value.`value` FROM global_reg_value LEFT JOIN `char` ON global_reg_value.char_id=`char`.char_id WHERE global_reg_value.str='empladder' ORDER BY CAST(`global_reg_value`.`value` AS UNSIGNED) DESC LIMIT 10", .@char_id, .@name$, .@count); for( set .@x,0; .@x<10; set .@x,.@x+1 ) { mes "^880000"+(.@x+1)+"^000000) ^0000FF"+.@name$[.@x]+"^000000 - ^008800"+.@count[.@x]+"^000000 Point(s)"; } // .@x starts at 0, but you want to start with '1st', so use (.@x+1) close; }
-
Kudos, though imo, it needs a little fix on GUI. Nonetheless, A very helpful tool!
-
Kinda scary, with all the technology today, they can't find a jumbo plane.. My prayers to them.
-
Kinda confusing what your problem really is, the title says GM command, but your post content says script.. Can you elaborate it more?
-
yep, it should work properly. make sure to backup!
-
GM rewards a player > player receives item > script logs the transaction in evt_prize table
-
Check out my script http://rathena.org/board/files/file/3118-gm-reward-giver/
-
Have you tested it? I don't have a running server, i'm at work. Sorry.
-
add ka isang comma sa dulo.
-
@item3 and @item4: for test and no corruption purpose
sandbox replied to Kido's question in Source Requests
prontera,123,123,7 script item3a 90,{ if(getgroupid() < 4) end; mes "Input Item ID"; input .@item3a; next; mes "Input Amount"; input .@item3b; getitembound .@item3a,.@item3b,4; close; } prontera,123,123,7 script item4a 90,{ if(getgroupid() < 4) end; setarray .@item4[0],0; mes "Input Item ID"; input .@item4[0]; next; mes "Input Amount"; input .@item4[1]; next; mes "Input identify"; input .@item4[2]; next; mes "Input Refine #"; input .@item4[3]; next; mes "Input Attribute"; input .@item4[4]; next; mes "Input Card 1"; input .@item4[5]; next; mes "Input Card 2"; input .@item4[6]; next; mes "Input Card 3"; input .@item4[7]; next; mes "Input Card 4"; input .@item4[8]; getitembound2 .@item4[0],.@item4[1],.@item4[2],.@item4[3],.@item4[4],.@item4[5],.@item4[6],.@item4[7],.@item4[8],4; close; }