Jump to content

Sour-

Members
  • Posts

    42
  • Joined

  • Last visited

Everything posted by Sour-

  1. I found it in the Header. Thank you!
  2. Is there a common place to edit the Download Button? I am using Gerome's Diabro Theme and Xantara's Flux. When I click the download link, it directs to myRO's download link. I am used to paid flux themes where you will just edit almost everything in the themes/default/main
  3. What a stupid mistake! I kept searching for the fix at SRC. Lol. Thank you!
  4. How to make these commands work on Group ID 0? It says non-existent permission name. groups: ( { id: 0 /* group 0 is the default group for every new account */ name: "Player" level: 0 inherit: ( /*empty list*/ ) commands: { /* no commands by default */ } permissions: { /* without this basic permissions regular players could not trade or party */ can_trade: true can_party: true command_enable: true commands: true rates: true refresh: true go: true iteminfo: true mobinfo: true whodrops: true whereis: true time: true hominfo: true homstats: true noask: true noks: true autoloot: true alootid: true autoloottype: true autotrade: true breakguild: true } },
  5. [20132] = { unidentifiedDisplayName = "Mouth Mask", unidentifiedResourceName = "¸®º»", unidentifiedDescriptionName = { "Unknown Item, can be identified by using a ^6666CCMagnifier^000000." }, identifiedDisplayName = "Costume Vicious Mind Aura", identifiedResourceName = "»ç³äÀÇ¿À¿À¶ó", identifiedDescriptionName = { "Unknown aura that wrapped your body.", "Class:^6666CC Costume^000000", "Location:^6666CC Lower^000000", "Weight:^009900 0^000000", "Level Requirement:^009900 1^000000", "Jobs:^6666CC All classes^000000" }, slotCount = 0, ClassNum = 1267 Iteminfo(renewal) to idnum2(pre renewal) All 3 idnum2 were edited. I used the same data.grf and rdata.grf for both renewal and pre renewal. The sprite worked in the inventory. But when worn, the client crashes. How is this so? Also where to place ClassNum in a prerenewal client? Is the missing ClassNum the problem?
  6. Just because of curiosity, I wanted to try making a server. Then I was overwhelmed by tons of information and I did not know where to start. Thanks to Stolao, he guided me what to read and the points where to start. rA documents and samples are very good guides. But when you are new, it is just so hard to comprehend the samples. Especially now, no more rA wiki (or yet). It is so hard to find 'what does this and that mean'. Maybe someone in the near future could make rA modules with evaluations as to assess if we really understand it. And I think many would be willing to pay for it.
  7. Have trouble with Thor Patcher. Works perfectly fine on my end but it says "Failed to communicate with server" for others. I am not the web host but I configured the patcher on my desktop.
  8. I need help in making shop divisions of the Hunting Mission Shop. So I added on Case 5: switch(select("Shop 1:Shop 2")) { Case 1: callshop "mission_shop",1; npcshopattach "mission_shop"; end; Case 2: callshop "mission_shop2",1; npcshopattach "mission_shop2"; end; } and - shop mission_shop2 -1,512:-1 Full script //===== rAthena Script ======================================= //= Hunting Missions //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.4 //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= //= Random hunting missions. //= Rewards are based on quest difficulty. //= //= NOTE: Requires SQL mob database. //===== Additional Comments: ================================= //= 1.0 Initial script. //= 1.1 Small improvements and fixes. //= 1.2 Added party support and replaced blacklists with an //= SQL query, both thanks to AnnieRuru. //= 1.3 Re-added a blacklist adapted for the SQL query. //= 1.3a Added mission reset options. //= 1.3b Function updates. //= 1.4 Check for deleted characters, thanks to AnnieRuru. //= Syntax updates and style cleaning. //============================================================ prontera,147,173,6 script Hunting Master 821,{ function Chk; mes "[Hunting Master]"; mes "Hello, " + strcharinfo(0) + "!"; if (!#Mission_Delay) { next; mes "[Hunting Master]"; mes "I can't find any records..."; mes "You must be new here!"; emotion e_omg; next; callsub Mission_Info; emotion e_go; #Mission_Delay = 1; close; } mes rand(2) ? "Working hard, as always..." : "Not slacking, I hope..."; mes "Is there anything I can help"; mes "you with?"; mes " "; mes "^777777~ You've completed " + callfunc("F_InsertPlural",Mission_Total,"mission",0,"^0055FF%d^777777 %s") + ". ~^000000"; next; switch(select( ((!Mission0) ? " ~ New Mission::" : ": ~ Mission Status: ~ Abandon Mission") + ": ~ Information: ~ Mission Shop: ~ View Top Hunters: ~ ^777777Cancel^000000" )) { case 1: mes "[Hunting Master]"; if (#Mission_Count) { mes "You've started a mission"; mes "on another character."; if (!@hm_char_del_check) { // check for deleted character query_sql("SELECT 1 FROM `char_reg_num` WHERE `key` = 'Mission0' AND `char_id` IN(SELECT `char_id` FROM `char` WHERE `account_id` = " + getcharid(3) + ")", .@i); if (!.@i) { next; mes "[Hunting Master]"; mes "I can't seem to find any records"; mes "for that character, though..."; mes "One moment, please."; emotion e_hmm; #Mission_Count = 0; } @hm_char_del_check = 1; } close; } if (#Mission_Delay > gettimetick(2) && .Delay) { mes "I'm afraid you'll have to wait " + callfunc("Time2Str",#Mission_Delay) + " before taking another mission."; close; } mes "You must hunt:"; query_sql("SELECT ID FROM `" + .mob_db$ + "` WHERE left(Sprite, 4) != 'meta' AND left(Sprite, 2) != 'E_' AND ~Mode & 32 AND EXP > 0 AND MVP1id = 0 AND DropCardid > 4000 AND DropCardid < 5000 AND ID < 2000 AND instr('"+.Blacklist$+"',ID) = 0 ORDER BY rand() LIMIT " + .Quests, .@mob); for (.@i = 0; .@i < .Quests; .@i++) { setd "Mission" + .@i, .@mob[.@i]; setd "Mission" + .@i +"_", 0; } #Mission_Count = rand(.Count[0], .Count[1]); callsub Mission_Status; next; mes "[Hunting Master]"; mes "Report back when"; mes "you've finished."; mes "Good luck!"; close; case 2: mes "[Hunting Master]"; mes "Mission status:"; callsub Mission_Status; close; case 3: mes "[Hunting Master]"; mes "Do you really want to"; mes "abandon your mission?"; if (.Reset < 0 && .Delay) mes "Your delay time will not be reset."; else if (.Reset > 0) mes "It will cost " + callfunc("F_InsertComma",.Reset) + " Zeny."; next; switch(select(" ~ Abandon...: ~ ^777777Cancel^000000")) { case 1: if (.Reset > 0) { if (Zeny < .Reset) { mes "[Hunting Master]"; mes "You don't have enough"; mes "Zeny to drop this mission."; emotion e_sry; close; } Zeny -= .Reset; emotion e_cash; } mes "[Hunting Master]"; mes "Alright, I've dropped"; mes "your current mission."; specialeffect2 EF_STORMKICK4; for (.@i = 0; .@i < .Quests; .@i++) { setd "Mission"+.@i, 0; setd "Mission"+.@i+"_", 0; } #Mission_Count = 0; if (.Reset < 0 && .Delay) #Mission_Delay = gettimetick(2) + (.Delay * 3600); close; case 2: mes "[Hunting Master]"; mes "I knew you were kidding!"; mes "Keep up the good work."; emotion e_heh; close; } case 4: callsub Mission_Info; close; case 5: mes "[Hunting Master]"; mes "You have ^0055FF" + #Mission_Points + "^000000 Mission Points."; mes "Use them well!"; switch(select("Shop 1:Shop 2")) { Case 1: callshop "mission_shop",1; npcshopattach "mission_shop"; end; Case 2: callshop "mission_shop2",1; npcshopattach "mission_shop2"; end; } case 6: mes "[Hunting Master]"; mes "The top hunters are:"; query_sql("SELECT char_id AS id, (SELECT `name` FROM `char` WHERE char_id = id),`value` FROM `char_reg_num` WHERE `key` = 'Mission_Total' ORDER BY CAST(`value` AS SIGNED) DESC LIMIT 10", .@id, .@name$, .@val); for (.@i = 0; .@i < 5; .@i++) mes " [Rank " + (.@i+1) + "] " + ((.@name$[.@i] == "") ? "^777777none" : "^0055FF" + .@name$[.@i]+"^000000 : ^FF0000" + .@val[.@i] + " pt.") + "^000000"; close; case 7: mes "[Hunting Master]"; mes "Nothing? Okay..."; emotion e_hmm; close; } end; Mission_Status: @f = 0; deletearray .@j[0], getarraysize(.@j); for (.@i = 0; .@i < .Quests; .@i++) { .@j[.@i] = getd("Mission" + .@i); .@j[.Quests] = .@j[.Quests] + strmobinfo(3,.@j[.@i]); .@j[.Quests+1] = .@j[.Quests+1] + (strmobinfo(6,.@j[.@i]) / (getbattleflag("base_exp_rate") / 100) * .Modifier[0]); .@j[.Quests+2] = .@j[.Quests+2] + (strmobinfo(7,.@j[.@i]) / (getbattleflag("job_exp_rate") / 100) * .Modifier[1]); mes " > "+Chk(getd("Mission"+.@i+"_"),#Mission_Count) + strmobinfo(1,.@j[.@i]) + " (" + getd("Mission"+.@i+"_") + "/" + #Mission_Count + ")^000000"; } // Reward formulas: .@Mission_Points = 1; .@Base_Exp = 100000000; .@Job_Exp = 100000000; .@Zeny = 100000; next; mes "[Hunting Master]"; mes "Mission rewards:"; mes " > Mission Points: ^0055FF" + .@Mission_Points + "^000000"; mes " > Base Experience: ^0055FF" + callfunc("F_InsertComma",.@Base_Exp) + "^000000"; mes " > Job Experience: ^0055FF" + callfunc("F_InsertComma",.@Job_Exp) + "^000000"; mes " > Zeny: ^0055FF" + callfunc("F_InsertComma",.@Zeny) + "^000000"; if (@f) { @f = 0; return; } next; mes "[Hunting Master]"; mes "Oh, you're done!"; mes "Good work."; mes "Here's your reward."; emotion e_no1; specialeffect2 EF_ANGEL; specialeffect2 EF_TRUESIGHT; #Mission_Points += .@Mission_Points; BaseExp += .@Base_Exp; JobExp += .@Job_Exp; Zeny += .@Zeny; #Honour += Honour; for (.@i = 0; .@i < .Quests; .@i++) { setd "Mission" + .@i, 0; setd "Mission" + .@i+"_", 0; } #Mission_Count = 0; if (.Delay) #Mission_Delay = gettimetick(2) + (.Delay * 3600); Mission_Total++; if (Mission_Total == 1) query_sql("INSERT INTO `char_reg_num` (`char_id`,`key`,`index`,`value`) VALUES (" + getcharid(0) + ",'Mission_Total','0',1)"); else query_sql("UPDATE `char_reg_num` SET `value` = " + Mission_Total + " WHERE `char_id` = " + getcharid(0) + " AND `key` = 'Mission_Total'"); close; Mission_Info: mes "[Hunting Master]"; mes "You will be assigned with random hunting quest. Easy or hard, the rewards would be the same."; next; mes "[Hunting Master]"; mes "Rewards:"; mes "Mission Points: 1"; mes "Zeny: 100,000 zeny"; mes "Base EXP: 100 million"; mes "Job EXP: 100 million"; next; mes "[Hunting Master]"; mes "Missions points are shared amongst all your characters."; if (.Delay) mes "Delay time is, too."; mes "You can't take missions on"; mes "multiple characters at once."; next; mes "[Hunting Master]"; mes "You can start a quest"; mes (.Delay ? "every " + ((.Delay == 1) ? "hour." : .Delay + " hours.") : "whenever you want."); mes "That's everything~"; return; function Chk { if (getarg(0) < getarg(1)) { @f = 1; return "^FF0000"; } else return "^00FF00"; } OnBuyItem: @cost = 0; for (.@i = 0; .@i < getarraysize(@bought_nameid); .@i++) for (.@j = 0; .@j < getarraysize(.Shop); .@j += 2) if (@bought_nameid[.@i] == .Shop[.@j]) { set @cost, @cost + (.Shop[.@j+1] * @bought_quantity[.@i]); break; } mes "[Hunting Master]"; if (@cost > #Mission_Points) mes "You don't have enough Mission Points."; else { for (.@i = 0; .@i < getarraysize(@bought_nameid); .@i++) { getitem @bought_nameid[.@i], @bought_quantity[.@i]; dispbottom "Purchased " + @bought_quantity[.@i] + "x " + getitemname(@bought_nameid[.@i]) + "."; } #Mission_Points -= @cost; mes "Deal completed."; emotion e_cash; } @cost = 0; deletearray @bought_nameid[0], getarraysize(@bought_nameid); deletearray @bought_quantity[0], getarraysize(@bought_quantity); close; OnNPCKillEvent: if (!getcharid(1) || !.Party) { if (!#Mission_Count || !Mission0) end; for (.@i = 0; .@i < .Quests; .@i++) { if (strmobinfo(1,killedrid) == strmobinfo(1,getd("Mission" + .@i))) { if (getd("Mission" + .@i + "_") < #Mission_Count) { dispbottom "[Hunting Mission] Killed " + (set(getd("Mission" + .@i + "_"),getd("Mission" + .@i + "_") + 1)) + " of " + #Mission_Count + " " + strmobinfo(1,killedrid) + "."; end; } } } } else if (.Party) { .@mob = killedrid; getmapxy(.@map1$,.@x1,.@y1,UNITTYPE_PC); getpartymember getcharid(1),1; getpartymember getcharid(1),2; for (.@i = 0; .@i < $@partymembercount; .@i++) { if (isloggedin($@partymemberaid[.@i], $@partymembercid[.@i])) { set .@Mission_Count, getvar(#Mission_Count, $@partymembercid[.@i]); set .@Mission0, getvar(Mission0, $@partymembercid[.@i]); set .@HP, getvar(HP, $@partymembercid[.@i]); if (.@Mission_Count && .@Mission0 && .@HP > 0) { getmapxy(.@map2$,.@x2,.@y2,UNITTYPE_PC); if ((.@map1$ == .@map2$ || .Party == 1) && (distance(.@x1,.@y1,.@x2,.@y2) <= 30 || .Party < 3)) { for (.@j = 0; .@j < .Quests; .@j++) { .@my_mob_id = getvar( getd("Mission"+.@j),$@partymembercid[.@i] ); .@my_count = getvar( getd("Mission"+.@j+"_"), $@partymembercid[.@i] ); if (strmobinfo(1,.@mob) == strmobinfo(1,.@my_mob_id)) { if (.@my_count < .@Mission_Count) { setd "Mission"+.@j+"_", (.@my_count+1), $@partymembercid[.@i]; dispbottom "[Hunting Mission] Killed " + (.@my_count+1) + " of " + .@Mission_Count + " " + strmobinfo(1,.@mob) + ".", 0x777777, $@partymembercid[.@i]; break; } } } } } } } } end; OnInit: .Delay = 5; // Quest delay, in hours (0 to disable). .Quests = 3; // Number of subquests per mission (increases rewards). .Party = 3; // Party options: 0 (exclude party kills), 1 (include party kills), 2 (same map only), 3 (screen area only) .Reset = -1; // Reset options: -1 (abandoning mission sets delay time), 0 (no delay time), [Zeny] (cost to abandon mission, no delay time) setarray .Count[0], // Min and max monsters per subquest (increases rewards). 40,100; setarray .Modifier[0], // Multipliers for Base Exp, Job Exp, and Zeny rewards. getbattleflag("base_exp_rate")/100,getbattleflag("job_exp_rate")/100,60; .mob_db$ = // Table name of SQL mob database (checkre(0))?"mob_db_re":"mob_db"; setarray .Shop[0], 501,100; .Blacklist$ = // Blacklisted mob IDs. "1062,1088,1183,1186,1200,1212,1220,1221,1234,1235,"; npcshopdelitem "mission_shop",512; for (.@i = 0; .@i < getarraysize(.Shop); .@i += 2) npcshopadditem "mission_shop", .Shop[.@i], .Shop[.@i+1]; end; } - shop mission_shop -1,512:-1 - shop mission_shop2 -1,512:-1 But I cannot understand how to set the shop array for both Shop 1 and Shop 2.
  9. I downloaded the latest git. Had the default s1 p1 communication password on login db, char.conf and map.conf. Had the right IP set. Still cannot connect to login server.
  10. We encountered a problem with this job changer. Even we already set ExpandedSecond to 0. Still we get the expanded classes. //===== 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. //============================================================ prontera,147,103,6 script Job Master 402,{ function Job_Menu; mes "[Job Master]"; if (Class > Job_Soul_Linker) { 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; } .@eac = eaclass(); .@i = ((.ThirdClass) ? roclass(.@eac&EAJ_UPPERMASK) : Class); if (.@i >= Job_Knight && .@i <= Job_Crusader2) { if (BaseLevel < .Rebirth[0] || JobLevel < .Rebirth[1]) { .@blvl = .Rebirth[0] - BaseLevel; .@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 > Job_Crusader2) { mes "Switch to third class?"; next; Job_Menu(roclass(.@eac|EAJL_THIRD)); close; } while(1) { mes "Select an option."; next; .@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) ? Job_Novice_High : roclass(.@eac|EAJL_THIRD))); mes "[Job Master]"; } } .@j1 = roclass(.@eac|EAJL_2_1); .@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]) { .@blvl = .Rebirth[0] - BaseLevel; .@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 == Job_Novice_High && .LastJob && lastJob) { mes "Switch classes now?"; next; Job_Menu(roclass((eaclass(lastJob)&EAJ_BASEMASK)|EAJL_UPPER)); } else { switch(Class) { case Job_Novice: Job_Menu( Job_Swordman, Job_Mage, Job_Archer, Job_Acolyte, Job_Merchant, Job_Thief, Job_Super_Novice, Job_Taekwon, Job_Gunslinger, Job_Ninja, Job_Baby ); break; case Job_Novice_High: Job_Menu( Job_Swordman_High, Job_Mage_High, Job_Archer_High, Job_Acolyte_High, Job_Merchant_High, Job_Thief_High ); break; case Job_Baby: Job_Menu( Job_Baby_Swordman, Job_Baby_Mage, Job_Baby_Archer, Job_Baby_Acolyte, Job_Baby_Merchant, Job_Baby_Thief, Job_Super_Baby ); break; 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 + Job_Novice_High); } else Job_Menu(.@j1, .@j2); close; function Job_Menu { while(1) { if (getargcount() > 1) { mes "Select a job."; .@menu$ = ""; for (.@i = 0; .@i < getargcount(); .@i++) .@menu$ = .@menu$ + " ~ " + jobname(getarg(.@i)) + ":"; .@menu$ = .@menu$+" ~ ^777777Cancel^000000"; next; .@i = getarg(select(.@menu$) - 1, 0); if (!.@i) close; if ((.@i == Job_Super_Novice || .@i == Job_Super_Baby) && 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 .@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 == Job_Novice_High && .LastJob) lastJob = Class; jobchange .@i; if (.@i == Job_Novice_High) resetlvl(1); else if (.@i == Job_Baby) { resetstatus; resetskill; set SkillPoint,0; } specialeffect2 EF_ANGEL2; specialeffect2 EF_ELECTRIC; if (.Platinum) callsub Get_Platinum; close; } if (getargcount() == 1) return; mes "[Job Master]"; } end; } Get_Platinum: skill "NV_FIRSTAID",1,SKILL_PERM; switch (BaseClass) { case Job_Novice: if (Class != Job_Super_Novice) skill "NV_TRICKDEAD",1,SKILL_PERM; break; case Job_Swordman: skill "SM_MOVINGRECOVERY",1,SKILL_PERM; skill "SM_FATALBLOW",1,SKILL_PERM; skill "SM_AUTOBERSERK",1,SKILL_PERM; break; case Job_Mage: skill "MG_ENERGYCOAT",1,SKILL_PERM; break; case Job_Archer: skill "AC_MAKINGARROW",1,SKILL_PERM; skill "AC_CHARGEARROW",1,SKILL_PERM; break; case Job_Acolyte: skill "AL_HOLYLIGHT",1,SKILL_PERM; break; case Job_Merchant: skill "MC_CARTREVOLUTION",1,SKILL_PERM; skill "MC_CHANGECART",1,SKILL_PERM; skill "MC_LOUD",1,SKILL_PERM; break; case Job_Thief: skill "TF_SPRINKLESAND",1,SKILL_PERM; skill "TF_BACKSLIDING",1,SKILL_PERM; skill "TF_PICKSTONE",1,SKILL_PERM; skill "TF_THROWSTONE",1,SKILL_PERM; break; default: break; } switch (BaseJob) { case Job_Knight: skill "KN_CHARGEATK",1,SKILL_PERM; break; case Job_Priest: skill "PR_REDEMPTIO",1,SKILL_PERM; break; case Job_Wizard: skill "WZ_SIGHTBLASTER",1,SKILL_PERM; break; case Job_Blacksmith: skill "BS_UNFAIRLYTRICK",1,SKILL_PERM; skill "BS_GREED",1,SKILL_PERM; break; case Job_Hunter: skill "HT_PHANTASMIC",1,SKILL_PERM; break; case Job_Assassin: skill "AS_SONICACCEL",1,SKILL_PERM; skill "AS_VENOMKNIFE",1,SKILL_PERM; break; case Job_Crusader: skill "CR_SHRINK",1,SKILL_PERM; break; case Job_Monk: skill "MO_KITRANSLATION",1,SKILL_PERM; skill "MO_BALKYOUNG",1,SKILL_PERM; break; case Job_Sage: skill "SA_CREATECON",1,SKILL_PERM; skill "SA_ELEMENTWATER",1,SKILL_PERM; skill "SA_ELEMENTGROUND",1,SKILL_PERM; skill "SA_ELEMENTFIRE",1,SKILL_PERM; skill "SA_ELEMENTWIND",1,SKILL_PERM; break; case Job_Rogue: skill "RG_CLOSECONFINE",1,SKILL_PERM; break; case Job_Alchemist: skill "AM_BIOETHICS",1,SKILL_PERM; break; case Job_Bard: skill "BA_PANGVOICE",1,SKILL_PERM; break; case Job_Dancer: skill "DC_WINKCHARM",1,SKILL_PERM; 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 .ThirdClass = 0; // Enable third classes? (1: yes / 0: no) .SecondExpanded = 0; // Enable new expanded second classes: Ex. Super Novice, Kagerou/Oboro, Rebellion? (1: yes / 0: no) .SNovice = 45; // Minimum base level to turn into Super Novice .LastJob = 1; // Enforce linear class changes? (1: yes / 0: no) .SkillPointCheck = 1; // Force player to use up all skill points? (1: yes / 0: no) .Platinum = 1; // Get platinum skills automatically? (1: yes / 0: no) end; }
  11. Hello. How to add buffs to healer? When I try, I always get the stone curse. I cannot find Sacrament on db/const. And when I try Chemical Protection, It doesn't work. skilleffect 300,0; sc_start SC_CHEMICALPROTECTION,240000,5;
  12. How/where to insert checkvending?
  13. Sour-

    Background Color

    It's on style.css. You saved me twice today. Thanks
  14. Sour-

    Background Color

    My theme is not default (thus, the reason I'm asking if there is a common place to find the background color). I bought it from EADev last year. I want to change just the background, so I made the top and bottom background. But there is that middle line (arrowed) that would be more prominent when there would be more contents.
  15. Sour-

    Background Color

    Hello again. There are these top and bottom background image. This middle thing should blend them but I do not know where to change it. Is there a common place/config (whatever it's called) on where to change this background color (if it is a background color)?
  16. Thank you! The host opened the port for me. It's now installed. BIG HELP. Really, thank you so much, Technoken and Cyro.
  17. application.php <?php // This is the application configuration file. All values have been set to // the default, and should be changed as needed. return array( 'ServerAddress' => '19*.**.***.**', // This value is the hostname:port under which Flux runs. (e.g., example.com or example.com:80) 'BaseURI' => '', // The base URI is the base web root on which your application lies. 'InstallerPassword' => '****', // Installer/updater password. 'RequireOwnership' => true, // Require the executing user to be owner of the FLUX_ROOT/data/ directory tree? (Better for security) // WARNING: This will be mostly IGNORED on non-POSIX-compliant OSes (e.g. Windows). 'DefaultLoginGroup' => null, 'DefaultCharMapServer' => null, 'DefaultLanguage' => 'en_us', // Specify the default control panel language (see FLUX_ROOT/lang/ directory for available languages.) 'SiteTitle' => 'Flux Control Panel', // This value is only used if the theme decides to use it. 'ThemeName' => array('default', 'bootstrap'), // Names of the themes you would like list for use in the footer. Themes are in FLUX_ROOT/themes. 'ScriptTimeLimit' => 0, // Script execution time limit. Specifies (in seconds) how long a page should run before timing out. (0 means forever) 'MissingEmblemBMP' => 'empty.bmp', // 'ItemIconNameFormat' => '%d.png', // The filename format for item icons (defaults to {itemid}.png). 'ItemImageNameFormat' => '%d.png', // The filename format for item images (defaults to {itemid}.png). 'MonsterImageNameFormat' => '%d.gif', // The filename format for monster images (defaults to {monsterid}.gif). 'JobImageNameFormat' => '%d.gif', // The filename format for job images (defaults to {jobid}.gif). 'ForceEmptyEmblem' => false, // Forcefully display empty guild emblems, helpful when you don't have GD2 installed. 'EmblemCacheInterval' => 12, // Hourly interval to re-cache guild emblems (set to 0 to disable emblem cache). 'SessionCookieExpire' => 48, // Duration in hours. 'AdminMenuGroupLevel' => AccountLevel::LOWGM, // The starting group ID for which module actions are moved into the admin menu for display. 'DateDefaultTimezone' => 'UTC', // The default timezone, consult the PHP manual for valid timezones: http://php.net/timezones (null for defaut system TZ) 'DateFormat' => 'Y-m-d', // Default DATE format to be displayed in pages. 'DateTimeFormat' => 'Y-m-d H:i:s', // Default DATETIME format to be displayed in pages. 'ShowSinglePage' => true, // Whether or not to show the page numbers even if there's only one page. 'ResultsPerPage' => 20, // The number of results to display in a paged set, per page. 'PagesToShow' => 10, // The number of page numbers to display at once. 'PageJumpMinimumPages' => 1, // Minimum number of required pages before page jump box is shown. (0 to always show!) 'ShowPageJump' => true, // Whether or not to show the "Page Jump" box. 'SingleMatchRedirect' => true, // Whether or not to redirect to view action from index page if only one match is returned (and action is allowed). 'SingleMatchRedirectItem' => false, // Same as above, for item module. 'SingleMatchRedirectMobs' => false, // Same as above, for monster module. 'UsernameAllowedChars' => 'a-zA-Z0-9_', // PCRE Format Pattern. default: 'a-zA-Z0-9_' (alphanumeric and underscore) // WARNING: This string isn't escaped so be careful which chars you use! // PCRE Pattern Ref: http://php.net/manual/en/pcre.pattern.php 'MinUsernameLength' => 4, // Minimum username length. 'MaxUsernameLength' => 23, // Maximum username length. 'MinPasswordLength' => 8, // Minimum password length. 'MaxPasswordLength' => 31, // Maximum password length. 'PasswordMinUpper' => 1, // Number of upper-case letters to require in passwords. 'PasswordMinLower' => 1, // Number of lower-case letters to require in passwords. 'PasswordMinNumber' => 1, // Number of numbers to require in passwords. 'PasswordMinSymbol' => 0, // Number of symbols to require in passwords. 'GMMinPasswordLength' => 8, // Minimum password length for GM accounts. 'GMPasswordMinUpper' => 1, // Number of upper-case letters to require in passwords for GM accounts. 'GMPasswordMinLower' => 1, // Number of lower-case letters to require in passwords for GM accounts. 'GMPasswordMinNumber' => 1, // Number of numbers to require in passwords for GM accounts. 'GMPasswordMinSymbol' => 1, // Number of symbols to require in passwords for GM accounts. 'RandomPasswordLength' => 16, // This is the length of the random password generated by the "Reset Password" feature. (NOTE: Hardcoded minimum value of 8) 'AllowUserInPassword' => false, // Whether or not to allow the password to contain the username. (NOTE: A case-insensitive search is performed) 'AllowDuplicateEmails' => false, // Whether or not to allow duplicate e-mails to be used in registration. (See Mailer config options) 'RequireEmailConfirm' => false, // Require e-mail confirmation during registration. 'RequireChangeConfirm' => false, // Require confirmation when changing e-mail addresses. 'EmailConfirmExpire' => 48, // E-mail confirmations expire hours. Unconfirmed accounts will expire after this period of time. 'PincodeEnabled' => true, // Whether or not the pincode system is enabled in your server. (Check your char_athena.conf file. Enabled by default.) 'MailerFromAddress' => 'noreply@localhost', // The e-mail address displayed in the From field. 'MailerFromName' => 'MailerName', // The name displayed with the From e-mail address. 'MailerUseSMTP' => false, // Whether or not to use a separate SMTP server for sending mail. 'MailerSMTPUseSSL' => false, // Whether or not mailer should connect using SSL (yes for GMail). 'MailerSMTPUseTLS' => false, // Same as above SSL setting, but for TLS. This setting will override the SSL setting. 'MailerSMTPPort' => null, // When MailerUseSMTP is true: SMTP server port (mailer will default to 25). 'MailerSMTPHosts' => null, // When MailerUseSMTP is true: A string host or array of hosts (e.g., 'host1' or array('host1', 'backuphost')). 'MailerSMTPUsername' => null, // When MailerUseSMTP is true: Authorized username for SMTP server. 'MailerSMTPPassword' => null, // When MailerUseSMTP is true: Authorized password for SMTP server (for above user). 'ServerStatusCache' => 2, // Store a cached server status and refresh every X minutes. Default: 2 minutes (value is measured in minutes). 'ServerStatusTimeout' => 2, // For each server, spend X amount of seconds to determine whether it's up or not. 'SessionKey' => 'fluxSessionData', // Shouldn't be changed, just specifies the session key to be used for session data. 'DefaultModule' => 'main', // This is the module to execute when none has been specified. 'DefaultAction' => 'index', // This is the default action for any module, probably should leave this alone. (Deprecated) 'GzipCompressOutput' => false, // Whether or not to compress output using zlib. 'GzipCompressionLevel' => 9, // zlib compression level. (1~9) 'OutputCleanHTML' => true, // Use this if you have Tidy installed to clean your HTML output when serving pages. 'ShowCopyright' => true, // Whether or not to show the copyright footer. 'ShowRenderDetails' => true, // Shows the "page rendered in X seconds" and "number of queries executed: X" in the default theme. 'UseCleanUrls' => false, // Set to true if you're running Apache and it supports mod_rewrite and .htaccess files. 'DebugMode' => false, // Set to false to minimize technical details from being output by Flux. WARNING: DO NOT USE THIS OPTION ON A PUBLICALLY-ACCESSIBLE CP. 'UseCaptcha' => true, // Use CAPTCHA image for account registration to prevent automated account creations. (Requires GD2/FreeType2) 'UseLoginCaptcha' => false, // Use CAPTCHA image for account logins. (Requires GD2/FreeType2) 'EnableReCaptcha' => false, // Enables the use of reCAPTCHA instead of Flux's native GD2 library (http://www.google.com/recaptcha) 'ReCaptchaPublicKey' => '...', // This is your reCAPTCHA public key [REQUIRED FOR RECAPTCHA] (sign up at http://www.google.com/recaptcha) 'ReCaptchaPrivateKey' => '...', // This is your reCAPTCHA private key [REQUIRED FOR RECAPTCHA] (sign up at http://www.google.com/recaptcha) 'ReCaptchaTheme' => 'white', // ReCaptcha theme to use (see: http://code.google.com/apis/recaptcha/docs/customization.html#Standard_Themes) 'DisplaySinglePages' => true, // Whether or not to display paging for single page results. 'ForwardYears' => 15, // (Visual) The number of years to display ahead of the current year in date inputs. 'BackwardYears' => 30, // (Visual) The number of years to display behind the current year in date inputs. 'ColumnSortAscending' => ' â–²', // (Visual) Text displayed for ascending sorted column names. 'ColumnSortDescending' => ' â–¼', // (Visual) Text displayed for descending sorted column names. 'CreditExchangeRate' => 1.0, // The rate at which credits are exchanged for dollars. 'MinDonationAmount' => 2.0, // Minimum donation amount. (NOTE: Actual donations made that are less than this account won't be exchanged) 'DonationCurrency' => 'USD', // Preferred donation currency. Only donations made in this currency will be processed for credit deposits. 'MoneyDecimalPlaces' => 2, // (Visual) Number of decimal places to display in amount. 'MoneyThousandsSymbol' => ',', // (Visual) Thousandths place separator (a period in European currencies). 'MoneyDecimalSymbol' => '.', // (Visual) Decimal separator (a comma in European currencies). 'AcceptDonations' => true, // Whether or not to accept donations. 'PayPalIpnUrl' => 'www.sandbox.paypal.com',// The URL for PayPal's IPN responses (www.paypal.com for live and www.sandbox.paypal.com for testing) 'PayPalBusinessEmail' => 'admin@localhost', // Enter the e-mail under which you have registered your business account. 'PayPalReceiverEmails' => array( // These are the receiver e-mail addresses who are allowed to receive payment. //'admin2@localhost', // -- This array may be empty if you only use one e-mail //'admin3@localhost' // -- because your Business Email is also checked. ), 'GStorageLeaderOnly' => false, // Only allow guild leader to view guild storage rather than all members? 'DivorceKeepChild' => false, // Keep child after divorce? 'DivorceKeepRings' => false, // Keep wedding rings after divorce? 'IpWhitelistPattern' => // PCRE Format Pattern. It's recommended you add your gameserver, webserver and server owner's IPs here. '(127\.0\.0\.1|0(\.[0\*]){3})', // WARNING: This string isn't escaped so be careful which chars you use! // By default, whitelists 127.0.0.1 (localhost) and 0.0.0.0 (all interfaces; whitelists all wildcard bans that can achive this too) 'AllowIpBanLogin' => false, // Allow logging into account from banned IP. 'AllowTempBanLogin' => false, // Allow logging in of temporarily banned accounts. 'AllowPermBanLogin' => false, // Allow logging in of permanently banned accounts. 'AutoRemoveTempBans' => true, // Automatically remove expired temporary bans on certain pages. 'ItemShopMaxCost' => 99, // Max price an item can be sold for. 'ItemShopMaxQuantity' => 99, // Max quantity the item may be sold at once for. 'ItemShopItemPerPage' => 5, // The number of items to display per page in the "Item Shop" page. 'HideFromWhosOnline' => AccountLevel::LOWGM, // Levels greater than or equal to this will be hidden from the "Who's Online" page. 'HideFromMapStats' => AccountLevel::LOWGM, // Levels greater than or equal to this will be hidden from the "Map Stats" page. 'EnableGMPassSecurity' => AccountLevel::LOWGM, // Levels greater than or equal to this will be required to use passwords that meet the earlier GM Password settings. 'ChargeGenderChange' => 0, // You can specify this as the number of credits to charge for gender change. Can be 0 for free change. 'BanPaymentStatuses' => array( // Payment statuses that will automatically ban the account owner if received. 'Cancelled_Reversal', // -- 'Cancelled_Reversal' 'Reversed', // -- 'Reversed' ), 'HoldUntrustedAccount' => 0, // This is the time in hours to hold a donation crediting process for, if the account // isn't a trusted account. Specify 0 or false to disable this feature. 'AutoUnholdAccount' => false, // Enable this to auto-unhold an account and credit it if the transaction is still // valid. This only applies if you are using the HoldUnstrustedAccount feature. // If you want to run a cron job instead, you can make a request to the '/donate/update' // module/action with the InstallerPassword as the password to run the update task. // With clean URLs: http://<server>/<baseURI>/donate/update?password=<InstallerPassword> // Without clean URLs: http://<server>/<baseURI>?module=donate&action=update&password=<InstallerPassword> // NOTE: This option is HIGHLY inefficient, it's recommended to run a cron job instead. 'AutoPruneAccounts' => false, // Enable this to automatically prune expired accounts. Enabling this is a performance // performance killer. See 'AutoUnholdAccount' for running this task as a cron job, // the module is 'account' and the action is 'prune'. // With clean URLs: http://<server>/<baseURI>/account/prune?password=<InstallerPassword> // Without clean URLs: http://<server>/<baseURI>?module=account&action=prune&password=<InstallerPassword> 'ShopImageExtensions' => array( // These are the image extensions allowed for uploading in the item shop. 'png', 'jpg', 'gif', 'bmp', 'jpeg' ), 'NoResetPassGroupLevel' => AccountLevel::LOWGM, // Minimum group level of account to prevent password reset using control panel. 'CharRankingLimit' => 20, // 'GuildRankingLimit' => 20, // 'ZenyRankingLimit' => 20, // 'DeathRankingLimit' => 20, // 'AlchemistRankingLimit' => 20, // 'BlacksmithRankingLimit' => 20, // 'HomunRankingLimit' => 20, // 'RankingHideGroupLevel' => AccountLevel::LOWGM, // 'InfoHideZenyGroupLevel' => AccountLevel::LOWGM, // Minimum group level of account to hide zeny from in server information page. 'CharRankingThreshold' => 0, // Number of days the character must have logged in within to be listed in character ranking. (0 = disabled) 'ZenyRankingThreshold' => 0, // Number of days the character must have logged in within to be listed in zeny ranking. (0 = disabled) 'DeathRankingThreshold' => 0, // Number of days the character must have logged in within to be listed in death ranking. (0 = disabled) 'AlchemistRankingThreshold' => 0, // Number of days the character must have logged in within to be listed in death ranking. (0 = disabled) 'HomunRankingThreshold' => 0, // Number of days the character must have logged in within to be listed in homunculus ranking. (0 = disabled) 'HideTempBannedCharRank' => false, // Hide temporarily banned characters from ranking. 'HidePermBannedCharRank' => true, // Hide permanently banned characters from ranking. 'HideTempBannedZenyRank' => false, // Hide temporarily banned characters from ranking. 'HidePermBannedZenyRank' => true, // Hide permanently banned characters from ranking. 'HideTempBannedDeathRank' => false, // Hide temporarily banned characters from ranking. 'HidePermBannedDeathRank' => true, // Hide permanently banned characters from ranking. 'HideTempBannedAlcheRank' => false, // Hide temporarily banned characters from ranking. 'HidePermBannedAlcheRank' => true, // Hide permanently banned characters from ranking. 'HideTempBannedSmithRank' => false, // Hide temporarily banned characters from ranking. 'HidePermBannedSmithRank' => true, // Hide permanently banned characters from ranking. 'HideTempBannedStats' => false, // Hide temporarily banned accounts from statistics. 'HidePermBannedStats' => true, // Hide permanently banned accounts from statistics. 'HideTempBannedHomunRank' => false, // Hide temporarily banned characters from ranking. 'HidePermBannedHomunRank' => true, // Hide permanently banned characters from ranking. 'SortJobsByAmount' => false, // Sort job class information on statistics page by descending quantity (false = Sort by Job ID). 'CpLoginLogShowPassword' => false, // Show password in CP login log (also see access.php's SeeCpLoginLogPass). 'CpResetLogShowPassword' => false, // Show password in CP "password resets" log (also see access.php's SeeCpResetPass). 'CpChangeLogShowPassword' => false, // Show password in CP "password changes" log (also see access.php's SeeCpChangePass). 'AdminMenuNewStyle' => true, // Use new-style admin menu; Applies to 'default' theme. // Contact Form 'ContactFormEmail' => '[email protected]', // This email address is where you want the form submissions to be sent. // News Options 'CMSNewsOnHomepage' => true, // Display News on Home Page instead of "You've Just Installed FluxCP" message? 'CMSNewsType' => 1, // Type = source of news feed: // 1 = Built-in news page // 2 = RSS Import 'CMSNewsRSS' => 'http://spriterepository.com/index.php?/rss/forums/1-tsr-news/', // Use if CMSNewsType = 2 'CMSNewsLimit' => 4, // Number of news items to display // Service Desk 'StaffReplyColour' => 'brown', 'FontResolvedColour' => 'green', 'FontPendingColour' => 'orange', 'FontClosedColour' => 'darkgrey', // Discord Webhooks 'DiscordUseWebhook' => false, 'DiscordWebhookURL' => 'enter_webhook_url_from_discord_here', 'DiscordSendOnRegister' => true, 'DiscordSendOnNewTicket' => true, 'DiscordSendOnWebCommand' => true, 'DiscordSendOnMarketing' => true, // These are the main menu items that should be displayed by themes. // They route to modules and actions. Whether they are displayed or // not at any given time depends on the user's account group level and/or // their login status. 'MenuItems' => array( 'MainMenuLabel' => array( 'HomeLabel' => array('module' => 'main'), //'ForumLabel' => array('exturl' => 'http://www.fluxro.com/community'), // External forum link //'ForumLabel' => array('module' => 'forums'), // Built-in forum link 'NewsLabel' => array('module' => 'news'), // Sample items for pages function. 'DownloadsLabel' => array('module' => 'pages','action'=>'content&path=downloads'), 'RulesLabel' => array('module' => 'pages','action'=>'content&path=rules'), // End sample items for pages function. 'ContactUsLabel' => array('module' => 'contactform'), ), 'AccountLabel' => array( 'AccountCreateHeading' => array('module' => 'account', 'action' => 'create'), 'LoginTitle' => array('module' => 'account', 'action' => 'login'), 'MyAccountLabel' => array('module' => 'account', 'action' => 'view'), 'HistoryLabel' => array('module' => 'history'), 'ServiceDeskLabel' => array('module' => 'servicedesk'), 'LogoutTitle' => array('module' => 'account', 'action' => 'logout'), ), 'DonationsLabel' => array( 'PurchaseLabel' => array('module' => 'purchase'), 'DonateLabel' => array('module' => 'donate'), ), 'InformationLabel' => array( 'ServerInfoLabel' => array('module' => 'server', 'action' => 'info'), 'ServerStatusLabel' => array('module' => 'server', 'action' => 'status'), 'WoeHoursLabel' => array('module' => 'woe'), 'CastlesLabel' => array('module' => 'castle'), 'WhosOnlineLabel' => array('module' => 'character', 'action' => 'online'), 'MapStaticsLabel'=> array('module' => 'character', 'action' => 'mapstats'), 'RankingInfoLabel' => array('module' => 'ranking', 'action' => 'character'), 'VendingInfoLabel' => array('module' => 'vending'), ), 'DatabaseLabel' => array( 'ItemDatabaseLabel' => array('module' => 'item'), 'MobDatabaseLabel' => array('module' => 'monster'), 'Maps Database' => array('module' => 'map'), 'NPCs Database' => array('module' => 'npcs'), ), 'SocialLabel' => array( 'JoinUsInFacebookLabel' => array('exturl' => 'https://www.facebook.com/<change_me>'), 'RateUsOnRMSLabel' => array('exturl' => '<link_to_RMS>'), ), 'Service Desk' => array( 'ServiceDeskLabel' => array('module' => 'servicedesk', 'action' => 'staffindex'), ), 'Misc. Stuff' => array( 'AccountLabel' => array('module' => 'account'), 'CharacterLabel' => array('module' => 'character'), 'CPLogsLabel' => array('module' => 'cplog'), 'PagesLabel' => array('module' => 'pages'), 'NewsLabel' => array('module' => 'news', 'action' => 'manage'), 'GuildsLabel' => array('module' => 'guild'), 'IPBanListLabel' => array('module' => 'ipban'), 'rALogsLabel' => array('module' => 'logdata'), 'ReInstallLabel' => array('module' => 'install', 'action' => 'reinstall'), 'SendMailLabel' => array('module' => 'mail'), 'WCTitleLabel' => array('module' => 'webcommands'), 'Map Database Edit' => array('module' => 'admin_spawn'), //'Auction' => array('module' => 'auction'), //'Economy' => array('module' => 'economy') ) ), // Sub-menu items that are displayed for any action belonging to a // particular module. The format it simple. 'SubMenuItems' => array( 'map' => array( 'index' => 'Map List', 'view' => 'View Map', ), 'npcs' => array( 'index' => 'NPC List', 'view' => 'View NPC', ), 'history' => array( 'gamelogin' => 'Game Logins', 'cplogin' => 'CP Logins', 'emailchange' => 'E-Mail Changes', 'passchange' => 'Password Changes', 'passreset' => 'Password Resets' ), 'account' => array( 'index' => 'List Accounts', 'view' => 'View Account', 'changepass' => 'Change Password', 'changemail' => 'Change E-mail', 'changesex' => 'Change Gender', 'transfer' => 'Transfer Credits', 'xferlog' => 'Credit Transfer History', 'cart' => 'Go to Shopping Cart', 'login' => 'Login', 'create' => 'Register', 'resetpass' => 'Reset Password', 'resend' => 'Resend E-mail Confirmation' ), 'guild' => array( 'index' => 'List Guilds', 'export' => 'Export Guild Emblems' ), 'server' => array( 'status' => 'View Status', 'status-xml' => 'View Status as XML' ), 'logdata' => array( 'branch' => 'Branches', 'char' => 'Characters', 'chat' => 'Chat Messages', 'command' => 'Commands', 'inter' => 'Interactions', 'pick' => 'Item Picks', 'login' => 'Logins', 'mvp' => 'MVP', 'npc' => 'NPC', 'zeny' => 'Zeny' ), 'cplog' => array( 'paypal' => 'PayPal Transactions', 'create' => 'Account Registrations', 'login' => 'Logins', 'resetpass' => 'Password Resets', 'changepass' => 'Password Changes', 'changemail' => 'E-mail Changes', 'ban' => 'Account Bans', 'ipban' => 'IP Bans' ), 'purchase' => array( 'index' => 'Shop', 'cart' => 'Go to Cart', 'checkout' => 'Checkout', 'clear' => 'Empty Cart', 'pending' => 'Pending Redemption' ), 'donate' => array( 'index' => 'Make a Donation', 'history' => 'Donation History', 'trusted' => 'Trusted PayPal E-mails' ), 'ipban' => array( 'index' => 'IP Ban List', 'add' => 'Add IP Ban' ), 'ranking' => array( 'character' => 'Characters', 'death' => 'Deaths', 'alchemist' => 'Alchemists', 'blacksmith' => 'Blacksmiths', 'homunculus' => 'Homunculus', 'guild' => 'Guilds', 'zeny' => 'Zeny' ), 'item' => array( 'index' => 'List Items', 'add' => 'Add Item', ), 'pages' => array( 'index' => 'Manage Pages', 'add' => 'Add New Page', ), 'news' => array( 'index' => 'Latest News', 'manage' => 'Manage', 'add' => 'Add News', ), 'servicedesk' => array( 'staffindex' => 'View Active', 'staffviewclosed'=> 'View Closed', 'staffsettings' => 'Staff Settings', 'catcontrol' => 'Category Control', ), 'vending' => array( 'index' => 'Vendors', ), ), 'AllowMD5PasswordSearch' => false, 'ReallyAllowMD5PasswordSearch' => false, // Are you POSITIVELY sure? // Specifies which modules and actions should be ignored by Tidy // (enabled/disabled by the OutputCleanHTML option). 'TidyIgnore' => array( array('module' => 'captcha'), array('module' => 'guild', 'action' => 'emblem') ), // Job classes, loaded from another file to avoid cluttering this one. // There isn't normally a need to modify this file, unless it's been // modified in an update. (In English: DON'T TOUCH THIS.) 'JobClasses' => include('jobs.php'), // Alchemist job classes, mostly used for alchemist rankings. // Should be left alone unless new alchemist-related job classes are introduced. 'AlchemistJobClasses' => include('jobs_alchemist.php'), // Blacksmith job classes, mostly used for blacksmith rankings. // Should be left alone unless new blacksmith-related job classes are introduced. 'BlacksmithJobClasses' => include('jobs_blacksmith.php'), // Gender-linked Job class IDs and their corresponding names. // Should be left alone unless new gender-specific job classes are introduced. 'GenderLinkedJobClasses' => include('jobs_gender_linked.php'), // Homunculus class IDs and their corresponding names. // Best not to mess with this either. 'HomunClasses' => include('homunculus.php'), // Item Types with their corresponding names. // Shouldn't touch this either. 'ItemTypes' => include('itemtypes.php'), // Special Item Types with their corresponding names (For Weapons & Ammo by default). // Shouldn't touch this either. 'ItemTypes2' => include('itemtypes2.php'), // Common Equip Location Combinations with their corresponding names. // Shouldn't touch this unless you've added custom combinations. 'EquipLocationCombinations' => include('equip_location_combinations.php'), // Error Code -> Error Type mapping. // Shouldn't need touching, however modifying loginerrors.php should be relatively safe. 'LoginErrors' => include('loginerrors.php'), // rA equip jobs mapping. 'EquipJobs' => include('equip_jobs.php'), // rA equip locations mapping. 'EquipLocations' => include('equip_locations.php'), // rA equip upper mapping. 'EquipUpper' => include('equip_upper.php'), // rA monster sizes mapping. 'MonsterSizes' => include('sizes.php'), // rA monster races mapping. 'MonsterRaces' => include('races.php'), // rA elements mapping. 'Elements' => include('elements.php'), // rA attributes mapping. 'Attributes' => include('attributes.php'), // rA monster modes mapping. 'MonsterModes' => include('monstermode.php'), // Item shop categories. 'ShopCategories' => include('shopcategories.php'), // Item pick and zeny log types. 'PickTypes' => include('picktypes.php'), // Castle names. 'CastleNames' => include('castlenames.php'), // DON'T TOUCH. THIS IS FOR DEVELOPERS. 'FluxTables' => array( 'CreditsTable' => 'cp_credits', 'CreditTransferTable' => 'cp_xferlog', 'ItemShopTable' => 'cp_itemshop', 'TransactionTable' => 'cp_txnlog', 'RedemptionTable' => 'cp_redeemlog', 'AccountCreateTable' => 'cp_createlog', 'AccountBanTable' => 'cp_banlog', 'IpBanTable' => 'cp_ipbanlog', 'DonationTrustTable' => 'cp_trusted', 'AccountPrefsTable' => 'cp_loginprefs', 'CharacterPrefsTable' => 'cp_charprefs', 'ResetPasswordTable' => 'cp_resetpass', 'ChangeEmailTable' => 'cp_emailchange', 'LoginLogTable' => 'cp_loginlog', 'ChangePasswordTable' => 'cp_pwchange', 'OnlinePeak' => 'cp_onlinepeak', 'CMSNewsTable' => 'cp_cmsnews', 'CMSPagesTable' => 'cp_cmspages', 'CMSSettingsTable' => 'cp_cmssettings', 'ServiceDeskTable' => 'cp_servicedesk', 'ServiceDeskATable' => 'cp_servicedeska', 'ServiceDeskCatTable' => 'cp_servicedeskcat', 'ServiceDeskSettingsTable' => 'cp_servicedesksettings', 'WebCommandsTable' => 'cp_commands', ) ); ?> servers.php <?php return array( // Example server configuration. You may have more arrays like this one to // specify multiple server groups (however they should share the same login // server whilst they are allowed to have multiple char/map pairs). array( 'ServerName' => 'FluxRO', // Global database configuration (excludes logs database configuration). 'DbConfig' => array( //'Socket' => '/tmp/mysql.sock', //'Port' => 3306, //'Encoding' => 'utf8', // Connection encoding -- use whatever here your MySQL tables collation is. 'Convert' => 'utf8', // -- 'Convert' option only works when 'Encoding' option is specified and iconv (http://php.net/iconv) is available. // -- It specifies the encoding to convert your MySQL data to on the website (most likely needs to be utf8) 'Hostname' => '17*.***.**.***', 'Username' => 'root', 'Password' => '****', 'Database' => 'ragnarok', 'Persistent' => true, 'Timezone' => null // Example: '+0:00' is UTC. // The possible values of 'Timezone' is as documented from the MySQL website: // "The value can be given as a string indicating an offset from UTC, such as '+10:00' or '-6:00'." // "The value can be given as a named time zone, such as 'Europe/Helsinki', 'US/Eastern', or 'MET'." (see below continuation!) // **"Named time zones can be used only if the time zone information tables in the mysql database have been created and populated." ), // This is kept separate because many people choose to have their logs // database accessible under different credentials, and often on a // different server entirely to ensure the reliability of the log data. 'LogsDbConfig' => array( //'Socket' => '/tmp/mysql.sock', //'Port' => 3306, //'Encoding' => null, // Connection encoding -- use whatever here your MySQL tables collation is. 'Convert' => 'utf8', // -- 'Convert' option only works when 'Encoding' option is specified and iconv (http://php.net/iconv) is available. // -- It specifies the encoding to convert your MySQL data to on the website (most likely needs to be utf8) 'Hostname' => '17*.***.**.***'', 'Username' => 'root', 'Password' => '****r', 'Database' => 'ragnarok', 'Persistent' => true, 'Timezone' => null // Possible values is as described in the comment in DbConfig. ), // Login server configuration. 'LoginServer' => array( 'Address' => '17*.***.**.***'', 'Port' => 6900, 'UseMD5' => false, 'NoCase' => true, // rA account case-sensitivity; Default: Case-INsensitive (true). 'GroupID' => 0, // Default account group ID during registration. //'Database' => 'ragnarok' ), 'CharMapServers' => array( array( 'ServerName' => 'FluxRO', 'Renewal' => true, 'MaxCharSlots' => 9, 'DateTimezone' => null, // Specifies game server's timezone for this char/map pair. (See: http://php.net/timezones) //'ResetDenyMaps' => 'sec_pri', // Defaults to 'sec_pri'. This value can be an array of map names. //'Database' => 'ragnarok', // Defaults to DbConfig.Database 'ExpRates' => array( 'Base' => 100, // Rate at which (base) exp is given 'Job' => 100, // Rate at which job exp is given 'Mvp' => 100 // MVP bonus exp rate ), 'DropRates' => array( // The rate the common items (in the ETC tab, besides card) are dropped 'Common' => 100, 'CommonBoss' => 100, // The rate healing items (that restore HP or SP) are dropped 'Heal' => 100, 'HealBoss' => 100, // The rate usable items (in the item tab other then healing items) are dropped 'Useable' => 100, 'UseableBoss' => 100, // The rate at which equipment is dropped 'Equip' => 100, 'EquipBoss' => 100, // The rate at which cards are dropped 'Card' => 100, 'CardBoss' => 100, // The rate adjustment for the MVP items that the MVP gets directly in their inventory 'MvpItem' => 100 ), 'CharServer' => array( 'Address' => '17*.***.**.***'', 'Port' => 6121 ), 'MapServer' => array( 'Address' => '17*.***.**.***'', 'Port' => 5121 ), // -- WoE days and times -- // First parameter: Starding day 0=Sunday / 1=Monday / 2=Tuesday / 3=Wednesday / 4=Thursday / 5=Friday / 6=Saturday // Second parameter: Starting hour in 24-hr format. // Third paramter: Ending day (possible value is same as starting day). // Fourth (final) parameter: Ending hour in 24-hr format. // ** (Note, invalid times are ignored silently.) 'WoeDayTimes' => array( //array(0, '12:00', 0, '14:00'), // Example: Starts Sunday 12:00 PM and ends Sunday 2:00 PM //array(3, '14:00', 3, '15:00') // Example: Starts Wednesday 2:00 PM and ends Wednesday 3:00 PM ), // Modules and/or actions to disallow access to during WoE. 'WoeDisallow' => array( array('module' => 'character', 'action' => 'online'), // Disallow access to "Who's Online" page during WoE. array('module' => 'character', 'action' => 'mapstats') // Disallow access to "Map Statistics" page during WoE. ) ) ) ) ); ?> I really cannot understand this. I might make it worse if I try this.
  18. I tried to allow just the webhost IP and all IPs. Still won't work.
  19. My Webhost is different from my VPS with the database. I already tried using my Web IP in the 'ServerAddress', still does not work.
  20. Sorry. I accidentally pressed TAB then Enter. That's why it was posted incomplete.
  21. Hello. I need help installing the FluxCP. I am having the Error: PDOException. application.php 'ServerAddress' => 'myservername.com', servers.php 'DbConfig' and 'LogsDbConfig' 'Hostname' => '17*.***.**.***' (used VPS IP) 'Username' => 'root', 'Password' => '****, 'Database' => 'ragnarok', 'LoginServer' 'CharMapServers' 'Address' => ''17*.***.**.***' (used VPS IP)
  22. It always says Sunday but once you placed it, it's the correct time.
×
×
  • Create New...