ToiletMaster
Members-
Content Count
146 -
Joined
-
Last visited
-
Days Won
1
Content Type
Profiles
Forums
Downloads
Staff Applications
Calendar
Everything posted by ToiletMaster
-
Hi there everyone. Just thought i wanted to throw this question out since i'm been wondering for sometime now. In kRO official server, what is the current population there? Is it still very active compared to other games? Thanks !
-
2 Scripts doesn't work. hope someone can assist!
ToiletMaster replied to ToiletMaster's question in Script Support
Just noticed another small issue. Upon using the script. On the first upgrade itself for Kyrie Elison, it should be nothing for the buffs. Meaning for the first time you use the healer, it'll provide you Increase AGI 5, and Blessing 5. which is right. However, when i upgrade Kyrie Elison, it'll state that my current Kyrie Elison is level 5 instead of 0. and upon upgrading it becomes level 6 immediately instead of starting from 0 to 1. The .min levels were set to 0 so i'm not sure why this doesn't work. -
2 Scripts doesn't work. hope someone can assist!
ToiletMaster replied to ToiletMaster's question in Script Support
Just an update on this post. The script works brilliantly after the upgrade. Thanks for the assistance! -
Scripts become stone-cursed after Renewal-Phase
ToiletMaster replied to ToiletMaster's question in Script Support
my bad on that malufett haha as i remembered earlier names would change after that xD Thanks for the awesome awesome AWESOME UPDATE ! XD -
-edit- my bad, it's fixed now. problem was the new skill names that was giving the error. Example SC_INCREASEAGI becomes SC_INC_AGI Sorry everyone!
-
Error Updating through GIT Linux
ToiletMaster replied to ToiletMaster's question in General Server Support
You're using linux, so I suppose you installed emulator usual way, ie ./configure && make. In such case there should be conf/import folder already. It is created from conf/import-tmpl by make. If it didn't happen, just copy conf/import-tmpl to conf/import. Then you should just move all custom configuration settings to appropriate files in conf/import. For example, if you changed server name in conf/char-server.conf, copy this setting to conf/import/char_conf.txt and revert .conf file to its original state to avoid conflicts when updating. As for the second part, run git status and check which files are unmerged. Hi there, Thanks for the assist! However do i copy the entire file properties i have inside? or example let's say login server is 192.168.1.1 therefore, i copy that line only or should i copy the entire thing from top to bottom. Thanks! ( just wanna make sure it's done right before anything goes wrong ) Just found the wiki for this, will check it out. here's my second part git status# On branch master# Your branch is ahead of 'origin/master' by 2 commits.## Untracked files:# (use "git add <file>..." to include in what will be committed)## conf/.grf-files.txt.swp# npc/custom/Guildhouse/# npc/custom/Stylist/# npc/custom/UberHeal.txt# npc/custom/add/# npc/custom/healer2.txt# npc/custom/shops.txtnothing added to commit but untracked files present (use "git add" to track) -
Error Updating through GIT Linux
ToiletMaster replied to ToiletMaster's question in General Server Support
Thanks, i din't know i wasn't suppose to change the default configurations. However what do i place inside the folder? Do i make a copy of the current file then place inside the temporary folder for it to read the configurations? Sorry if i'm blur on this part, I've never used the import folder before in rAthena nor any other places. git pullM .gitignoreM conf/battle/client.confM conf/battle/party.confM conf/battle/status.confM conf/inter-server.confM conf/plugins.confM db/const.txtM db/item_db2.txtM db/item_delay.txtM db/job_db2.txtM db/pre-re/item_db.txtM db/pre-re/skill_cast_db.txtM db/pre-re/skill_db.txtM db/pre-re/skill_require_db.txtM db/pre-re/skill_tree.txtM db/pre-re/skill_unit_db.txtM db/re/item_combo_db.txtM db/re/item_db.txtM db/re/refine_db.txtM db/re/skill_cast_db.txtM db/re/skill_db.txtM db/re/skill_require_db.txtM db/re/skill_tree.txtM db/re/skill_unit_db.txtA db/sc_config.txtM doc/script_commands.txtM npc/cities/rachel.txtU npc/custom/healer.txtM npc/events/halloween_2009.txtM npc/events/nguild/nguild_warper.txtM npc/instances/NydhoggsNest.txtM npc/mobs/citycleaners.txtM npc/quests/quests_13_1.txtM npc/quests/skills/assassin_skills.txtM npc/re/cities/dewata.txtM npc/re/jobs/3-1/rune_knight.txtM npc/re/quests/quests_brasilis.txtM sql-files/item_db.sqlM sql-files/item_db2.sqlM sql-files/item_db2_re.sqlM sql-files/item_db_re.sqlM src/char/char.cM src/char/char.hM src/char/int_auction.cM src/char/int_guild.cM src/char/int_homun.cM src/char/int_mail.cM src/char/int_quest.cM src/char/inter.cM src/char/inter.hM src/common/HPM.cM src/common/console.cM src/common/core.cM src/common/db.cM src/common/ers.cM src/common/ers.hM src/common/malloc.cM src/common/malloc.hM src/common/mmo.hM src/common/mutex.cM src/common/random.cM src/common/socket.cM src/common/sql.cM src/common/sql.hM src/common/timer.cM src/common/timer.hM src/config/const.hM src/login/account_sql.cM src/login/ipban_sql.cM src/login/login.cM src/map/atcommand.cM src/map/battle.cM src/map/battle.hM src/map/battleground.cM src/map/buyingstore.cM src/map/chat.cM src/map/chrif.cM src/map/clif.cM src/map/clif.hM src/map/duel.cM src/map/elemental.cM src/map/guild.cM src/map/homunculus.cM src/map/instance.cM src/map/intif.cM src/map/irc-bot.cM src/map/itemdb.cM src/map/itemdb.hM src/map/log.cM src/map/mail.cM src/map/map.cM src/map/map.hM src/map/mapreg_sql.cM src/map/mercenary.cM src/map/mob.cM src/map/npc.cM src/map/npc_chat.cM src/map/packets.hM src/map/party.cM src/map/party.hM src/map/path.cM src/map/pc.cM src/map/pc.hM src/map/pc_groups.cM src/map/pc_groups.hM src/map/pet.cM src/map/quest.cM src/map/script.cM src/map/script.hM src/map/searchstore.cM src/map/skill.cM src/map/skill.hM src/map/status.cM src/map/status.hM src/map/storage.cM src/map/trade.cM src/map/unit.cM src/map/vending.cM src/plugins/Makefile.inA src/plugins/db2sql.cPull is not possible because you have unmerged files.Please, fix them up in the work tree, and then use 'git add/rm <file>'as appropriate to mark resolution, or use 'git commit -a'. Using your solution gave me this error though. What's wrong currently? -
Hi there everyone! Currently i'm facing this issue in solving updating my Hercules through my VPS in linux. Not to mention windows also gives me an error on this part. So both sides are at a bad end. May i know perhaps what am i currently missing out on this part? remote: Counting objects: 15, done.remote: Compressing objects: 100% (5/5), done.remote: Total 10 (delta 8), reused 7 (delta 5)Unpacking objects: 100% (10/10), done.From https://github.com/HerculesWS/Hercules d663d4d..074b15c master -> origin/masterUpdating 6d042dc..074b15cerror: Your local changes to 'conf/inter-server.conf' would be overwritten by merge. Aborting.Please, commit your changes or stash them before you can merge. currently i just go to the root of the folder and type git pull that's all. Is there anything else i'm missing as of now? Thanks!
-
2 Scripts doesn't work. hope someone can assist!
ToiletMaster replied to ToiletMaster's question in Script Support
Thanks! i'll look into it and see how it goes xD for the all-in-one it works perfectly now! left the other script only xD -
Thanks for the tip! However i can't make this happen though. not sure whether is it my issue or something >_> still a noob in Linux hahaha
-
Hi there! currently there are 2 scripts which are not working in Hercules. upon job change + platinum skills received, it will immediately stop working. No errors or anything. Just stop working that's all. Aside from that, one more script which worked in rAthena didn't worked here. Same problem. Upon clicking, it just stops that's all. you need relog before you can do anything else. //===== rAthena Script =======================================//= All-in-One NPC//===== By: ==================================================//= Euphy//===== Current Version: =====================================//= 1.6//===== Description: =========================================//= A compilation of commonly-used NPC scripts.//== Includes job changer, stylist, refiner, card remover,//== coin exchanger, rentals, resetter, platinum skills,//== sex changer, identifier, healer, buffer, and repairman.//============================================================prontera,147,169,6 script All-in-One NPC 953,{function Get_Platinum; function Equip_Menu; set .@menu$,""; for (set .@i,0; .@i < getarraysize(.MainMenu$); set .@i,.@i+1) { if (.MenuOption & pow(2,.@i)) set .@menu$, .@menu$+" ~ "+.MainMenu$[.@i]; set .@menu$, .@menu$+":"; } switch(select(.@menu$)) { case 1: function Job_Menu; function A_An; if (Class > 4049) { message strcharinfo(0),"No more jobs are available."; close; } if (checkfalcon() || checkcart() || checkriding() || ismounting()) { message strcharinfo(0),"Please remove your "+((checkfalcon())?"falcon":"")+((checkcart())?"cart":"")+((checkriding())?"Peco":"")+((ismounting())?"mount":"")+" before proceeding."; close; } if (.SkillPointCheck && SkillPoint) { message strcharinfo(0),"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; message strcharinfo(0),"You need "+((.@blvl>0)?.@blvl+" more base levels "+((.@jlvl>0)?"/ ":""):"")+((.@jlvl>0)?.@jlvl+" more job levels ":"")+"to continue."; close; } if (Class > 21) { Job_Menu(roclass(.@eac|EAJL_THIRD)); close; } while(1) { set .@i, select(" ~ ^0055FFRebirth^000000:"+((.ThirdClass)?" ~ ^FF0000Third Class^000000":"")+": ~ ^777777Cancel^000000"); if (.@i==3) close; Job_Menu(((.@i==1)?4001:roclass(.@eac|EAJL_THIRD))); } } 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) setarray .@exp[0],.@j1,70; if (.@exp[0] && .ThirdClass) { if (BaseLevel < .Rebirth[0] || JobLevel < .@exp[1]) { set .@blvl, .Rebirth[0]-BaseLevel; set .@jlvl, .@exp[1]-JobLevel; message strcharinfo(0),"You need "+((.@blvl>0)?.@blvl+" more base levels "+((.@jlvl>0)?"/ ":""):"")+((.@jlvl>0)?.@jlvl+" more job levels ":"")+"to continue."; close; } Job_Menu(.@exp[0]); close; } if (.@eac&EAJL_2) if (.@eac&(EAJL_UPPER|EAJL_BABY) || roclass(.@eac|EAJL_UPPER) == -1) { message strcharinfo(0),"No more jobs are available."; close; } if ((.@eac&EAJ_BASEMASK) == EAJ_NOVICE) { if (JobLevel < .JobReq[0]) message strcharinfo(0),"A job level of "+.JobReq[0]+" is required to change into the 1st Class."; else if (Class == 4001 && .LastJob && lastJob) 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: message strcharinfo(0),"An error has occurred."; break; } close; } if (roclass(.@eac|EAJL_2_1) == -1 || roclass(.@eac|EAJL_2_2) == -1) message strcharinfo(0),"No more jobs are available."; else if (!(.@eac&EAJL_2) && JobLevel < .JobReq[1]) message strcharinfo(0),"A job level of "+.JobReq[1]+" is required to change into the 2nd Class."; else if (.LastJob && lastJob && (.@eac&EAJL_UPPER)) Job_Menu(lastJob+4001); else Job_Menu(.@j1,.@j2); close; function Job_Menu { if (getargcount() > 1) { set .@menu$,""; for(set .@i,0; .@i<getargcount(); set .@i,.@i+1) set .@menu$, .@menu$+" ~ "+jobname(getarg(.@i))+":"; set .@menu$, .@menu$+" ~ ^777777Cancel^000000"; } while(1) { if (getargcount() > 1) { set .@i, getarg(select(.@menu$)-1,0); if (!.@i) close; } else set .@i, getarg(0); if ((.@i == 23 || .@i == 4045) && BaseLevel < .SNovice) { message strcharinfo(0),"A base level of "+.SNovice+" is required to turn into a "+jobname(.@i)+"."; } else if (select(" ~ Change into ^0055FF"+jobname(.@i)+"^000000 class: ~ ^777777Go back^000000")==1) { message strcharinfo(0),"Became "+A_An(jobname(.@i))+"!"; if (.@i==4001 && .LastJob) set lastJob, Class; jobchange .@i; if (.@i==4001 || .@i==4023) resetlvl(1); specialeffect2 338; specialeffect2 432; if (.Platinum) Get_Platinum; close; } if (getargcount() == 1) return; } end; } function 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(roclass(eaclass()&EAJ_UPPERMASK)) { 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; } function A_An { setarray .@A$[0],"a","e","i","o","u"; set .@B$, "_"+getarg(0); for(set .@i,0; .@i<5; set .@i,.@i+1) if (compare(.@B$,"_"+.@A$[.@i])) return "an "+getarg(0); return "a "+getarg(0); } case 2: function Refine_Item; if (.EnrichedRefine) if (select(" ~ Normal Refiner: ~ Enriched Refiner")==2) { Equip_Menu(1); setarray .@Materials[0],7619,7620,7620,7620,7620; setarray .@Safe[0],4,7,6,5,4; set .@WLv, getequipweaponlv(@i); message strcharinfo(0),"Item: +"+getequiprefinerycnt(@i)+" "+getequipname(@i); if(select(" ~ Refine item (2 * ^0055FF"+getequippercentrefinery(@i)+"^000000% success): ~ ^777777Cancel^000000")==2) close; Refine_Item(1, .@Materials[.@WLv], .RP[.@WLv], .@Safe[.@WLv], 1); close; } Equip_Menu(1); setarray .@Materials[0],985,1010,1011,984,984; setarray .@Safe[0],4,7,6,5,4; set .@WLv, getequipweaponlv(@i); set .@SafeCount, .@Safe[.@WLv]-getequiprefinerycnt(@i); message strcharinfo(0),"Item: +"+getequiprefinerycnt(@i)+" "+getequipname(@i); switch(select(" ~ Refine once (^0055FF"+getequippercentrefinery(@i)+"^000000% success): ~ Refine multiple times (up to "+(10-getequiprefinerycnt(@i))+"): ~ Refine to safe limit ("+((.@SafeCount>0)?.@SafeCount+" refines":"^777777disabled^000000")+"): ~ ^777777Cancel^000000")) { case 1: Refine_Item(1, .@Materials[.@WLv], .RP[.@WLv], .@Safe[.@WLv]); close; case 2: input .@Refines; if (.@Refines+getequiprefinerycnt(@i) > 10 || .@Refines < 1) message strcharinfo(0),"Invalid number ("+.@Refines+")."; else Refine_Item(.@Refines, .@Materials[.@WLv], .RP[.@WLv], .@Safe[.@WLv]); close; case 3: if (.@SafeCount < 1) message strcharinfo(0),"The item has already reached the safe limit."; else Refine_Item(.@SafeCount, .@Materials[.@WLv], .RP[.@WLv], .@Safe[.@WLv]); close; case 4: close; } function Equip_Menu { setarray .@pos$[1],"Upper Headgear","Armor","Left hand","Right hand","Garment","Footgear","Left Accessory","Right Accessory","Mid Headgear","Lower Headgear"; set .@menu$,""; for (set .@i,1; .@i <= 10; set .@i,.@i+1) { if (getequipisequiped(.@i)) set .@menu$, .@menu$+.@pos$[.@i]+" [^0055FF"+getequipname(.@i)+"^000000]"; set .@menu$, .@menu$+":"; } set @i, select(.@menu$); if (!getequipisequiped(@i)) { message strcharinfo(0),"Nothing is equipped there!"; close; } if (getarg(0)) { if (!getequipisenableref(@i)) { message strcharinfo(0),getequipname(@i)+" cannot be refined."; close; } if (getequiprefinerycnt(@i) >= 10 ) { message strcharinfo(0),"+"+getequiprefinerycnt(@i)+" "+getequipname(@i)+" cannot be refined any further."; close; } } return; } function Refine_Item { message strcharinfo(0),"I'll need "+getarg(0)+"x "+getitemname(getarg(1))+" and "+getarg(0)*getarg(2)+" Zeny."; if (countitem(getarg(1)) < getarg(0) || Zeny < getarg(0)*getarg(2)) { sleep2 500; message strcharinfo(0),"Come back when you have the required materials."; close; } if (getequiprefinerycnt(@i)+getarg(0) > getarg(3)) { sleep2 500; message strcharinfo(0),"The item will be refined above the safe limit. It may break."; } sleep2 500; if(select(" ~ ^0055FFContinue^000000: ~ ^777777Cancel^000000")==2) close; set .@j, getarg(0); while(.@j) { delitem getarg(1), 1; set Zeny, Zeny-getarg(2); if (getarg(4,0)) { if (getequippercentrefinery(@i) <= rand(100) && getequippercentrefinery(@i) <= rand(100)) { message strcharinfo(0),getequipname(@i)+" broke while refining."; failedrefitem @i; close; } } else { if (getequippercentrefinery(@i) <= rand(100)) { message strcharinfo(0),getequipname(@i)+" broke while refining."; failedrefitem @i; close; } } successrefitem @i; set .@j, .@j-1; } message strcharinfo(0),"All done!"; close; } case 3: if (.Prices[0]) message strcharinfo(0),"It costs "+.Prices[0]+" Zeny to remove cards."; Equip_Menu(0); if (Zeny < .Prices[0]) { message strcharinfo(0),"You don't have enough Zeny."; close; } set .@j,getequipcardcnt(@i); if (!.@j) { message strcharinfo(0),"There are no cards compounded to "+getequipname(@i)+"."; close; } if (!checkweight(4001,(.@j+1))) { message strcharinfo(0),"You're carrying too many items!"; close; } message strcharinfo(0),"Item: "+getequipname(@i); if (select(" ~ Remove "+.@j+" card(s): ~ ^777777Cancel^000000")==2) close; set Zeny, Zeny-.Prices[0]; successremovecards @i; message strcharinfo(0),"Cards successfully removed!"; close; case 4: message strcharinfo(0),"Coins are worth "+.Coin[1]+" Zeny each."; switch(select(" ~ Zeny to coins: ~ Coins to Zeny: ~ Close")) { case 1: message strcharinfo(0),"How many coins do you want?"; input .@coins,0,(1000000000/.Coin[1]); if (.@coins*.Coin[1] > Zeny) { message strcharinfo(0),"You don't have enough Zeny."; close; } if (!checkweight(.Coin[0],.@coins)) { message strcharinfo(0),"You don't have enough inventory space."; close; } set Zeny, Zeny-(.Coin[1]*.@coins); getitem .Coin[0], .@coins; message strcharinfo(0),"Purchased "+.@coins+" coins."; close; case 2: message strcharinfo(0),"How many coins do you want to trade in?"; input .@coins,0,(1000000000/.Coin[1]); if (countitem(.Coin[0]) < .@coins) { message strcharinfo(0),"You don't have that many coins!"; close; } if ((Zeny+(.Coin[1]*.@coins)) > 1000000000) { message strcharinfo(0),"You have too much Zeny!"; close; } delitem .Coin[0], .@coins; set Zeny, Zeny+(.Coin[1]*.@coins); message strcharinfo(0),"Exchanged "+.@coins+" coins."; close; case 3: close; } case 5: if (Zeny < .Prices[2]) { message strcharinfo(0),"It costs "+.Prices[2]+" Zeny to rent."; close; } if (ismounting()) { message strcharinfo(0),"You must first remove your mount."; close; } else if ((eaclass()&EAJ_THIRDMASK==EAJ_RANGER) && !countitem(6124)) { if (!checkfalcon() && getskilllv(127) && !checkwug()) { if(select(" ~ Falcon: ~ Warg")==1) setfalcon; else getitem 6124,1; } else getitem 6124,1; } else if ((eaclass()&EAJ_THIRDMASK==EAJ_MECHANIC) && !checkcart() && getskilllv(39)) { if (!checkmadogear() && getskilllv(2255)) { if(select(" ~ Cart: ~ Mado")==1) setcart; else setmadogear; } else setcart; } else if (!checkcart() && getskilllv(39)) setcart; else if (!checkfalcon() && getskilllv(127) && !checkwug()) setfalcon; else if (!checkriding() && getskilllv(63)) { if (eaclass()&EAJ_THIRDMASK==EAJ_RUNE_KNIGHT) setdragon; else setriding; } else if (!checkmadogear() && getskilllv(2255)) setmadogear; else { message strcharinfo(0),"You do not meet requirements to rent."; close; } set Zeny, Zeny-.Prices[2]; specialeffect2 276; close; case 6: if (.Prices[1]) message strcharinfo(0),"It costs "+.Prices[1]+" Zeny to reset stats or skills."; set .@i, select(" ~ Stat reset: ~ Skill reset: ~ Cancel"); if (.@i==3) close; if (Zeny < .Prices[1]) { message strcharinfo(0),"You don't have enough Zeny."; close; } set Zeny, Zeny-.Prices[1]; if (.@i==1) ResetStatus; else { sc_end SC_ALL; ResetSkill; } message strcharinfo(0),((.@i==1)?"Stats":"Skills")+" reset!"; close; case 7: Get_Platinum; specialeffect2 441; message strcharinfo(0),"Platinum skills received!"; close; case 8: set .@Var$, ".SexChange"+((Sex)?"F":"M"); if (getarraysize(getd(.@Var$))) { message strcharinfo(0),"To turn into a "+((Sex)?"female":"male")+" you need the following items:"; sleep2 1000; for(set .@i,0; .@i<getarraysize(getd(.@Var$)); set .@i,.@i+2) { message strcharinfo(0),getd(.@Var$+"["+(.@i+1)+"]")+"x "+getitemname(getd(.@Var$+"["+.@i+"]")); if (countitem(getd(.@Var$+"["+.@i+"]")) < getd(.@Var$+"["+(.@i+1)+"]")) set .@nreq,1; sleep2 500; } if (.@nreq) close; } if(select(" ~ Change into a "+((Sex)?"female":"male")+": ~ Cancel")==2) close; if (getarraysize(getd(.@Var$))) for(set .@i,0; .@i<getarraysize(getd(.@Var$)); set .@i,.@i+2) delitem getd(.@Var$+"["+.@i+"]"), getd(.@Var$+"["+(.@i+1)+"]"); changesex; end; case 9: setarray .@Total[0],0,0; getinventorylist; for(set .@i,0; .@i<@inventorylist_count; set .@i,.@i+1) { if (@inventorylist_identify[.@i]) continue; if (Zeny < .Prices[3]) { dispbottom "It costs "+.Prices[3]+" to identify an item."; break; } set Zeny, Zeny-.Prices[3]; delitem2 @inventorylist_id[.@i],1,0,0,0,0,0,0,0; getitem @inventorylist_id[.@i],1; setarray .@Total[0], .@Total[0]+1, .@Total[1]+.Prices[3]; } if (!.@Total[0]) { message strcharinfo(0),"No items identified."; close; } specialeffect2 154; message strcharinfo(0),"Identified "+.@Total[0]+" items"+((.@Total[1])?" for "+.@Total[1]+" Zeny":"")+"."; close; }OnInit:// --------------------- Config --------------------- setarray .MainMenu$[0], // Set menu options! "Change Jobs", // [1] "Refiner", // [4] "Remove Cards", // [8] "Exchange Coins", // [16] "Rentals", // [32] "Reset Stats/Skills", // [64] "Platinum Skills", // [128] "Change Sex", // [256] "Identify All"; // [512] set .MenuOption,1|2|4|8|16|32|64|128|256|512; setarray .OnClick[0],1,1,1; // When clicked: heal [0], buff [1], repair [2] (1: yes / 0: no) setarray .Coin[0],674,1000000; // Coin item ID, coin price setarray .Prices[0],50000,10000,0,100; // Zeny to remove cards [0], reset [1], rent [2], identify [3] 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,1; // Enable third classes? (1: yes / 0: no) set .SNovice,45; // 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,1; // Get platinum skills automatically? (1: yes / 0: no) set .EnrichedRefine,1; // Allow enriched refiner option? (1: yes / 0: no) setarray .RP[0],2000,50,200,5000,20000; // Zeny for armor, lv1, lv2, lv3, lv4 refines setarray .SexChangeF[0],2213,1,1558,1,7152,50; // Items to turn into Female (ID,Count) setarray .SexChangeM[0],5016,1,2241,1,1017,50; // Items to turn into Male (ID,Count)// -------------------------------------------------- end;} I did edit the all-in-one NPC to take out the stylist since i have my own custom stylists. the second script is this, not sure how to fix it though. If someone could help that'll be good thanks! - script flop -1,{ if( getgmlevel() > 80 ) { mes "Hi ^ff0000[GM]^000000 "+ strcharinfo(0) +" !"; mes "what can I do for you ?"; next; .@m = select( "Player menu", "Reset an upgrade's guild", "Clear all upgrade" ); if( .@m == 2 ) { .@size = query_sql( "SELECT `name` FROM `guild` ORDER BY `guild`.`name` ASC LIMIT 127", .@name_g$ ); .@tmp$ = "^777777~ next^000000"; for( .@i = 0; .@i < .@size; .@i += 10 ) { deletearray .@tmp$[1], 10; copyarray .@tmp$[1], .@name_g$[.@i], 10; .@menu_gm$ = implode( .@tmp$, ":" ); next; .@m_g = select( .@menu_gm$ ) -1; if( .@m_g == 0 && .@i + 10 >= .@size ) { mes "end of the list."; close; } else if( .@m_g != 0 ) break; } explode( .@a$, .@menu_gm$, ":" ); query_sql "update guild set buff = '' where name = '"+ .@a$[ .@m_g ] +"'"; mes "Column buff is now empty for guild "+ .@a$[ .@m_g ] +"."; close; } else if( .@m == 3 ) { query_sql "UPDATE `guild` set `buff` = ''"; mes "Column buff is now empty."; close; } } if( !getcharid(2) ) { mes "you are not in a guild !"; close; } else if( getguildmaster( getcharid(2) ) != strcharinfo(0) ) { mes "I only talk to your guildmaster, go away !"; close; } query_sql "SELECT buff FROM guild WHERE guild_id = "+ getcharid(2), .@buff_type$; if( getstrlen( .@buff_type$ ) ) explode( .@b$, .@buff_type$, "|" ); else { for( .@i = 0; .@i < .size_buff; .@i++ ) .@b$[.@i] = "0"; } mes "hello "+ strcharinfo(0) +", what do you want to up the skill in the guild healer today ?"; next; .@s = select( .menu$ ) -1; if( atoi(.@b$[.@s]) + .min_Levels == .max_Levels ) { mes "Your current "+ .skills_$[.@s] +" skill's guild healer has already reached the max level."; close; } mes "Your current "+ .skills_$[.@s] +" skill's healer is level ^0000ff("+ ( .min_Levels + atoi( .@b$[.@s] ) ) +")^000000."; mes "It will cost ^0000ff"+ ( .cost_[atoi(.@b$[.@s]) +1] * .rate_buff_zeny[.@s] ) +"^000000 zeny to up this skill for your guild."; next; if( select( "Paid to up "+ .skills_$[.@s], "Leave" ) -1 ) close; else if( Zeny < .cost_[atoi(.@b$[.@s]) +1] * .rate_buff_zeny[.@s] ) { mes "You're kidding me? you don't have enough zeny."; close; } Zeny = Zeny - .cost_[atoi(.@b$[.@s]) +1] * .rate_buff_zeny[.@s]; .@b$[.@s] = atoi( .@b$[.@s] ) +1; .@a$ = implode( .@b$, "|" ); query_sql "update guild set buff = '"+ .@a$ +"' where guild_id = "+ getcharid(2); mes "Your "+ .skills_$[.@s] +" skill's healer is now level ^0000ff("+ ( .min_Levels + atoi( .@b$[.@s] ) ) +")^000000. Congratulation !"; close;OnInit: deletearray .cost_; deletearray .skills_$; deletearray .skill_$; deletearray .min_Levels; deletearray .max_Levels; deletearray .rate_buff_zeny; setarray .skills_$, "agi", "bless", "Kyrie Eleison"; // add more skill here - think to add them also in the healer setarray .min_Levels, 5, 5, 0; // min level of the skill boost in the healer setarray .max_Levels, 10, 10, 10; // max level of the skill you can up setarray .rate_buff_zeny, 1, 1, 1; // rate for zeny - ex: 2 to kyrie -> cost *2 ; 2/5 -> cost *2/5 setarray .cost_[1], 10000, 20000, 30000, 40000, 50000, 60000, 70000, 80000, 90000, 100000; // cost zeny to up the healer .size_buff = getarraysize( .skills_$ ); .menu$ = implode( .skills_$, ":" ); end;}prontera,153,121,6 duplicate(flop) flop#1 909// geffen,163,185,6 duplicate(flop) flop#2 909// payon,163,185,6 duplicate(flop) flop#3 909// yuno,163,185,6 duplicate(flop) flop# 909- script Healer#Guild -1,{ if( getcharid(2) ) { query_sql "SELECT buff FROM guild WHERE guild_id = "+ getcharid(2), .@buff_type$; if( getstrlen( .@buff_type$ ) ) explode( .@b$, .@buff_type$, "|" ); } set .@Price,0; // Zeny required for heal set .@Buffs,1; // Also buff players? (1: yes / 0: no) set .@Delay,0; // Heal delay, in seconds callfunc "F_ClearGarbage",0; if (@HD > gettimetick(2)) end; if (.@Price) { message strcharinfo(0),"Healing costs "+.@Price+" Zeny."; if (Zeny < .@Price) end; if(select("^0055FFHeal^000000:^777777Cancel^000000") == 2) close; set Zeny, Zeny-.@Price; } specialeffect2 EF_HEAL2; percentheal 100,100; if (.@Buffs) { for( .@i = 0; .@i < .size_buff; .@i++ ) { .@sum = atoi(.@b$[.@i]) + .min_Levels[.@i]; .@j = .Buffs$[.@i]; if( .@sum ) sc_start .@j,240000,.@sum; } } if (.@Delay) set @HD, gettimetick(2)+.@Delay; close;OnInit: deletearray .Buffs$; deletearray .min_Levels; setarray .Buffs$, SC_INCREASEAGI, SC_BLESSING, SC_KYRIE; // in the same order than .skills_$ in guild up healer setarray .min_Levels, 5, 5, 0;// min level of the skill boost - default: agi (5), bless (5), kyrie (0) .size_buff = getarraysize( .Buffs$ ); end; }prontera,155,121,6 duplicate(Healer#Guild) Healer#Guild2 909
-
haha okay then thanks! Then i'll shoot up a question then, After doing some googling, i found out that using chmod 777 it's very dangerous as anyone can do anything to it. To put it in layment term, it's basically putting the key in your car locked in a garage. So if people can go into the garage, your car is more or stolen lols. However, the Flux CP wouldn't run without 777. as i tried changing various times, but 777 managed to work and I strongly believe it will hinder it's security. So what should I do on this part? I understand that Flux CP tells you which directory permission is required for that folder if the permission set is wrong, but even though i followed, it came with more and more errors. i'm in a complete confusion on what should I do now for the Flux lol
-
Thanks I'll definitely try it out and see how it works! and thanks for the great knowledge guys! You've really helped me out on this part xD I do have a few questions for linux but i think i'll pass it first since I've asked alot xD Cheers everyone!
-
Thanks for the information! However would there be a specific command to place an item to all accounts without manually typing in one by one? Sorry if this request is absurd as i'm trying to grasp as much of the MySQL commands I can xD
-
Thanks jaBote for the advice! and yes! you're right on that part, as i'm a dunce when it comes to MySQL commands, therefore I'd like to ask for this >_>, I don't use phpmyadmin though, as all my operations are within my server and nothing comes remotely. Thank you so much to telling me this! I kinda got used to logging in as root, that's why this happened I guessed lol. Anyway the warning is long gone now thanks! However, I usually use MySQL Workbench to do this though, Correct me if i'm wrong, but i don't see the option of truncate here. Unless I manually delete it? Which leaves the option of adding the items into their storage xD
-
[Error]: make_listen_bind: bind failed (socket #4, error 98: Address already in use)! I keep getting this error though, What's the issue here? and this is the command that i used Fixed xD, GRANT SELECT, INSERT, UPDATE, DELETE, ALTER, EXECUTE ON DB1.* TO name@host identified by 'password'; & GRANT SELECT, INSERT, UPDATE, DELETE, ALTER, EXECUTE ON DB2.* TO name@host identified by 'password'; however the only thing that bugs me a bit would be this [Warning]: You are running Hercules with root privileges, it is not necessary. Using the command stated above, is it still safe? or am i still in trouble for this?
-
I see i see, thanks for the great assistance everyone! I'll try it out and see how it fairs on my end! However 1 more question if you don't mind xD, cause in terms of deleting everything from their account except their ID and passwords, what would that be? as well as inserting one item into their storage for all the accounts registered. Thanks for the great info everyone!
-
Hello, Just want to know what is the command that is enough for MySQL to allow it run in the inter-server.conf? as right now i'm doing it like this which i believe is wrong lol grant all privileges on *.* to name@whatever identified by 'password'; so what would be the best command to replace this?
-
okay here's an update, I manage to install the Flux after lingering with the files, alot! and finally getting it to work i guess, however right now, the only i face now is this Registrations works great now without any issues thanks guys!
-
well i just checked and it is hashed haha I guess setting it false should fix it then? as currently i face another issue after reloading my OS ._. since I kinda screwed up the entire thing lol now it's showing Index of / instead of the flux page ._.
-
Hello everyone! I seem to be facing an issue right now. Hopefully someone is able to assist, I manage to got the site up, however I face some challenges in the process which would be, Login server shows offline even though it's online Unable to register, it shows Uh Oh! What happened? I've been struggling this for some time now, it would really make my day if someone could help me out on this >_>
-
Ah! okay thanks for the tip! will do that the next time an update comes up
-
Arch Bishop! I love supporting people! Plus..
-
Right now it's solved though, I tried 2 methods. Using the SVN corrupted my entire folder i guess, there's no more Green tick / Red Exclamation to see what files have been changed inside. Github Hercules on the other hand worked perfectly
-
okay my mistake then lol had a stupid assumption on my mind hahaha xD