Jump to content

Mael

Forum Moderator
  • Posts

    832
  • Joined

  • Last visited

  • Days Won

    20

Everything posted by Mael

  1. Podrías compartir una captura de lo que te ocurre o un pequeño clip? no logro imaginar lo que me explicas.
  2. add this in your data folder. https://drive.google.com/file/d/1QKmhT9jrJfA_p5zLxSaXXdW_F1alO7Ry/view
  3. I'm not sure if there is one for those jobs available for download in the forum, but the most suitable person for palettes is @KamiShi maybe she can update her 34 palettes of 2018 and add those jobs.
  4. I think that question can only be answered at the moment by @Easycore or @Vykimo
  5. No, does not contain those commands.
  6. Pues solo debes de fijarte en lo que descargarás y se explicará por si solo.
  7. Para pre-re los clientes que suelo recomendar son: 2012-04-10a y 2015-11-04a. No te recomiendo modificar nada relacionado a PACKETVER. Para tu carpeta data y system, podrías utilizar este proyecto: https://rathena.org/board/topic/102689-ragnarok-english-translation-project/ Descarga primero los archivos de la carpeta Renewal y luego pégale encima los archivos de PRE-RE por último si quieres asegurarte de no tener problemas con algunos items que le estén faltando a tu data, puedes pegar tu carpeta data sobre esto. Al usar "NEMO" debes escoger iteminfo.lua. Solo para complementar la información de mi post: Para colocar tu server en modo PRE-RE, debes modificar esto, borrando los // de lo que estoy marcando.
  8. Podrías utilizar algo así https://rathena.org/board/topic/82453-healer-buffer/ Y entregar los tickets con tiempo de uso.
  9. Some examples: https://rathena.org/board/topic/101302-about-area-healing/ https://rathena.org/board/topic/119457-making-heal-aoe-and-add-an-effect/
  10. https://github.com/rathena/rathena/wiki/connecting https://rathena.org/board/topic/104297-i-need-help-to-make-server-on-my-vps/#comment-295517
  11. Si tienes problemas de configuración, revisa este vídeo. Seguro encontrarás tu error.
  12. Could you start with this. https://rathena.org/board/topic/110437-release-all-monster-drop-item-with-random-option/
  13. You just have to be aware of the updates of Skills or Jobs that interest you and keep updating on your own. https://github.com/rathena/rathena/pulls ... to complement information. You will also need to update from the client side, I recommend you see the continuation of this project.
  14. I think he refers to this. ¿? ?
  15. U can use something like this for storage. - script #storage -1,{ OnAtcommand: for ( .@i = 0; .@i < getarraysize(.map$); .@i++ ) { if (strcharinfo(3) == .map$[.@i] && getgmlevel() < 10 ) { dispbottom "@storage failed. You cannot use this command on this map.",0xff0000; end; } } atcommand "@storage"; end; OnInit: setarray .map$, "pay_dun00", "pay_dun00", "pay_dun00"; bindatcmd "storage",strnpcinfo(3) + "::OnAtcommand"; end; }
  16. En mi opinión, esta es la mejor guía. Si deseas recrear una experiencia old times, puedes configurar rAthena o utilizar eAmod.
  17. https://github.com/rathena/rathena/issues/4553#issuecomment-577246558
  18. I recommend using a bg pvp script, this script I think replaces @duel.
  19. // Map set .duel_map$,"map"; // Coordinates set .duel_xy$, "x,y,"+ // x,y first player "x,y"; // x,y second player map mapflag pvp map mapflag pvp_nocalcrank map mapflag noreturn map mapflag nowarp map mapflag nocommand 99 map mapflag nowarpto map mapflag nosave SavePoint map malflag nomemo map mapflag notrade map mapflag nodrop map mapflag nobranch map mapflag nochat map mapflag novending You need to define this.
  20. Just use the right heads and the right palettes. https://rathena.org/board/files/file/2447-corrected-classes-head-sprites/ https://rathena.org/board/files/file/2701-553251-old-dyes-palettes-working-all-classes/
  21. OnPCLoadMapEvent: if( strcharinfo(3) == "mapname" && !getskilllv( <skillid> ) ) skill <skillid>,<level>,<param>; end; - script Sample -1,{ OnInit: set .map$,"guild_vs2"; setmapflag .map$,mf_loadevent; end; OnPCLoadMapEvent: if( strcharinfo(3) == .map$ ) while( .@i < 553 ){ if( .@i != SC_WEIGHT50 && .@i != SC_WEIGHT90 && .@i != SC_JAILED && .@i != SC_NOCHAT ) sc_end .@i; set .@i,.@i + 1; } end; } or disable any ability by killing the player before entering the map. ex: prontera,150,160,5 script jinuho 56,{ mes "enter in pvp ?"; next; if ( select( "Yes", "No" ) == 1 ) { percentheal -100,-100; // kill the player => remove status warp "prontera",0,0; // warp to your pvp map percentheal 100,100; // heal } end; } https://rathena.org/board/topic/83398-dispell/
  22. https://github.com/rathena/rathena/blob/master/db/re/skill_nocast_db.txt
  23. Mael

    gstorage

    Debes subir el skill de Gstorage, usa alt+g y revisa.
  24. Mael

    gstorage

    Si estás utilizando PRE-RE, te recomiendo ir a db/pre-re/guild_skill_tree.yml y al final del texto borrar las # de: - Id: GD_GUILD_STORAGE MaxLevel: 5
  25. pvp_n_4-5 mapflag restricted 7 pvp_n_4-5 mapflag gvg_castle prontera,150,150,0 script Emp Breaker Test 751,{ if (getgmlevel() < 1) { warp getsavepoint(0), getsavepoint(1), getsavepoint(2); end; } set @time, $empbrk_record; set @m, @time / 60000; set @time, @time - (@m * 60000); set @s, @time /1000; set @time, @time - (@s * 1000); mes "[Emperium Breaker Test]"; mes "Recorde Oficial por ^5050A0"+$empbrk_record$+"^000000"; mes " ^000080"+@m+"^000000m ^000080"+@s+"^000000s ^000080"+@time+"^000000ms"; set @time, empbrk_record; set @m, @time / 60000; set @time, @time - (@m * 60000); set @s, @time /1000; set @time, @time - (@s * 1000); mes "Recorde Pessoal:"; mes " ^000080"+@m+"^000000m ^000080"+@s+"^000000s ^000080"+@time+"^000000ms"; mes "Gostaria de tentar outro recorde?"; next; if (getgmlevel()==99) { menu "Standard Menu",-,"Reset",L_reset,"Reset Rooms",L_emptyrooms,"Exit",L_exit;} menu "Sim",-,"Não",L_exit,"Resetar Recorde",L_resc; cleararray .arena$[0],"",4; mes "[Emperium Breaker Test]"; if (getareausers("pvp_n_4-5",94,128,105,139)) mes "Emp n° ^0000DF1 ^FF0000 Ocupado^000000"; else{ mes "Emp n° ^0000DF1 ^00A000 Livre^000000"; set .arena$[0],"^0000DFEmperium^000000";} if (getareausers("pvp_n_4-5",60,94,71,105)) mes "Emp n° ^B05D002 ^FF0000 Ocupado^000000"; else{ mes "Emp n° ^B05D002 ^00A000 Livre^000000"; set .arena$[1],"^B05D00Emperium^000000";} if (getareausers("pvp_n_4-5",94,60,105,71)) mes "Emp n° ^B00FB03 ^FF0000 Ocupado^000000"; else{ mes "Emp n° ^90AF003 ^00A000 Livre^000000"; set .arena$[2],"^90AF00Emperium^000000";} if (getareausers("pvp_n_4-5",128,94,139,105)) mes "Emp n° ^50AF004 ^FF0000 Ocupado^000000"; else{ mes "Emp n° ^500F004 ^00A000 Livre^000000"; set .arena$[3],"^500F00Emperium^000000";} next; getmapxy(@mpempbrk$,@empbrkx,@empbrky,0,strcharinfo(0)); switch (select(.arena$[0],.arena$[1],.arena$[2],.arena$[3],"Cancelar")){ case 1: if (getareausers("pvp_n_4-5",60,94,71,105) == 0){ if($@someonegotin1 > 0){ mes "A sala está Ocupada."; close;} set $@someonegotin1, 1; warp "pvp_n_4-5",99,128; killmonster "pvp_n_4-5","EmpBrk#1::OnThisMobDeath"; initnpctimer "EmpBrk#1";} break; case 2: if (getareausers("pvp_n_4-5",60,94,71,105) == 0){ if($@someonegotin2 > 0){ mes "A sala está Ocupada."; close;} set $@someonegotin2, 1; warp "pvp_n_4-5",68,99; killmonster "pvp_n_4-5","EmpBrk#2::OnThisMobDeath"; initnpctimer "EmpBrk#2";} break; case 3: if (getareausers("pvp_n_4-5",94,60,105,71) == 0){ if($@someonegotin3 > 0){ mes "A sala está Ocupada."; close;} set $@someonegotin3, 1; warp "pvp_n_4-5",100,68; killmonster "pvp_n_4-5","EmpBrk#3::OnThisMobDeath"; initnpctimer "EmpBrk#3";} break; case 4: if (getareausers("pvp_n_4-5",128,94,139,105) == 0){ if($@someonegotin4 > 0){ mes "A sala está Ocupada."; close;} set $@someonegotin4, 1; warp "pvp_n_4-5",130,99; killmonster "pvp_n_4-5","EmpBrk#4::OnThisMobDeath"; initnpctimer "EmpBrk#4";} break; default: close; } sc_end SC_ALL; close; L_reset: mes "[Emperium Breaker Test]"; mes "Are you sure to reset official record ?"; menu "Yes",-,"No",L_exit; set $empbrk_record, 0; set $empbrk_record$, ""; close; L_resc: mes "[Emperium Breaker Test]"; mes "Tem certeza que quer resetar seu recorde?"; menu "Sim",-,"Não",L_exit; set empbrk_record, 0; L_emptyrooms: set $@someonegotin1, 0; set $@someonegotin2, 0; set $@someonegotin3, 0; set $@someonegotin4, 0; close; L_exit: close; } - script EmpBrk#1 -1,{ OnTimer3000: if (.end == 1) { warpchar "sec_in01",172,168,.charid; stopnpctimer; set .end, 0; } end; OnTimer5000: set .x1,94; set .y1,128; set .x2,105; set .y2,139; set .xe,100; set .ye,134; areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Se prepare para quebrar o Emperium!",0; set $@someonegotin1, 0; end; OnTimer7000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"5",0; end; OnTimer8000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"4",0; end; OnTimer9000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"3",0; end; OnTimer10000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"2",0; end; OnTimer11000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"1",0; end; OnTimer12000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"JÁ!!!",0; monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#1::OnThisMobDeath"; end; OnTimer1200000: warpchar "prontera",150,172,.charid; stopnpctimer; set .end, 1; end; OnThisMobDeath: stopnpctimer "EmpBrk#1"; set .time, getnpctimer(0,"EmpBrk#1"); set .time, .time - 12000; if (.time < empbrk_record || empbrk_record == 0) { areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Novo Recorde Pessoal!!!",0; set empbrk_record, .time; } if (.time < $empbrk_record || $empbrk_record == 0) { areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Novo Recorde Oficial!!!",0; //announce strcharinfo(0)+" is now the NO. 1 Emperium Breaker!!",0; set $empbrk_record, .time; set $empbrk_record$,strcharinfo(0); } set .m, .time / 60000; set .time, .time - (.m * 60000); set .s, .time /1000; set .time, .time - (.s * 1000); areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Seu tempo foi de "+.m+"m "+.s+"s "+.time+"ms",0; set .end,1; set .charid,getcharid(0); initnpctimer; end; } pvp_n_4-5,99,125,0 script EmpBrk#1_touch -1,2,1,{ OnTouch: killmonster "pvp_n_4-5","EmpBrk#1::OnThisMobDeath"; mes "[Emperium Breaker Test]"; mes "Você não pode sair desta área."; close2; set $@someonegotin1, 0; warp @mpempbrk$,@empbrkx,@empbrky; close; } - script EmpBrk#2 -1,{ OnTimer3000: if (.end == 1) { warpchar "prontera",150,172,.charid; stopnpctimer; set .end, 0; } end; OnTimer5000: set .x1,60; set .y1,94; set .x2,71; set .y2,105; set .xe,65; set .ye,99; areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Se prepare para quebrar o Emperium!",0; set $@someonegotin2, 0; end; OnTimer7000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"5",0; end; OnTimer8000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"4",0; end; OnTimer9000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"3",0; end; OnTimer10000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"2",0; end; OnTimer11000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"1",0; end; OnTimer12000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"JÁ!!!",0; monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#2::OnThisMobDeath"; end; OnTimer1200000: warpchar "prontera",150,172,.charid; stopnpctimer; set .end, 1; end; OnThisMobDeath: stopnpctimer "EmpBrk#2"; set .time, getnpctimer(0,"EmpBrk#2"); set .time, .time - 12000; if (.time < empbrk_record || empbrk_record == 0) { areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Novo Recorde Pessoal!!!",0; set empbrk_record, .time; } if (.time < $empbrk_record || $empbrk_record == 0) { areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Novo Recorde Oficial!!!",0; //announce strcharinfo(0)+" is now the NO. 1 Emperium Breaker!!",0; set $empbrk_record, .time; set $empbrk_record$,strcharinfo(0); } set .m, .time / 60000; set .time, .time - (.m * 60000); set .s, .time /1000; set .time, .time - (.s * 1000); areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Seu tempo foi de "+.m+"m "+.s+"s "+.time+"ms",0; set .end,1; set .charid,getcharid(0); initnpctimer; end; } pvp_n_4-5,74,99,0 script EmpBrk#2_touch -1,1,2,{ OnTouch: killmonster "pvp_n_4-5","EmpBrk#2::OnThisMobDeath"; mes "[Emperium Breaker Test]"; mes "Você não pode deixar esta área."; close2; set $@someonegotin2, 0; warp @mpempbrk$,@empbrkx,@empbrky; close; } - script EmpBrk#3 -1,{ OnTimer3000: if (.end == 1) { warpchar "prontera",150,172,.charid; stopnpctimer; set .end, 0; } end; OnTimer5000: set .x1,94; set .y1,60; set .x2,105; set .y2,71; set .xe,99; set .ye,65; areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Se prepare para quebrar o Emperium!",0; set $@someonegotin3, 0; end; OnTimer7000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"5",0; end; OnTimer8000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"4",0; end; OnTimer9000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"3",0; end; OnTimer10000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"2",0; end; OnTimer11000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"1",0; end; OnTimer12000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"JÁ!!!",0; monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#3::OnThisMobDeath"; end; OnTimer1200000: warpchar "prontera",150,172,.charid; stopnpctimer; set .end, 1; end; OnThisMobDeath: stopnpctimer "EmpBrk#3"; set .time, getnpctimer(0,"EmpBrk#3"); set .time, .time - 12000; if (.time < empbrk_record || empbrk_record == 0) { areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Novo Recorde Pessoal!!!",0; set empbrk_record, .time; } if (.time < $empbrk_record || $empbrk_record == 0) { areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Novo Recorde Oficial!!!",0; //announce strcharinfo(0)+" is now the NO. 1 Emperium Breaker!!",0; set $empbrk_record, .time; set $empbrk_record$,strcharinfo(0); } set .m, .time / 60000; set .time, .time - (.m * 60000); set .s, .time /1000; set .time, .time - (.s * 1000); areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Seu tempo foi de "+.m+"m "+.s+"s "+.time+"ms",0; set .end,1; set .charid,getcharid(0); initnpctimer; end; } pvp_n_4-5,100,74,0 script EmpBrk#3_touch -1,2,1,{ OnTouch: killmonster "pvp_n_4-5","EmpBrk#3::OnThisMobDeath"; mes "[Emperium Breaker Test]"; mes "Você não pode deixar esta área."; close2; set $@someonegotin3, 0; warp @mpempbrk$,@empbrkx,@empbrky; close; } - script EmpBrk#4 -1,{ OnTimer3000: if (.end == 1) { warpchar "prontera",150,172,.charid; stopnpctimer; set .end, 0; } end; OnTimer5000: set .x1,128; set .y1,94; set .x2,139; set .y2,105; set .xe,134; set .ye,99; areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Se prepare para quebrar o Emperium!",0; set $@someonegotin4, 0; end; OnTimer7000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"5",0; end; OnTimer8000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"4",0; end; OnTimer9000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"3",0; end; OnTimer10000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"2",0; end; OnTimer11000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"1",0; end; OnTimer12000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"JÁ!!!",0; monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#4::OnThisMobDeath"; end; OnTimer1200000: warpchar "prontera",150,172,.charid; stopnpctimer; set .end, 1; end; OnThisMobDeath: stopnpctimer "EmpBrk#4"; set .time, getnpctimer(0,"EmpBrk#4"); set .time, .time - 12000; if (.time < empbrk_record || empbrk_record == 0) { areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Novo Recorde Pessoal!!!",0; set empbrk_record, .time; } if (.time < $empbrk_record || $empbrk_record == 0) { areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Novo Recorde Oficial!!!",0; //announce strcharinfo(0)+" is now the NO. 1 Emperium Breaker!!",0; set $empbrk_record, .time; set $empbrk_record$,strcharinfo(0); } set .m, .time / 60000; set .time, .time - (.m * 60000); set .s, .time /1000; set .time, .time - (.s * 1000); areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Seu tempo foi de "+.m+"m "+.s+"s "+.time+"ms",0; set .end,1; set .charid,getcharid(0); initnpctimer; end; } pvp_n_4-5,125,100,0 script EmpBrk#4_touch -1,1,2,{ OnTouch: killmonster "pvp_n_4-5","EmpBrk#4::OnThisMobDeath"; mes "[Emperium Breaker Test]"; mes "Você não pode deixar esta área."; close2; set $@someonegotin4, 0; warp @mpempbrk$,@empbrkx,@empbrky; close; }
×
×
  • Create New...