-
Posts
94 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Everything posted by Dark Lunacy
-
Hi, I have some text in ascii code that might be in english in the achievements How can I edit this? Please help :c Thanks for all!!
-
[Showcase] Achievements, Titles, Random Options
Dark Lunacy replied to Luxuri's topic in Source Releases
What part of your exe have you edited? cant find it pls i need help ;_; -
@zackdreaver what about client resources? https://github.com/zackdreaver/RO-Clientresources Its not supported anymore? or its just merged with the actual client data?
-
look in npc releases forum, there are a recent release of this.
-
El código está en github, lo puedes descargar de ahí https://github.com/rathena/rathena Personalmente ocupo un exe del 2015 y no he tenido problemas hasta el momento.
-
Im excited to see any progress Congratulations for the project
-
Firstly you need to install screen in your linux vps (supposing you have it) using this command, (root via ssh or vnc using console): apt-get install screen So type this commands: cd rAthena //supposing you have installed rathena in a folder named ''rAthena'', change it as you have ./athena-start stop cd screen -S server cd rAthena ./athena-start start so you can tipe this for resume the screen: screen -R server More documentation about screen: https://github.com/rathena/rathena/wiki/Screen
-
Fíjate en los logs. En todo caso, por qué ubuntu 17? Deberías considerar migrar a 16.04, en lo posible 64 bits.
-
Thanks for all
-
Hola Tengo este NPC que modifique a partir del original de rAthena, para que de los equipos que dan a las terceras clases al momento de cambiarse de job El problema es que no me funciona, no sé que estoy haciendo mal, porfavor ayuda De antemano gracias!!
-
edit your group_id in the login table to 99
-
Thanks!! I have tried to change according to what I need, but it does not work for me. Please help, what am I doing wrong? //===== 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,178,212,6 script Job Master 123,{ 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; Get_JobWeapon: if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Rune_Knight2 || Class == Job_Rune_Knight_T2 || Class == Job_Baby_Rune || Class == Job_Baby_Rune2) {getitem 2795,1; getitem 5746,1; getitem 2794,1; return;} if (Class == Job_Warlock || Class == Job_Warlock_T || Class == Job_Baby_Warlock) {getitem 2795,1; getitem 5753,1; return;} if (Class == Job_Ranger || Class == Job_Ranger_T || Class == Job_Ranger2 || Class == Job_Ranger_T2 || Class == Job_Baby_Ranger || Class == Job_Baby_Ranger2) {getitem 2795,1; getitem 5748,1; getitem 6124,1; return;} if (Class == Job_Arch_Bishop || Class == Job_Arch_Bishop_T || Class == Job_Baby_Bishop) {getitem 2795,1; getitem 5747,1; return;} if (Class == Job_Mechanic || Class == Job_Mechanic_T || Class == Job_Mechanic2 || Class == Job_Mechanic_T2 || Class == Job_Baby_Mechanic || Class == Job_Baby_Mechanic2) {getitem 2795,1; getitem 5749,1; return;} if (Class == Job_Guillotine_Cross || Class == Job_Guillotine_Cross_T || Class == Job_Baby_Cross) {getitem 2795,1; getitem 12106,1; getitem 5755,1; return;} if (Class == Job_Royal_Guard || Class == Job_Royal_Guard_T || Class == Job_Royal_Guard2 || Class == Job_Royal_Guard_T2 || Class == Job_Baby_Guard || Class == Job_Baby_Guard2) {getitem 2795,1; getitem 5757,1; return;} if (Class == Job_Sorcerer || Class == Job_Sorcerer_T || Class == Job_Baby_Sorcerer) {getitem 2795,1; getitem 5756,1; return;} if (Class == Job_Wanderer || Class == Job_Wanderer_T || Class == Job_Baby_Wanderer) {getitem 2795,1; getitem 5758,1; return;} if (Class == Job_Sura || Class == Job_Sura_T || Class == Job_Baby_Sura) {getitem 2795,1; 5754,1; return;} if (Class == Job_Genetic || Class == Job_Genetic_T || Class == Job_Baby_Genetic) {getitem 2795,1; getitem 5752,1; return;} if (Class == Job_Shadow_Chaser || Class == Job_Shadow_Chaser_T || Class == Job_Baby_Chaser) {getitem 2795,1; getitem 5750,1; getitem 6121,1; getitem 6122,1; return;} if (Class == Job_Rebellion) {getitem 13119,1; return;} 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 = 1; // Enable third classes? (1: yes / 0: no) .SecondExpanded = 1; // 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) .JobWeapon = 1; // Get weapon for each job? (1: yes / 0: no) end; }
-
Hello I wonder if anyone has a job changer that also provides 3rd class items. Find this one but I think it is very old. Can players in my server receive the items if they have not already received it? Thanks in advance Regards
-
I cant stop the snow in Prontera City. Im using zackdreaver data and 2015-05-13 client for renewal. I added by myself the etcinfo.txt to my data.grf but has no effects, 'cause the data im using doesnt have this file. I added it with the following configuration: weather# //prontera.rsw# //snow# //weather# //pay_arche.rsw# //sakura# weather# comodo.rsw# pokjuk# //file end I used @mapinfo in Prontera but there is no mapflags to change the weather. Of course I also used @snow, but has no effects. Please help Regards.
-
Since I changed to Ubuntu 64bits and deleted everything I cant determine the Hash Version. But i got the error this day after the update: 12-05-2017.
-
What version of nemo patcher are you using? Try to using a recent and run it with admin privileges.
-
I dont know how to do it, sorry im new using github. How can i create a hash?
-
Yes, its here, i reported this issue a weekend ago, but has no response yet https://github.com/rathena/rathena/issues/2142
-
Yes, i know that, im using g++...thats not the problem More information: This issue is a 32 bit system related. I tested on a 64 bit and 32 system (Ubuntu 16.04), but only on 32 bit the error appears.
-
Try to use a recent version of Visual Studio. Here is an up to date guide Regards
-
After I have updated the emulator and the database, I proceed to compile and get the following errors, after using the make server command: script.c: In function ‘script_getitem_randomoption’: script.c:6730:22: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] it->option[i].id = (short)__64BPRTSIZE(get_val2(st,reference_uid(opt_id_id,opt_id_idx+i),opt_id_ref)); ^ script.c:6732:25: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] it->option[i].value = (short)__64BPRTSIZE(get_val2(st,reference_uid(opt_val_id,opt_val_idx+i),opt_val_ref)); ^ script.c:6734:25: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] it->option[i].param = (char)__64BPRTSIZE(get_val2(st,reference_uid(opt_param_id,opt_param_idx+i),opt_param_ref)); I compiled using the following command line: ./configure --enable-packetver=20150513 --disable-64bit make clean make server I installed g ++, solved conflicts after update... Ubuntu 16.04 lts 32 bits Renewal Please help :c Regards!
-
Utilizando un cliente bastante reciente, diría que 2017+