Jump to content

Angeluz

Members
  • Posts

    109
  • Joined

  • Last visited

  • Days Won

    1

Angeluz last won the day on January 25 2023

Angeluz had the most liked content!

Profile Information

  • Gender
    Not Telling

Recent Profile Visitors

2406 profile views

Angeluz's Achievements

Metaling

Metaling (6/15)

  • Dedicated
  • First Post
  • Collaborator
  • Reacting Well
  • Conversation Starter

Recent Badges

19

Reputation

6

Community Answers

  1. if( amount < 0 || amount > 0 ) { // invalid values, no appropriate packet for it => abort trade_tradecancel(sd); return; }
  2. 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.
  3. Y este no te sirve? https://github.com/rathena/rathena/blob/master/npc/custom/itemmall.txt
  4. 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);
  5. 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
  6. 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
  7. if(countitem(40024) < 1 || countitem(40031) < 1 || countitem(40027) < 1){
  8. try with this https://github.com/rathena/rathena/blob/26335994588c4b45846c05d0e53780ead78e475c/conf/battle/feature.conf#L166
  9. 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; }
  10. try with this gefenia01.gat gefenia01.gnd gefenia01.rsw
  11. sc_start .rotdicon[.today_rotd], (.timer - (.@time_passed * 1000)); maybe something like that
×
×
  • Create New...