Jump to content

QQfoolsorellina

Members
  • Posts

    587
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by QQfoolsorellina

  1. Hi~Lilith, If you still accept suggestion,I suggest to add a mapcell : cell_nofactoin I need a safe area to avoid other faction mob or player's attack maybe I'm too greedy making 2 times suggestion ! i think it's better to use mapflag nofvf or mapflag fvf (the area/town/field/dungeon that make each factions become friends or enemies, LOL) other than use mapcell cell_nofaction mapflag already existed. it effect all map was different from mapcell if you want to set or remove mapflag just use the below two script commands *setmapflag "<map name>",<flag>{,<zone>}; *removemapflag "<map name>",<flag>{,<zone>}; rAthean already has script command to handle mapflag I don't think It need to add new one
  2. Hi~Lilith, If you still accept suggestion,I suggest to add a mapcell : cell_nofactoin I need a safe area to avoid other faction mob or player's attack maybe I'm too greedy making 2 times suggestion !
  3. skill_cast_db.txt can set skill delay
  4. I remember similar topic http://rathena.org/board/topic/61991-compiling-error-source/ answered by Lighta
  5. +1 yeah, if Implemented item stack limit system would be more convenient for setting 14635
  6. Can we have faction channel、 faction Alliance channel? faction channel : player with the same faction can use this channel. faction Alliance channel: player with the same faction Alliance can use this channel. btw ,nice system -------------------------------------------------------------------------------------------------------------------------------------------------------- edit : thx for updating
  7. Finally ,i find the solution by myself status.c find if( tsc->data[sC_INVINCIBLE] ) replace with if( tsc->data[sC_INVINCIBLE] && !tsc->data[sC_INVINCIBLEOFF] ) skill.c case NPC_INVINCIBLE: case NPC_INVINCIBLEOFF: replace with case NPC_INVINCIBLE: if(skillid== NPC_INVINCIBLE) status_change_end(bl, SC_INVINCIBLEOFF, INVALID_TIMER); case NPC_INVINCIBLEOFF:
  8. try this getmapxy .@m$, .@x, .@y, 0; if ( mobcount(.@m$, "zxcv::On"+ getcharid(0)) >= 1 ) killmonster .@m$, "clonecheck::On"+ getcharid(0); clone .@m$, .@x, .@y, "zxcv::On"+ getcharid(0), getcharid(0), getcharid(0) , 0x8D, 1;
  9. As renewal item description I think rathena need these item bonus bonus bFixedCastrate,x; Skill fixed casting time rate + n% bonus bWeaponMatk,x; Adds x Weapon Magical Attack to a weapon item. bonus bEquipmentMatk,x; Adds x Equipment Magical Attack to a non-weapon item. reference: http://sourceforge.net/apps/trac/rathena/changeset/14941
  10. To use OnPCLoadMapEvent + check limit condition would be better coz if player was a guild leader, he/she can use skill to recall all guild members(include 3rd job)
  11. yes, i set show_mob_info: 0 that show Hpbar on Mob Boss&Mvp. i want disble Hpbar on Mob Boss&Mvp. try to replace all if (battle_config.mob_display_hpmeter) with if (battle_config.mob_display_hpmeter && !is_boss(&md->bl))
  12. i dont get your words I give you a example to use timer XXXXXXXXXXXXX,{ set .@tempaid,getcharid(3); attachrid( .@aid_player1 ); attachnpctimer ""+strcharinfo(0)+""; initnpctimer; attachrid( .@aid_player2 ); attachnpctimer ""+strcharinfo(0)+""; initnpctimer; attachrid( ..@tempaid ); mes "Ok"; Close; OnTimer500: warp "prontera",150,150; end; OnTimer2000: dispbottom "hhahaha"; detachnpctimer; if(!playerattached())stopnpctimer; end; }
  13. Can you explain how your script exactly works?
  14. Since I noticed the Removed of @adjcmdlvl command, I wonder is it possible to add a command @adjcomdgroup which temporarily adjust the specified group can use. e.g. During woe I want to disable some commands from normal player.
  15. getmapmobs(mapname) mapname need string type of variable to save
  16. Temporarily move player to another group atcommand "@adjgroup <group_id>";
  17. Sorry ,i m not using 3Ceam ,I can't test it but it work for me(using rathena)
  18. src/map/itemdb.h find unsigned autoequip: 1; unsigned buyingstore : 1; } flag; short gm_lv_trade_override; //GM-level to override trade_restriction }; replace with unsigned autoequip: 1; unsigned buyingstore : 1; } flag; unsigned ann: 1;//annouce flag short gm_lv_trade_override; //GM-level to override trade_restriction }; src/map/item.c find /*==================================== * read all item-related databases *------------------------------------*/ add above /*==================================== * read item_announce.txt *------------------------------------*/ static bool itemdb_read_announce(char* fields[], int columns, int current) { unsigned short nameid; struct item_data* id; nameid = (unsigned short)strtoul(fields[0], NULL, 10); if( ( id = itemdb_exists(nameid) ) == NULL ) { ShowWarning("itemdb_read_announce: Unknow item id '%hu'.\n", nameid); return false; } id->ann=1; return true; } /*==================================== item.c find sv_readdb(db_path, DBPATH"item_trade.txt", ',', 3, 3, -1, &itemdb_read_itemtrade); sv_readdb(db_path, "item_delay.txt", ',', 2, 2, -1, &itemdb_read_itemdelay); sv_readdb(db_path, "item_buyingstore.txt", ',', 1, 1, -1, &itemdb_read_buyingstore); add after sv_readdb(db_path, "item_announce.txt", ',', 1, 1, -1, &itemdb_read_announce); src/map/mob.c find //A Rare Drop Global Announce by Lupus if( mvp_sd && drop_rate <= battle_config.rare_drop_announce ) { struct item_data *i_data; char message[128]; i_data = itemdb_search(ditem->item_data.nameid); sprintf (message, msg_txt(541), mvp_sd->status.name, md->name, i_data->jname, (float)drop_rate/100); //MSG: "'%s' won %s's %s (chance: %0.02f%%)" intif_broadcast(message,strlen(message)+1,0); } add after if(mvp_sd) {//specify drop item announce struct item_data *dd = NULL; char anme[128]; dd = itemdb_search(ditem->item_data.nameid); if(dd->ann==1){ sprintf (anme, msg_txt(541), mvp_sd->status.name, md->name, dd->jname, (float)drop_rate/100); //MSG: "'%s' won %s's %s (chance: %0.02f%%)" intif_broadcast(anme,strlen(anme)+1,0); } } find //A Rare MVP Drop Global Announce by Lupus if(temp<=battle_config.rare_drop_announce) { struct item_data *i_data; char message[128]; i_data = itemdb_exists(item.nameid); sprintf (message, msg_txt(541), mvp_sd->status.name, md->name, i_data->jname, temp/100.); //MSG: "'%s' won %s's %s (chance: %0.02f%%)" intif_broadcast(message,strlen(message)+1,0); } add after if(mvp_sd) {//specify drop item announce struct item_data *dd = NULL; char anme[128]; dd = itemdb_search(item.nameid); if(dd->ann==1){ sprintf (anme, msg_txt(541), mvp_sd->status.name, md->name, dd->jname, (float)temp/100); //MSG: "'%s' won %s's %s (chance: %0.02f%%)" intif_broadcast(anme,strlen(anme)+1,0); } } db/ create a doc named item_announce.txt //to set drop announce item id //@reloditemdb to reload all setting //format: item id //512 //501 //502 don't forgot to recompile sida.patch
  19. maybe this topic can help you http://rathena.org/board/topic/60024-error-in-kdr-function/
  20. I just have one question the mmajor reason was mapflag noteleport. So, maybe ty to romove that mapflag should work in pvp map case TK_HIGHJUMP: { int x,y, dir = unit_getdir(src); //Fails on noteleport maps, except for GvG and BG maps [skotlex] if(!(map[src->m].flag.battleground || map_flag_gvg2(src->m) ) ) { x = src->x; y = src->y; } else { x = src->x + dirx[dir]*skilllv*2; y = src->y + diry[dir]*skilllv*2; }
  21. Yup,they are from twRO http://ro.gameflier.com/news/news_in.asp?Count=done&BID=7102
  22. File Name: 3 types of new cart File Submitter: QQfoolsorellina File Submitted: 18 May 2012 File Category: Carts Content Author: Gravity Basic Description: Three official Ragnarok carts by Gravity. Click here to download this file
  23. How about just remove map[src->m].flag.noteleport and recompile ?
×
×
  • Create New...