-
Posts
109 -
Joined
-
Last visited
-
Days Won
1
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Everything posted by Angeluz
-
if( amount < 0 || amount > 0 ) { // invalid values, no appropriate packet for it => abort trade_tradecancel(sd); return; }
-
add this to src/custom/atcommand.inc ACMD_FUNC(gcash) { map_session_data* tsd = nullptr; int amount = 0, ret = 0; char output[CHAT_SIZE_MAX]; nullpo_retr(-1,sd); memset(atcmd_output, '\0', sizeof(atcmd_output)); if( sd->state.cashshop_open ){ clif_displaymessage(fd, msg_txt(sd, 1376)); // Please close the cashshop before using this command. return -1; } if (!message || !*message || sscanf(message, "%11d %23[^\n]", &amount, atcmd_player_name) < 2) { clif_displaymessage(fd, "Invalid value (@gcash <amount> <character name>"); return -1; } if ((tsd = map_nick2sd(atcmd_player_name,false)) == NULL) { clif_displaymessage(fd, msg_txt(sd,3)); // Character not found. return -1; } if (sd->cashPoints < amount || amount < 0) { clif_displaymessage(fd, "Not enough Cash Points."); return -1; } if( (ret=pc_paycash(sd, amount, 0, LOG_TYPE_COMMAND)) >= 0) { sprintf(output, msg_txt(sd,410), ret, sd->cashPoints); // Removed %d cash points. Total %d points. clif_messagecolor(&sd->bl, color_table[COLOR_LIGHT_GREEN], output, false, SELF); } if( (ret=pc_getcash(tsd, amount, 0, LOG_TYPE_COMMAND)) >= 0) { sprintf(output, msg_txt(sd,505), ret, tsd->cashPoints); // Gained %d cash points. Total %d points. clif_messagecolor(&tsd->bl, color_table[COLOR_LIGHT_GREEN], output, false, SELF); } sprintf(output, "%d players has received '%s'",atcmd_player_name,amount); atcommand_broadcast( fd, sd, "@broadcast", output); return 0; } this to src/custom/atcommand_def.inc ACMD_DEF(gcash), this to conf/msg_conf/map_msg.conf 410: Removed %d cash points. Total %d points. 505: Gained %d cash points. Total %d points.
-
Alguien sabe donde puedo obtener un mapa con todos los npc y items?
Angeluz replied to Sanz's question in General Support
Y este no te sirve? https://github.com/rathena/rathena/blob/master/npc/custom/itemmall.txt -
-
how to activate mf_nosave in mvp map when MVP is alive?
Angeluz replied to Heartfelt's question in Source Support
maybe try with this diff --git a/src/map/map.hpp b/src/map/map.hpp index 98bdc69ec0..b6c8d291fe 100644 --- a/src/map/map.hpp +++ b/src/map/map.hpp @@ -581,6 +581,7 @@ enum e_mapflag : int16 { MF_NOPENALTY, MF_NOZENYPENALTY, MF_PVP, + MF_MAPMVP, MF_PVP_NOPARTY, MF_PVP_NOGUILD, MF_GVG, diff --git a/src/map/mob.cpp b/src/map/mob.cpp index 16edfb7a6b..69696f2efc 100644 --- a/src/map/mob.cpp +++ b/src/map/mob.cpp @@ -1035,6 +1035,14 @@ TIMER_FUNC(mob_delayspawn){ md->spawn_timer = INVALID_TIMER; mob_spawn(md); } + /* [cook1e] + Spawn MVP and enable MF_PVP and MF_MAPMVP + MF_MAPMVP - Disable going to savepoint once you die 2 times in a PVP map. + */ + if(md->state.boss) { + map_setmapflag(bl->m, MF_PVP, true); + map_setmapflag(bl->m, MF_MAPMVP, true); + map_setmapflag(bl->m, MF_NOSAVE, true); + } return 0; } @@ -1115,6 +1123,15 @@ int mob_spawn (struct mob_data *md) md->bl.m = md->spawn->m; md->bl.x = md->spawn->x; md->bl.y = md->spawn->y; + + /* [cook1e] + Spawn MVP and enable MF_PVP and MF_MAPMVP + MF_MAPMVP - Disable going to savepoint once you die 2 times in a PVP map. + */ + if(md->spawn->state.boss) { + map_setmapflag(md->bl.m, MF_PVP, true); + map_setmapflag(md->bl.m, MF_MAPMVP, true); + map_setmapflag(md->bl.m, MF_NOSAVE, true); + } if( (md->bl.x == 0 && md->bl.y == 0) || md->spawn->xs || md->spawn->ys ) { //Monster can be spawned on an area. @@ -3126,6 +3143,15 @@ int mob_dead(struct mob_data *md, struct block_list *src, int type) // MvP tomb [GreenBox] if (battle_config.mvp_tomb_enabled && md->spawn->state.boss && map_getmapflag(md->bl.m, MF_NOTOMB) != 1) mvptomb_create(md, mvp_sd ? mvp_sd->status.name : NULL, time(NULL)); + + /* [cook1e] + Dead MVP disable MF_PVP and MF_MAPMVP + MF_MAPMVP - Disable going to savepoint once you die 2 times in a PVP map. + */ + if(md->spawn->state.boss) { + map_setmapflag(md->bl.m, MF_PVP, false); + map_setmapflag(md->bl.m, MF_MAPMVP, false); + map_setmapflag(md->bl.m, MF_NOSAVE, false); + } if( !rebirth ) mob_setdelayspawn(md); //Set respawning. diff --git a/src/map/pc.cpp b/src/map/pc.cpp index 468f3d58b5..44948f8959 100755 --- a/src/map/pc.cpp +++ b/src/map/pc.cpp @@ -9412,7 +9412,7 @@ int pc_dead(struct map_session_data *sd,struct block_list *src) ssd->pvp_point++; ssd->pvp_won++; } - if( sd->pvp_point < 0 ) { + if( sd->pvp_point < 0 && !mapdata->flag[MF_MAPMVP] ) { sd->respawn_tid = add_timer(tick+1000, pc_respawn_timer,sd->bl.id,0); return 1|8; } diff --git a/src/map/script_constants.hpp b/src/map/script_constants.hpp index 13e5ad06f5..24d4b6fcef 100644 --- a/src/map/script_constants.hpp +++ b/src/map/script_constants.hpp @@ -464,6 +464,7 @@ export_constant(MF_NOPENALTY); export_constant(MF_NOZENYPENALTY); export_constant(MF_PVP); + export_constant(MF_MAPMVP); export_constant(MF_PVP_NOPARTY); export_constant(MF_PVP_NOGUILD); export_constant(MF_GVG); -
try with this
-
Para cambiar eso debes hacerlo en status.cpp https://github.com/rathena/rathena/blob/master/src/map/status.cpp#L6739 ahi para la dex por ejemplo debes buscar donde se calcula la luk y el crit y luego modificas donde corresponde
-
Usa esta carpeta si es pre-re https://github.com/llchrisll/ROenglishRE/tree/master/Translation/Pre-Renewal/data ahi están los mapas que corresponden y luego debes colocar esos mapas al mapcache para poder moverte bien
-
if(countitem(40024) < 1 || countitem(40031) < 1 || countitem(40027) < 1){
-
try with this https://github.com/rathena/rathena/blob/26335994588c4b45846c05d0e53780ead78e475c/conf/battle/feature.conf#L166
-
best way to count player in map PvP then get reward ?
Angeluz replied to MyNoobScriptz's question in Script Requests
u can try with - script rewards -1,{ end; OnPCKillEvent: getmapxy(@map$, @x, @y, BL_PC); if( @map$ != "pvp_y_1-2" ) end; if ( getmapusers("pvp_y_1-2" ) ) > 20 ) getitem 606,2; else if ( getmapusers("pvp_y_1-2") > 15 ) getitem 606,1; end; } -
How to remove bard songs remove renewal visual effect
Angeluz replied to jmsngls's question in Client-side Support
-
try with this gefenia01.gat gefenia01.gnd gefenia01.rsw
-
ROTD - Race of The Day - Not enough arguments, expected -
Angeluz replied to fckng's question in Scripting Support
sc_start .rotdicon[.today_rotd], (.timer - (.@time_passed * 1000)); maybe something like that -
https://rathena.org/board/search/?q=vip icon&quick=1
-
Intenta agregando estos archivos a tu grf spr (1).grf
-
- script Vip_Icon -,{ OnPCLoginEvent: if(vip_status(1)) { set .@a, vip_status(2) - gettimetick(2); bonus_script "{}",.@a,8,0,EFST_VIPSTATE; dispbottom "--- VIP ----"; dispbottom "=========================="; dispbottom "VIP Player"; dispbottom "Remaining VIP duration :"+callfunc("Time2Str",vip_status(2)); dispbottom "=========================="; end; } } try with this
-
can u share item_db?
-
this? https://github.com/rathena/rathena/pull/7410
-
Para los items y mobs, agregaste las db? (están el repositorio de rathena: https://github.com/rathena/rathena/tree/master/sql-files) Lo de esas funciones creo que aparecieron hace poco no las he visto, deja revisar y te aviso Edit: Agregué las funciones y me funcionan correctamente, no modifiqué nada. No sé cual pueda ser tu error. Funcionan tanto en cuentas de GM como de usuario normal
-
pero que es lo que no te funciona?
-
yo lo que hago cuando me pasa eso, es reinstalarlas manualmente, dentro de la carpeta del fluxcp hay una de schemas https://github.com/rathena/FluxCP/tree/master/data/schemas ahi revisa cuales te faltan y aplicas los sql
-
Si tienes el último hash del emulador no deberías desactivar el emblemwebservice, pero está aquí: https://github.com/rathena/FluxCP/blob/master/config/application.php#L24 Y sobre los MvP hay que cargarlos en el sql, los mob_db y los item_db, y sí, los que tienen _re es porque son renewall, depende de tu emulador
-
bump ?