Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 07/18/14 in all areas

  1. I tend to not like non-Ragnarok themed things in Ragnarok but this seems to be quite the undertaking and has a lot of potential to be different. It looks like balancing will be an absolute nightmare, but I wish you the best of luck all the same. Thanks, ~Azura Skyy
    1 point
  2. like this? 607,Yggdrasilberry,Yggdrasil Berry,0,5000,,300,,,,,0xFFFFFFFF,63,2,,,,,,{ if (countitem(607) <= 250) { percentheal 100,100; } },{},{}
    1 point
  3. Try updating your kRO because 28 is an official hairstyle. Also, in-order to have custom hairstyles you need to have custom hairstyle sprites, if you didn't know already xD
    1 point
  4. - script hourlypoints -1,{ OnPCLoginEvent: attachnpctimer(); startnpctimer(); end; OnTimer3600000: if( checkidle() < 900 && !@autotrade ) { .@mes$ = ""; set #KAFRAPOINTS, #KAFRAPOINTS + .point_amt; dispbottom "You received "+.point_amt+" Kafrapoints by staying in-game for 1 hour"; dispbottom "Current Balance = "+#KAFRAPOINTS+" Kafrapoints"; set @consecutive_hour, @consecutive_hour + 1; //Check for 3 hours consecutive if(@consecutive_hour == 3) { set @consecutive_hour,0; set #KAFRAPOINTS, #KAFRAPOINTS + .cpoint_amt; dispbottom "You receive "+.cpoint_amt+" Kafrapoints for 3 consecutive hours of play."; dispbottom "Current Balance = "+#KAFRAPOINTS+" Kafrapoints"; } } else if( !getstrlen(.@mes$) ) { .@mes$ = "While afk for 15 minutes or more you will not receive hourly points."; dispbottom .@mes$; } attachnpctimer(); initnpctimer(); end; OnCommand: @autotrade = 1; atcommand "@autotrade"; end; OnInit: bindatcmd "autotrade","hourlypoints::OnCommand"; set .cpoint_amt, 50; //Points gained for consecutive time online. set .point_amt, 10; //Normal points gained. }
    1 point
  5. I've been researching how to put pvp in just one area of map, such as the center of Prontera found a change in eAthena allowing leaves an area in PK mode which is very functional, but I wish it was pvp instead of PK. wanted someone to help me leave it so pvp. Modifications of SRC //battle.c //find this int battle_check_target( struct block_list *src, struct block_list *target,int flag) //add this before it bool cell_pk_check(struct block_list *t_bl, struct block_list *s_bl, int m) { if(t_bl->type == BL_PC && map[m].cell[s_bl->x+s_bl->y*map[m].xs].pk == true && map[m].cell[t_bl->x+t_bl->y*map[m].xs].pk == true) { if(status_get_party_id(t_bl)==status_get_party_id(s_bl)) if(map[m].flag.pvp_noparty) return true; else return false; if(status_get_guild_id(t_bl)==status_get_guild_id(s_bl)) if(map[m].flag.pvp_noguild && map[m].flag.gvg) return true; else return false; return true; } return false; } //+++++++++++++++++++++++++++++++++// //find this else if(( sd->duel_group && !((!battle_config.duel_allow_pvp && map[m].flag.p //use this to replace else if(( sd->duel_group && !((!battle_config.duel_allow_pvp && map[m].flag.pvp) || (!battle_config.duel_allow_gvg&& map_flag_gvg(m))))||( cell_pk_check(t_bl, s_bl, m) == true )) //+++++++++++++++++++++++++++++++++// //map.c void map_setcell(int m, int x, int y, cell_t cell, bool flag) { int j; if( m < 0 || m >= map_num || x < 0 || x >= map[m].xs || y < 0 || y >= map[m].ys ) return; j = x + y*map[m].xs; switch( cell ) { case CELL_WALKABLE: map[m].cell[j].walkable = flag; break; case CELL_SHOOTABLE: map[m].cell[j].shootable = flag; break; case CELL_WATER: map[m].cell[j].water = flag; break; case CELL_NPC: map[m].cell[j].npc = flag; break; case CELL_BASILICA: map[m].cell[j].basilica = flag; break; case CELL_LANDPROTECTOR: map[m].cell[j].landprotector = flag; break; case CELL_NOVENDING: map[m].cell[j].novending = flag; break; case CELL_NOCHAT: map[m].cell[j].nochat = flag; break; case CELL_PK: map[m].cell[j].pk = flag; break;//<---add this default: ShowWarning("map_setcell: invalid cell type '%d'\n", (int)cell); break; } } //+++++++++++++++++++++++++++++++++// //map.h typedef enum { CELL_WALKABLE, CELL_SHOOTABLE, CELL_WATER, CELL_NPC, CELL_BASILICA, CELL_LANDPROTECTOR, CELL_NOVENDING, CELL_NOCHAT, CELL_PK,//<---add this } cell_t; //+++++++++++++++++++++++++++++++++// struct mapcell { // terrain flags unsigned char walkable : 1, shootable : 1, water : 1; // dynamic flags unsigned char npc : 1, basilica : 1, landprotector : 1, novending : 1, nochat : 1, pk : 1;//<---add this //+++++++++++++++++++++++++++++++++// //db\const.txt cell_walkable 0 cell_shootable 1 cell_water 2 cell_npc 3 cell_basilica 4 cell_landprotector 5 cell_novending 6 cell_nochat 7 cell_pk 8//<---add this //+++++++++++++++++++++++++++++++++// Example of how the script would - script SetPvPCells -1,{ end; OnInit: //setcell "prontera",<x1>,<y1>,<x2>,<y2>,<type>,<flag>; //A1 setcell "prontera",133,192,142,170,cell_pvp,1; setcell "prontera",126,185,134,178,cell_pvp,1; setcell "prontera",141,185,149,178,cell_pvp,1;
    1 point
×
×
  • Create New...