Jump to content

Promise

Members
  • Posts

    386
  • Joined

  • Last visited

  • Days Won

    5

Everything posted by Promise

  1. invert cell_vending,1; to cell_novending,0;
  2. Promise

    please help

    /npc/mapflag/gvg.txt remove: guild_vs3 mapflag gvg /npc/mapflag/pvp.txt add: guild_vs3 mapflag pvp
  3. .@i = getarg(select(.@menu$) - 1, 0); to .@i = select(.@menu$)-1;
  4. clif.c if( sd->state.trading || !sd->npc_shopid || !cash_shop_defined) { to if( sd->state.trading || !sd->npc_shopid ) { and unsigned short nameid = RFIFOW(fd,info->pos[0]); to short nameid = RFIFOW(fd,info->pos[0]);
  5. 1@glast,1,1,0 script #snfescape CLEAR_NPC,{ end; // <--------- Wtf? OnStart: initnpctimer; end; OnTimer1500: donpcevent instance_npcname("#snfBGM")+"::OnEscape"; .@map$ = instance_mapname("1@glast"); viewpoint 1,351,271,1,0x00FF00; for(.@i = 1; .@i <= 5; .@i++) { enablenpc instance_npcname("Tesouro#snf"+.@i); btw, check the x,y map and try by changing #snfBGM for snfBGM - #snfescape for snfescape
  6. @go ACMD_FUNC(go) { int i; int town; char map_name[MAP_NAME_LENGTH]; const struct { char map[MAP_NAME_LENGTH]; int x, y; } data[] = { { MAP_PRONTERA, 156, 191 }, // 0=Prontera { MAP_MORROC, 156, 93 }, // 1=Morroc { MAP_GEFFEN, 119, 59 }, // 2=Geffen { MAP_PAYON, 162, 233 }, // 3=Payon { MAP_ALBERTA, 192, 147 }, // 4=Alberta #ifdef RENEWAL { MAP_IZLUDE, 128, 146 }, // 5=Izlude (Renewal) #else { MAP_IZLUDE, 128, 114 }, // 5=Izlude #endif { MAP_ALDEBARAN, 140, 131 }, // 6=Al de Baran { MAP_LUTIE, 147, 134 }, // 7=Lutie { MAP_COMODO, 209, 143 }, // 8=Comodo { MAP_YUNO, 157, 51 }, // 9=Yuno { MAP_AMATSU, 198, 84 }, // 10=Amatsu { MAP_GONRYUN, 160, 120 }, // 11=Gonryun { MAP_UMBALA, 89, 157 }, // 12=Umbala { MAP_NIFLHEIM, 21, 153 }, // 13=Niflheim { MAP_LOUYANG, 217, 40 }, // 14=Louyang #ifdef RENEWAL { MAP_NOVICE, 97, 90 }, // 15=Training Grounds (Renewal) #else { MAP_NOVICE, 53, 111 }, // 15=Training Grounds #endif { MAP_JAIL, 23, 61 }, // 16=Prison { MAP_JAWAII, 249, 127 }, // 17=Jawaii { MAP_AYOTHAYA, 151, 117 }, // 18=Ayothaya { MAP_EINBROCH, 64, 200 }, // 19=Einbroch { MAP_LIGHTHALZEN, 158, 92 }, // 20=Lighthalzen { MAP_EINBECH, 70, 95 }, // 21=Einbech { MAP_HUGEL, 96, 145 }, // 22=Hugel { MAP_RACHEL, 130, 110 }, // 23=Rachel { MAP_VEINS, 216, 123 }, // 24=Veins { MAP_MOSCOVIA, 223, 184 }, // 25=Moscovia { MAP_MIDCAMP, 180, 240 }, // 26=Midgard Camp { MAP_MANUK, 282, 138 }, // 27=Manuk { MAP_SPLENDIDE, 201, 147 }, // 28=Splendide { MAP_BRASILIS, 182, 239 }, // 29=Brasilis { MAP_DICASTES, 198, 187 }, // 30=El Dicastes { MAP_MORA, 44, 151 }, // 31=Mora { MAP_DEWATA, 200, 180 }, // 32=Dewata { MAP_MALANGDO, 140, 114 }, // 33=Malangdo Island { MAP_MALAYA, 242, 211 }, // 34=Malaya Port { MAP_ECLAGE, 110, 39 }, // 35=Eclage }; nullpo_retr(-1, sd); if( map[sd->bl.m].flag.nogo && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE) ) { clif_displaymessage(sd->fd,msg_txt(sd,995)); // You cannot use @go on this map. return 0; } if( pc_isdead(sd) ) { clif_displaymessage(fd, msg_txt(sd,664)); return -1; } memset(map_name, '\0', sizeof(map_name)); memset(atcmd_output, '\0', sizeof(atcmd_output)); // get the number town = atoi(message); if (!message || !*message || sscanf(message, "%11s", map_name) < 1 || town < 0 || town >= ARRAYLENGTH(data)) {// no value matched so send the list of locations const char* text; // attempt to find the text help string text = atcommand_help_string( command ); clif_displaymessage(fd, msg_txt(sd,38)); // Invalid location number, or name. if( text ) {// send the text to the client clif_displaymessage( fd, text ); } return -1; } // get possible name of the city map_name[MAP_NAME_LENGTH-1] = '\0'; for (i = 0; map_name[i]; i++) map_name[i] = TOLOWER(map_name[i]); // try to identify the map name if (strncmp(map_name, "prontera", 3) == 0) { town = 0; } else if (strncmp(map_name, "morocc", 4) == 0 || strncmp(map_name, "morroc", 4) == 0) { town = 1; } else if (strncmp(map_name, "geffen", 3) == 0) { town = 2; } else if (strncmp(map_name, "payon", 3) == 0) { town = 3; } else if (strncmp(map_name, "alberta", 3) == 0) { town = 4; } else if (strncmp(map_name, "izlude", 3) == 0) { town = 5; } else if (strncmp(map_name, "aldebaran", 3) == 0) { town = 6; } else if (strncmp(map_name, "lutie", 3) == 0 || strcmp(map_name, "christmas") == 0 || strncmp(map_name, "xmas", 3) == 0 || strncmp(map_name, "x-mas", 3) == 0) { town = 7; } else if (strncmp(map_name, "comodo", 3) == 0) { town = 8; } else if (strncmp(map_name, "juno", 3) == 0 || strncmp(map_name, "yuno", 3) == 0) { town = 9; } else if (strncmp(map_name, "amatsu", 3) == 0) { town = 10; } else if (strncmp(map_name, "kunlun", 3) == 0 || strncmp(map_name, "gonryun", 3) == 0) { town = 11; } else if (strncmp(map_name, "umbala", 3) == 0) { town = 12; } else if (strncmp(map_name, "niflheim", 3) == 0) { town = 13; } else if (strncmp(map_name, "louyang", 3) == 0) { town = 14; } else if (strncmp(map_name, "new_1-1", 3) == 0 || strncmp(map_name, "startpoint", 3) == 0 || strncmp(map_name, "beginning", 3) == 0) { town = 15; } else if (strncmp(map_name, "sec_pri", 3) == 0 || strncmp(map_name, "prison", 3) == 0 || strncmp(map_name, "jail", 3) == 0) { town = 16; } else if (strncmp(map_name, "jawaii", 3) == 0) { town = 17; } else if (strncmp(map_name, "ayothaya", 3) == 0) { town = 18; } else if (strncmp(map_name, "einbroch", 5) == 0) { town = 19; } else if (strncmp(map_name, "lighthalzen", 3) == 0) { town = 20; } else if (strncmp(map_name, "einbech", 5) == 0) { town = 21; } else if (strncmp(map_name, "hugel", 3) == 0) { town = 22; } else if (strncmp(map_name, "rachel", 3) == 0) { town = 23; } else if (strncmp(map_name, "veins", 3) == 0) { town = 24; } else if (strncmp(map_name, "moscovia", 3) == 0) { town = 25; } else if (strncmp(map_name, "mid_camp", 3) == 0) { town = 26; } else if (strncmp(map_name, "manuk", 3) == 0) { town = 27; } else if (strncmp(map_name, "splendide", 3) == 0) { town = 28; } else if (strncmp(map_name, "brasilis", 3) == 0) { town = 29; } else if (strncmp(map_name, "dicastes01", 3) == 0) { town = 30; } else if (strcmp(map_name, "mora") == 0) { town = 31; } else if (strncmp(map_name, "dewata", 3) == 0) { town = 32; } else if (strncmp(map_name, "malangdo", 5) == 0) { town = 33; } else if (strncmp(map_name, "malaya", 5) == 0) { town = 34; } else if (strncmp(map_name, "eclage", 3) == 0) { town = 35; } if (town >= 0 && town < ARRAYLENGTH(data)) { int16 m = map_mapname2mapid(data[town].map); if (m >= 0 && map[m].flag.nowarpto && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE)) { clif_displaymessage(fd, msg_txt(sd,247)); return -1; } if (sd->bl.m >= 0 && map[sd->bl.m].flag.nowarp && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE)) { clif_displaymessage(fd, msg_txt(sd,248)); return -1; } if (pc_setpos(sd, mapindex_name2id(data[town].map), data[town].x, data[town].y, CLR_TELEPORT) == SETPOS_OK) { clif_displaymessage(fd, msg_txt(sd,0)); // Warped. } else { clif_displaymessage(fd, msg_txt(sd,1)); // Map not found. return -1; } } else { // if you arrive here, you have an error in town variable when reading of names clif_displaymessage(fd, msg_txt(sd,38)); // Invalid location number or name. return -1; } return 0; }
  7. Your map server have been crashing since you started the server? Did you edit something in the source to get this warnings or you got them always?
  8. I dont really understand what error r u getting....
  9. Its just a warning, if you dont have errors, you dont have to care about that.
  10. https://github.com/rathena/rathena/commit/9cca1889
  11. Try to change query_sql("DELETE FROM `global_reg_value` WHERE `str` = 'pl_pkcount'"); to query_sql("DELETE FROM `global_acc_reg_str` WHERE `str` = 'pl_pkcount'"); or query_sql("DELETE FROM `global_acc_reg_num` WHERE `str` = 'pl_pkcount'");
  12. i see. there are no errors when i run the server. some of them are just yellow[debugs/warning] in item db. every 5-7 hours i guest. Some times the npcs are crashing and they dont give any error. You should ask your players what was they doing just before the crash, it could be anything like /breakguild or an npc.
  13. Forget it, try Mob.c #if PACKETVER >= 20120404 if( battle_config.monster_hp_bars_info){ int i; for(i = 0; i < DAMAGELOG_SIZE; i++){ // must show hp bar to all char who already hit the mob. struct map_session_data *sd = map_charid2sd(md->dmglog[i].id); if( sd && check_distance_bl(&md->bl, &sd->bl, AREA_SIZE) ) // check if in range clif_monster_hp_bar(md, sd->fd); } } #endif to #if PACKETVER >= 20120404 if( battle_config.monster_hp_bars_info){ if( !(md->class_ == MOBID_EMPERIUM) ){ int i; for(i = 0; i < DAMAGELOG_SIZE; i++){ // must show hp bar to all char who already hit the mob. struct map_session_data *sd = map_charid2sd(md->dmglog[i].id); if( sd && check_distance_bl(&md->bl, &sd->bl, AREA_SIZE) ) // check if in range clif_monster_hp_bar(md, sd->fd); } } } #endif Try this and compile. Remember to do a backup before change anything.
  14. Try changing the mode of the emperium to type boss on your mob_db
  15. Probaste https://rathena.org/board/topic/63177-ro-open-setup-v2116397-last-updated-20151205/
  16. Check the lastest files you added to your server. Probably a new npc is crashing the map server for a bad coding.
  17. PM me, i can try to fix your problem.
  18. No, i always use 20100730 and works fine. Check if you have a clientinfo.xml on your FOLDER data, maybe your client read data folder first, and you are using another clientinfo.xml in the folder.
  19. What client version are you using?
  20. Change in idnum2itemresnametable- 30002# The Byakugan is a dojutsu kekkei genkai of the Hyuga clan. It is one of the three great dojutsu, along with the Sharingan and the Rinnegan. Stength + 5 its ability is to reduce 3% of damage from all melee attack. Class :^777777 Mid Gear^000000 Required Level :^777777 1^000000 Applicable Job :^777777 Every Job^000000 # to 30002#sharingan# then accessoryid- ACCESSORY_sharingan = 30002 to ACCESSORY_SHARINGAN = 30002 then accname- [ACCESSORY_IDs.ACCESSORY_sharingan] = "_sharingan" to [ACCESSORY_IDs.ACCESSORY_SHARINGAN] = "_sharingan" and your sprites should be sharingan.spr sharingan.act
  21. //===== rAthena Script ======================================= //= Card Removal NPC //===== By: ================================================== //= TyrNemesis^ //===== Current Version: ===================================== //= 1.2a //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= //= Removes cards from equipped items. //===== Additional Comments: ================================= //= 1.0 First version. [TyrNemesis^] //= 1.2 Optimized and fixed getequipname menu. [Kisuka] //= 1.2a Added 'disable_items' command. [Euphy] //= 1.3 Changed zeny for CashPoints [PromisE] //============================================================ prt_in,28,73,4 script Wise Old Woman#eAcustom 78,{ set .cashcost,50000; // base cost of the card remover services (in Cash) set .percardcost,7000; // cost per card of the card remover services (in Cash) set .faildestroy,1; // should the card remover have a chance of failure that destroys items? (1=yes, 0=no) disable_items; mes "[Wise Old Woman]"; mes "Good day, young one. I have the power to remove cards that you have compounded onto your equipment. Does this idea please you?"; next; switch(select("Yes, it does.:What do you charge?:No thanks.")) { case 1: mes "[Wise Old Woman]"; mes "Very well. Which item shall I examine for you?"; next; setarray .@position$[1], "Head","Body","Left hand","Right hand","Robe","Shoes","Accessory 1","Accessory 2","Head 2","Head 3"; set .@menu$,""; for( set .@i,1; .@i <= 10; set .@i,.@i+1 ) { if( getequipisequiped(.@i) ) set .@menu$, .@menu$ + .@position$[.@i] + "-" + "[" + getequipname(.@i) + "]"; set .@menu$, .@menu$ + ":"; } set .@part,select(.@menu$); if(!getequipisequiped(.@part)) { mes "[Wise Old Woman]"; mes "Young one... Your not wearing anything there that I can remove cards from."; close; } if(getequipcardcnt(.@part) == 0) { mes "[Wise Old Woman]"; mes "Young one... There are no cards compounded on this item. I can do nothing with it, I'm afraid."; close; } set .@cardcount,getequipcardcnt(.@part); if (!checkweight(1202,(.@cardcount+1))) { mes "^3355FFJust a minute!"; mes "I can't offer any of my"; mes "services to you because"; mes "you're carrying too much"; mes "stuff. Put your extra items in"; mes "Kafra Storage and come again~"; close; } mes "[Wise Old Woman]"; mes "This item has " + .@cardcount + " cards compounded on it. To perform my magic, I will need " + (.cashcost+(.@cardcount * .percardcost)) + " CashPoints, a ^0000FFStar Crumb^000000, and a ^0000FFYellow Gemstone^000000."; next; if(select("Very well. Do it.:Nevermind.") == 2) { mes "[Wise Old Woman]"; mes "Very well. Return at once if you seek my services."; close; } if((#CASHPOINTS < (.cashcost+(.@cardcount * .percardcost))) || (countitem(1000) < 1) || (countitem(715) < 1)) { mes "[Wise Old Woman]"; mes "You do not have all the items I require to work my magic, child. Come again when you do."; close; } mes "[Wise Old Woman]"; mes "Before I begin, I must warn you--I may fail. If I do, I may destroy the cards, the item, or both. I do not give refunds. That being said, which is more important to you: The cards, or the item?"; next; switch(select("I changed my mind about this.:The item.:The cards.")) { case 1: mes "[Wise Old Woman]"; mes "Very well. Return at once if you seek my services."; close; case 2: set .@failtype,1; break; case 3: set .@failtype,2; } mes "[Wise Old Woman]"; mes "Very well. I shall begin."; set #CASHPOINTS, #CASHPOINTS - (.cashcost+(.@cardcount * .percardcost)); delitem 1000,1; //Star_Crumb delitem 715,1; //Yellow_Gemstone // Replace the constants in the next 3 lines with failure chance values defined in refine_db.txt // First value = Total failure chance (item and cards destroyed) // Second value = Partial failure chance (one or the other is destroyed, player decides which one is safe) // Third value = Harmless failure chance (all that's lost is your investment) set .@failchance,rand(100); if (.faildestroy==1) { if(.@failchance < 2) { next; failedremovecards .@part,0; mes "[Wise Old Woman]"; mes "The process was a total failure. I am afraid the item and the cards were destroyed."; close; } if(.@failchance < 8) { if (.@failtype == 1) { next; failedremovecards .@part,1; mes "[Wise Old Woman]"; mes "While I have managed to remove the cards from the item, they were destroyed in the process. The item, however, is okay."; close; } if (.@failtype == 2) { next; failedremovecards .@part,2; mes "[Wise Old Woman]"; mes "Most unfortunate. I succeeded at removing the cards, but the item itself was destroyed in the process."; close; } } } if(.@failchance < 10) { next; failedremovecards .@part,3; mes "[Wise Old Woman]"; mes "I have failed to remove the cards. Luckily, however, both the item and the cards are still okay."; close; } next; successremovecards .@part; mes "[Wise Old Woman]"; mes "The process was a success. Here are your cards and your item. Farewell."; close; case 2: mes "[Wise Old Woman]"; mes "I charge a flat fee of "+callfunc("F_InsertComma",.cashcost)+" CashPoints, plus "+callfunc("F_InsertComma",.percardcost)+" CashPoints for each card I remove from the item. In addition, I need a star crumb and a yellow gemstone to work my magic."; close; case 3: mes "[Wise Old Woman]"; mes "Very well. Return at once if you seek my services."; close; } } This should works fine. Its 50k cost and 7k for each card. You can edit the costs in the configuration: set .cashcost,50000; // base cost of the card remover services (in Cash) set .percardcost,7000; // cost per card of the card remover services (in Cash) set .faildestroy,1; // should the card remover have a chance of failure that destroys items? (1=yes, 0=no)
  22. Check your LuaFiles and your item....nametable.txt on your DB, anything is wrong there.
  23. To be your first map, its very good. Simple map. You can add a global light, and add some circle lights on the sides or one in the center, and give a red-orange tone to the floor with the same lighmaps.
  24. https://rathena.org/board/topic/98611-quick-fix-2012-04-10aragexe-cash-shop/
×
×
  • Create New...