Jump to content

mawjustin

Members
  • Posts

    124
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by mawjustin

  1. thank you.. it will be painful to do modifications
  2. Hi Team, may I ask for your help? I'm following this script, but unable to complete it, I need to add the cell distance between party killer and other party members, only those within 15 cells can get the reward in the map. I'm trying to combine these scripts. From here: From here: From here: This what I got so far, I am unable to do the distance from killer and party members. OnNPCKillEvent: sleep2 500; if (getgmlevel() >= .gm ) { end; } // If gm = event wont happen if ( getmonsterinfo( killedrid, MOB_MVPEXP )) { for (.@aaa = 0; .@aaa < getarraysize(.t_mvphunt_maps$); .@aaa++) { if ( strcharinfo(3) == .t_mvphunt_maps$[.@aaa]) { if ( getcharid(1) ) { .@mapname$ = .t_mvphunt_maps$[.@aaa]; getpartymember getcharid(1), 1; getpartymember getcharid(1), 2; getmapxy(.@mapname$,.@mapx,.@mapy,BL_PC); for ( .@i = 0; .@i < $@partymembercount; .@i++ ) { if ( !isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) || // what happens if someone in the party member is offline =/ strcharinfo(3,$@partymembercid[.@i]) != .@mapname$ || // If the party member is not on the same map of the killer checkidle(rid2name($@partymemberaid[.@i])) > 5 ) // If player is idle for 30 seconds continue; set .@mvppointshunt,0; getitem .p_rwd[0], .p_rwd[1], $@partymemberaid[.@i]; getitem .p_rwd[2], .p_rwd[3], $@partymemberaid[.@i]; announce "[ System ] : Player ["+ strcharinfo(0) +"] of party ["+ strcharinfo(1) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" at "+ strcharinfo(3), bc_all,0xffb6c1; } } else { set .@mvppointshunt,0; getitem .s_rwd[0], .s_rwd[1]; getitem .s_rwd[2], .s_rwd[3]; announce "[ System ] : Player ["+ strcharinfo(0) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" alone at "+ strcharinfo(3), bc_all,0xffb6c1; } MVPHunts = MVPHunts+1; dispbottom "---------------------------------------------------"; dispbottom "You killed a total of "+MVPHunts+" MVP"+((MVPHunts == 1)?"":"s")+"."; dispbottom "---------------------------------------------------"; dispbottom "[BB]: MVP Killed!"; end; } } end; } }
  3. Hi guys, does this really work? I understand that card will always be a priority when it comes to equipment, but what about in random option? does this stack? considering they're both random option? If not, can we change the script of this random option into stackable ones? RDMOPT_BODY_ATTR_NOTHING,{ bonus bDefEle,Ele_Neutral; } RDMOPT_BODY_ATTR_WATER,{ bonus bDefEle,Ele_Water; } RDMOPT_BODY_ATTR_GROUND,{ bonus bDefEle,Ele_Earth; } RDMOPT_BODY_ATTR_FIRE,{ bonus bDefEle,Ele_Fire; } RDMOPT_BODY_ATTR_WIND,{ bonus bDefEle,Ele_Wind; } RDMOPT_BODY_ATTR_POISON,{ bonus bDefEle,Ele_Poison; } RDMOPT_BODY_ATTR_SAINT,{ bonus bDefEle,Ele_Holy; } RDMOPT_BODY_ATTR_DARKNESS,{ bonus bDefEle,Ele_Dark; } RDMOPT_BODY_ATTR_TELEKINESIS,{ bonus bDefEle,Ele_Ghost; } RDMOPT_BODY_ATTR_UNDEAD,{ bonus bDefEle,Ele_Undead; } Is it also possible to have a script that will increase the level of an element when the same element is equipped? Example, [Armor Element] Lucius Fire Armor + [Card Slot] Pasana Card + [Random Option] Armor Element (Fire) = Level 3 Fire Armor?
  4. Hi Team, May I ask for assistance regarding this concern. This is what I got from gdb. Program received signal SIGSEGV, Segmentation fault. 0x00005555555ec50d in clif_bossmapinfo (sd=sd@entry=0x55555a971e30, md=0x0, flag=flag@entry=BOSS_INFO_ALIVE_WITHMSG) at clif.cpp:16676 16676 WFIFOL(fd,3) = md->bl.x; This is the portion of my clif.cpp : 16676 /// Convex Mirror (ZC_BOSS_INFO). /// 0293 <infoType>.B <x>.L <y>.L <minHours>.W <minMinutes>.W <maxHours>.W <maxMinutes>.W <monster name>.51B /// infoType: /// BOSS_INFO_NOT = No boss on this map. /// BOSS_INFO_ALIVE = Boss is alive (position update). /// BOSS_INFO_ALIVE_WITHMSG = Boss is alive (initial announce). /// BOSS_INFO_DEAD = Boss is dead. void clif_bossmapinfo(struct map_session_data *sd, struct mob_data *md, enum e_bossmap_info flag) { int fd = sd->fd; WFIFOHEAD(fd,70); memset(WFIFOP(fd,0),0,70); WFIFOW(fd,0) = 0x293; switch (flag) { case BOSS_INFO_NOT: WFIFOB(fd,2) = BOSS_INFO_NOT; // No data required break; case BOSS_INFO_ALIVE: WFIFOB(fd,2) = BOSS_INFO_ALIVE; // Update X/Y WFIFOL(fd,3) = md->bl.x; WFIFOL(fd,7) = md->bl.y; break; case BOSS_INFO_ALIVE_WITHMSG: WFIFOB(fd,2) = BOSS_INFO_ALIVE_WITHMSG; // Current X/Y WFIFOL(fd,3) = md->bl.x; WFIFOL(fd,7) = md->bl.y; break; case BOSS_INFO_DEAD: { const struct TimerData * timer_data = get_timer(md->spawn_timer); unsigned int seconds; int hours, minutes; seconds = (unsigned int)(DIFF_TICK(timer_data->tick, gettick()) / 1000 + 60); hours = seconds / (60 * 60); seconds = seconds - (60 * 60 * hours); minutes = seconds / 60; WFIFOB(fd,2) = BOSS_INFO_DEAD; // Add respawn info WFIFOW(fd,11) = hours; // Hours WFIFOW(fd,13) = minutes; // Minutes } break; } if (md != NULL) safestrncpy(WFIFOCP(fd,19), md->db->jname, NAME_LENGTH); WFIFOSET(fd,70); } Only his character, other characters in his account is not causing this error. Is there a way to fix this? everytime he logs in that specific character of his, the mapserver crashes. Thank you. EDIT: I managed to find a workaround, but I'm not sure if this really is the solution. case BOSS_INFO_ALIVE_WITHMSG: WFIFOB(fd,2) = BOSS_INFO_ALIVE_WITHMSG; // Current X/Y //WFIFOL(fd,3) = md->bl.x; //commented //WFIFOL(fd,7) = md->bl.y; //commented break;
  5. Check these changes. I managed to make this work. Made some updates. getequipid(8) == 6010 && getequipid(6) == 5009 /* Author Goddameit Version 2013/02/06 Web http://bit.ly/MDuQ9F */ function script Minner_Main { if( getarg(0) == 2 ) { undisguise; if( strcharinfo(3) == "manuk" ) warp "SavePoint",0,0; end; } else if( strcharinfo(3) == "manuk" && getequipid(8) == 6010 && getequipid(6) == 5009 ) { if( getarg(0) == 0 ) disguise 1169; if( getarg(0) == 1 ) { set .@r, rand(1000); if( .@r < 700 ) getitem 1002,1; else if( .@r >= 700 && .@r < 990 ) getitem 757,1; else getitem 756,1; specialeffect2 154; }else ; return; } else ; return; } - script Minnerx -1,{OnLill: set .@t,1;OnInit: if(!.@t)set .@t,100; monster "manuk",0,0,"--ja--",1907,.@t,"Minnerx::OnLill"; end; } I updated the Pickaxe, from bonus bAtkRate, -100, to bonus bAtkRate, -99. 6010,Pickaxe,Pickaxe,4,10,,10,10,,1,0,0xFFFFFFFF,7,0,34,0,0,0,0,{ bonus bAspd,-30; bonus bCritical,100; bonus bAtkRate,-99; autobonus "{ callfunc \"Minner_Main\",1; }",10000,1,BF_WEAPON; },{ callfunc "Minner_Main",0; },{ callfunc "Minner_Main",2; }
  6. Hi guys, I'm having problems with this script that I got from here, there are times that it does not give rewards, and there are also times that it duplicates rewards when a player dies from an MVP on the map array. I tried to loop this so that I can avoid duplicates and not giving rewards, but I am unsuccessful in doing so, is there a way to fix this? No errors in server log is showing. // =================== MVP KILL =============== // ====== MVP will drop an item only ========== // ====== at specific maps. =================== // ====== if players are on a party =========== // ====== item will be given randomly ========= // ====== to any online party members ========= // ============== by : pajodex ================ // ==== Additional Comments: ================== // 1.0 - Initial release (MVP Kill standalone) // 1.1 - used setarray function to optimize script // 1.2 - Added modified Euphy MVP ladder // slight rework on the script // 1.3 - Fixed on reset function (Report by: celeron0134) // ============================================ - script #MVP_Hunt_Shop -1,{ GoBackToLoop_iii: // run loop again. OnInit: set .mvppointshunt,1; setarray .p_rwd, 61100,1,50000,1; // Party reward <item>,<amount> setarray .s_rwd, 61100,2,50000,1; // Solo reward <item>,<amount> .chance = 100; // Drop rate chances % .gm = 100; // Prevents gm level and above to trigger the event // MVP Map list setarray .t_mvphunt_maps$[0], //"ordeal_1-1", // Devil Square //"1@tower", // Endless Tower 1 //"2@tower", // Endless Tower 2 //"3@tower", // Endless Tower 3 //"4@tower", // Endless Tower 4 //"5@tower", // Endless Tower 5 //"6@tower", // Endless Tower 6 "cmd_fild03","gef_fild01", // Toad (TOAD) Mob-ID#1089 "pay_fild04","prt_maze03","xmas_dun01","yuno_fild04", // Mastering (MASTERING) Mob-ID#1090 "moc_pryd06", // Amon Ra (AMON_RA) Mob-ID#1511 "lhz_dun03", // Assassin Cross Eremes (B_EREMES) Mob-ID#1647 "gld_dun03_2","ra_fild02","ra_fild03","ra_fild04","ve_fild01","ve_fild02", // Atroce (ATROCE) Mob-ID#1785 "lou_dun03", // Bacsojin / White Lady (BACSOJIN_) Mob-ID#1630 "prt_maze03", // Baphomet (BAPHOMET) Mob-ID#1039 "bra_dun02", // Boitata (BOITATA) Mob-ID#2068 "gld_dun04","gld_dun04_2","gl_chyard", // Dark Lord (DARK_LORD) Mob-ID#1272 "abyss_03", // Detale / Detardeurus (DETALE) Mob-ID#1719 "gef_dun02","gld_dun02", // Doppelganger (DOPPELGANGER) Mob-ID#1046 "gef_dun01", // Dracula (DRACULA) Mob-ID#1389 "treasure02", // Drake (DRAKE) Mob-ID#1112 "gld_dun01","gld_dun01_2","pay_fild11", // Eddga (EDDGA) Mob-ID#1115 "gon_dun03", // Evil Snake Lord (DARK_SNAKE_LORD) Mob-ID#1418 "abbey02", // Fallen Bishop / Fallen Bishop Hibram (FALLINGBISHOP) Mob-ID#1871 "xmas_fild01", // Garm / Hatii (GARM) Mob-ID#1252 "ra_san05", // Gloom Under Night (GLOOMUNDERNIGHT) Mob-ID#1768 "prt_sewb4", // Golden Thief Bug (GOLDEN_BUG) Mob-ID#1086 "mosk_dun03", // Gopinich (GOPINICH) Mob-ID#1885 "lhz_dun03", // High Priest Magaleta / High Priest Margaretha (B_MAGALETA) Mob-ID#1649 "lhz_dun03", // High Wizard Katrinn / High Wizard Kathryne (B_KATRINN) Mob-ID#1651 "thor_v03", // Ifrit (IFRIT) Mob-ID#1832 "ama_dun03", // Incantation Samurai / Samurai Specter (INCANTATION_SAMURAI) Mob-ID#1492 "kh_dun02", // Kiel D-01 (KIEL_) Mob-ID#1734 "xmas_dun02", // Knight of Windstorm / Stormy Knight (KNIGHT_OF_WINDSTORM) Mob-ID#1251 "ice_dun03", // Ktullanux (KTULLANUX) Mob-ID#1779 "ayo_dun02", // Lady Tanee (LADY_TANEE) Mob-ID#1688 "lhz_dun03", // Lord Knight Seyren (B_SEYREN) Mob-ID#1646 "niflheim", // Lord of Death / Lord of the Dead (LORD_OF_DEATH) Mob-ID#1373 "anthell02","gld_dun02_2","gld_dun03", // Maya (MAYA) Mob-ID#1147 "mjolnir_04", // Mistress (MISTRESS) Mob-ID#1059 "pay_dun04", // Moonlight Flower (MOONLIGHT) Mob-ID#1150 "2@nyd", // Nidhoggr's Shadow (S_NYDHOG) Mob-ID#2022 "gef_fild02","gef_fild14", // Orc Hero (ORK_HERO) Mob-ID#1087 "gef_fild10", // Orc Lord (ORC_LORD) Mob-ID#1190 "moc_pryd04", // Osiris (OSIRIS) Mob-ID#1038 "in_sphinx5", // Pharaoh (PHARAOH) Mob-ID#1157 "moc_fild17", // Phreeoni (PHREEONI) Mob-ID#1159 "ein_dun02", // RSX 0806 / RSX-0806 (RSX_0806) Mob-ID#1623 "lhz_dun03", // Sniper Shecil / Sniper Cecil (B_SHECIL) Mob-ID#1650 "beach_dun", // Tao Gunka (TAO_GUNKA) Mob-ID#1583 "thana_boss", // Thanatos / Memory of Thanatos (THANATOS) Mob-ID#1708 "tur_dun04", // Turtle General (TURTLE_GENERAL) Mob-ID#1312 "odin_tem03", // Valkyrie Randgris (RANDGRIS) Mob-ID#1751 "jupe_core", // Vesper (APOCALIPS_H) Mob-ID#1685 "lhz_dun03", // Whitesmith Harword / Whitesmith Howard (B_HARWORD) Mob-ID#1648 "moc_fild22", // Wounded Morroc (MOROCC_) Mob-ID#1917 "lhz_dun02"; // Ygnizem / Egnigem Cenia (B_YGNIZEM) Mob-ID#1658 end; OnPCDieEvent: for (.@aa = 0; .@aa < getarraysize(.t_mvphunt_maps$); .@aa++) { if ( strcharinfo(3) == .t_mvphunt_maps$[.@aa]) { dispbottom "[Hunt]: You died!"; goto GoBackToLoop_iii; } } end; if (.mvppointshunt == 0) { set .mvppointshunt,1; goto GoBackToLoop_iii; end; } OnNPCKillEvent: sleep2 500; if (getgmlevel() >= .gm ) { end; } // If gm = event wont happen if ( getmonsterinfo( killedrid, MOB_MVPEXP )) { for (.@aaa = 0; .@aaa < getarraysize(.t_mvphunt_maps$); .@aaa++) { if ( strcharinfo(3) == .t_mvphunt_maps$[.@aaa]) { if ( getcharid(1) ) { getpartymember getcharid(1), 1; getpartymember getcharid(1), 2; for ( .@iii = 0; .@iii < $@partymembercount; .@iii++ ) { if ( isloggedin( $@partymemberaid[.@iii], $@partymembercid[.@iii] ) ) { .@partymemberaid[.@ccc] = $@partymemberaid[.@iii]; .@ccc++; } } set .@mvppointshunt,0; getitem .p_rwd[0], .p_rwd[1], .@partymemberaid[ rand( .@ccc ) ]; getitem .p_rwd[2], .p_rwd[3], .@partymemberaid[ rand( .@ccc ) ]; announce "[ System ] : Player ["+ strcharinfo(0) +"] of party ["+ strcharinfo(1) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" at "+ strcharinfo(3), bc_all,0xffb6c1; } else { set .@mvppointshunt,0; getitem .s_rwd[0], .s_rwd[1]; getitem .s_rwd[2], .s_rwd[3]; announce "[ System ] : Player ["+ strcharinfo(0) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" alone at "+ strcharinfo(3), bc_all,0xffb6c1; } MVPHunts = MVPHunts+1; dispbottom "---------------------------------------------------"; dispbottom "You killed a total of "+MVPHunts+" MVP"+((MVPHunts == 1)?"":"s")+"."; dispbottom "---------------------------------------------------"; dispbottom "[Hunt]: MVP Killed!"; goto GoBackToLoop_iii; end; } } end; } } I added this bit of code in hopes to fix the problem, but I was unsuccessful. OnPCDieEvent: for (.@aa = 0; .@aa < getarraysize(.t_mvphunt_maps$); .@aa++) { if ( strcharinfo(3) == .t_mvphunt_maps$[.@aa]) { dispbottom "[Hunt]: You died!"; goto GoBackToLoop_iii; } } end; if (.mvppointshunt == 0) { set .mvppointshunt,1; goto GoBackToLoop_iii; end; } Thank you guys.
  7. thank you.. i just need to have this into a vending npc,
  8. It should, or it doesn't matter really, as long as the item will be recorded into the NPC, and will last for 30 days., and after 30 days it will be removed.
  9. It basically records daily input by the GM into an NPC, and will keep that in the list for 30 days, after 30 days it will be removed. Basically and item-recording selling npc.
  10. this is exactly what i'm looking for.. thank you.. i should've read rathena docs more.
  11. if/else/goto would be the best option??
  12. I'm planning to use the script in other NPC, as of now the only way I know to solve this if via if and goto; but it wont be logical if there is a long list of loop that i need to do. so i'm hoping an array vs array sorting will do ? Example: Random Option NPC Array 1 : List all the Possible random option from 1 - 193 Array 2 : List all the random option to be ignored. Array 3 : Avoid random option repetition in an item, all 1-5 random option must be different from each other, so array 3 will capture all the current random option of the item, and will remove this from the list in Array 1, thus making in an array vs array. This is the result that i'm hoping to achieve, as of now i did this using if and goto; but it will be soooo long if i keep on doing this in this way.
  13. Hi Guys, How do we do this? How do we compare 2 list of arrays, remove those that matched, and the remaining arrays will be the one used for random summoning? Here is an example code. //======Name======================================== // Daily Monster Hunt //======Version===================================== // 1.2 //======Author(s)=================================== // Sandbox //======Comments==================================== // This NPC allows your player to hunt a random amount // of a random monster // *randomception!* // If the player successfully hunts the monster // he'll receive a reward! //======Credits===================================== // KeyWorld, nanakiwurtz, NeoMind, Kido // Thanks for helping me out guize! // Modified by Luciar for Yonko //================================================== prontera,132,168,3 script Branch Hunt Challenge 78,{ mes .Npc_Name$; if(Hunter) { mes "You have killed ^880000"+HuntCount+"^000000/^0000FF"+Amt +"^000000 "+getmonsterinfo(Hunt,0)+"s, keep it up!"; close; } if(gettimetick(2) < HuntDelay) { mes "You can only do this quest once every 4 hours!"; mes "You have "+(((HuntDelay) - (gettimetick(2)))/60)+" minutes left until the next quest."; close; } mes "Hello "+strcharinfo(0)+", do you want to take on the Branch Hunting Challenge?","If you manage to kill them, you'll receive a reward!"," "+.RewAmt+" x ^880000"+DispLink(.Reward)+"^000000"; if (.c_RewAmt > 0) { mes "and a bonus of up to "+.c_RewAmt+" ^880000"+DispLink(.c_Reward)+"^000000 for every challenge."; } else if (.z_RewAmt > 0) { mes "and a bonus of up to "+callfunc( "F_InsertComma",.z_RewAmt)+"z."; } else { mes "for every challenge."; } next; mes .Npc_Name$; mes "Do not forget to loot all the monster drops, they are part of the ^880000Dead Branch Quest^000000."; if(select("Bring it on!:How about no?")==2) { next; mes .Npc_Name$; mes "Fine!"; close; } next; mes .Npc_Name$; Hunt = .Mob_List[rand(getarraysize(.Mob_List))]; Amt = rand (50,100); //Amount of mob to hunt atcommand "@alootid -7201"; atcommand "@alootid -7189"; atcommand "@alootid -1019"; atcommand "@alootid -7222"; atcommand "@alootid +7201"; atcommand "@alootid +7189"; atcommand "@alootid +1019"; atcommand "@alootid +7222"; Hunter++; mes "You have to hunt ^0000FF"+Amt+" "+getmonsterinfo(Hunt,0)+"^000000!"; next; mes .Npc_Name$; mes "Go go go!"; close2; HuntDelay = gettimetick(2)+1; //every 1 sec. end; //----------Config---------- OnInit: .Npc_Name$ = "[^0000FF Daily Hunt ^000000]"; setarray .Mob_List[0],1497,1495,1880,1400,1151,1010,1277,1269,1503; //Mobs to hunt .Reward = 12103; //Reward ID .RewAmt = 10; //Reward Amount .c_Reward = 50000; //Reward ID .c_RewAmt = 0; //Reward Amount .z_RewAmt = 1000000; //Zeny Reward end; OnNPCKillEvent: sleep2 200; if(Hunter > 0) { if(killedrid == Hunt) { HuntCount++; dispbottom "You have killed "+HuntCount+"/"+Amt+" "+getmonsterinfo(Hunt,0)+"s, keep it up!"; if (rand(1,100) > rand(1,100)) { getitem 7850,1; } if(HuntCount >= Amt) { dispbottom strnpcinfo(1)+": Congratulations! You did it!"; dispbottom strnpcinfo(1)+": "+getitemname(.Reward)+" x "+.RewAmt+"!"; getitem .Reward,.RewAmt; if (.c_RewAmt > 0) { getitem .c_Reward,rand(1,.c_RewAmt); // Edit to the reward that you would be giving dispbottom strnpcinfo(1)+": "+getitemname(.c_Reward)+" x "+.c_RewAmt+"!"; } if (.z_RewAmt > 0) { Zeny = Zeny + .z_RewAmt; // Edit to the zeny that you would be giving dispbottom strnpcinfo(1)+": "+callfunc( "F_InsertComma",.z_RewAmt)+"z!"; } Hunt = 0; Hunter = 0; HuntCount = 0; Amt = 0; } } } end; } And this is the array of mobs. setarray .Mob_List[0],1497,1495,1880,1400,1151,1010,1277,1269,1503; //Mobs to hunt How do we put a blacklist into the set of arrays, without removing it from .Mob_List[0] ?? Now I understand that this would be a lot easier if we just remove the mob in the .Mob_List[0] , but I would like to understand how do we do this. So instead of directly calling this line: Hunt = .Mob_List[rand(getarraysize(.Mob_List))]; Amt = rand (50,100); //Amount of mob to hunt It would have to check first if there is something in the blacklist, and then summon the monster. setarray .Mob_BlackList[0],1031,1002; //Mobs to exclude from array What I'm trying to accomplish here is an array-based list of monsters, and blacklisted monsters. Supposing A = .Mob_List[0] and B = .Mob_BlackList[0] It must compare first the list of A, and B, then remove the same ID on both. And then whatever's left will be the one randomized. I tried doing this using for loop, but my coding is rusty. I'm sorry. I hope you can help me guys. EDIT: Found a quick workaround, I used if statement to check if it is in .Mob_BlackList[0], but the script will be too long if there's many blackist.
  14. Hi Sir, I've tried this, but it's still not working. I'm using a business paypal. I've already enabled IPN.
  15. Hi Team, How do we do this? bypass when in Soul Link? I understand that this enables Dispel on GTB. But can we add an additional script that it will only work if the player (Sage/Professor) is on Soul Link? if((status_isimmune(bl) &&!tsc->data[SC_HERMODE] && rnd()%100 > 30 )) break; I tried this, but no luck. if((status_isimmune(bl) &&!tsc->data[SC_HERMODE] && sd->sc.data[SC_SPIRIT] && sd->sc.data[SC_SPIRIT]->val2 == SL_SAGE && rnd()%100 > 30 )) break; This is from src/map/skill.cpp case SA_DISPELL: if (flag&1 || (i = skill_get_splash(skill_id, skill_lv)) < 1) { if (sd && dstsd && !map_flag_vs(sd->bl.m) && (!sd->duel_group || sd->duel_group != dstsd->duel_group) && (!sd->status.party_id || sd->status.party_id != dstsd->status.party_id)) break; // Outside PvP it should only affect party members and no skill fail message clif_skill_nodamage(src,bl,skill_id,skill_lv,1); if((dstsd && (dstsd->class_&MAPID_UPPERMASK) == MAPID_SOUL_LINKER) || (tsc && tsc->data[SC_SPIRIT] && tsc->data[SC_SPIRIT]->val2 == SL_ROGUE) //Rogue's spirit defends againt dispel. || rnd()%100 >= 50+10*skill_lv) { if (sd) clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0); break; } if((status_isimmune(bl) &&!tsc->data[SC_HERMODE] && rnd()%100 > 30 )) break; //Remove bonus_script by Dispell if (dstsd) pc_bonus_script_clear(dstsd,BSF_REM_ON_DISPELL); if(!tsc || !tsc->count) break; for(i=0;i<SC_MAX;i++) { if (!tsc->data[i]) continue; switch (i) { Edit: Found a fix on this one: from Just change clif_skill_fail(sd,skillid,USESKILL_FAIL_LEVEL,0); to clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0); And fix the typo.. from sC to SC case SA_DISPELL: if (flag&1 || (i = skill_get_splash(skill_id, skill_lv)) < 1) { if (sd && dstsd && !map_flag_vs(sd->bl.m) && (!sd->duel_group || sd->duel_group != dstsd->duel_group) && (!sd->status.party_id || sd->status.party_id != dstsd->status.party_id)) break; // Outside PvP it should only affect party members and no skill fail message clif_skill_nodamage(src,bl,skill_id,skill_lv,1); if((dstsd && (dstsd->class_&MAPID_UPPERMASK) == MAPID_SOUL_LINKER) || (tsc && tsc->data[SC_SPIRIT] && tsc->data[SC_SPIRIT]->val2 == SL_ROGUE) //Rogue's spirit defends againt dispel. || rnd()%100 >= 50+10*skill_lv) { if (sd) clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0); break; } if(sc && sc->data[SC_SPIRIT] && sc->data[SC_SPIRIT]->val2 == SL_SAGE && status_isimmune(bl) && !tsc->data[SC_HERMODE] && rnd()%100 < 70 || status_isimmune(bl) && !(sc && sc->data[SC_SPIRIT] && sc->data[SC_SPIRIT]->val2 == SL_SAGE) ){ if (sd) clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0); break; } //Remove bonus_script by Dispell
  16. Hi Team, I'm having this problem, when I'm using a Baby Kagerou/Oboro Suit, it does not show the mount. But when I unequip it, it's showing. I tried this on ninja, it works, only on Baby Kagerou/Oboro that it doesn't. Any fix on this? tanks guys.
  17. Thank you so much!
  18. Hi guys, baka meron kayong working diff ng Charm System and Extended Vending System para sa latest rathena, wala kasing nagana para dito. ? Eto yung mga error Extended Vending System: Charm System:
  19. Hi Team, Good day. Seeking assistance regarding this concern, do we have a working Charm System for latest rathena? I'm having these errors. Thank you.
  20. Hi Team, Good day. May I ask for assistance regarding this matter? I can't seem to make this work in the latest rAthena. I keep on stumbling on this error, MAX_ITEMID. Thanks in advance.
  21. Hi Team, Good day. May I request for a script in which a GM will talk to the NPC, then input the Item Code as donation everyday, then all the list from the previous days will be on record, so players can still buy the donation, the list will cover up to 30 days maximum. Thank you. Same with Daily Reward, but in reverse, we add the Item code today, and it will still be available tomorrow for donation.
  22. Is it possible to do this? Like for example, if you have a STR random option and ATK random option, you will get a hidden random option effect (Ignore Def) (This is similar to Ragnarok Mobile). I understand that this might be similar as to how we set a Deadly Card Combo, but can we do it in like per item instead in per whole equipped items? Thanks in advance.
  23. @Royr thank you for this brother.
  24. Hi guys, may I ask for help regarding this matter? How do we display details (similar to right-clicking a card) of a card while the link is displayed in the npc, I'm making a custom info display of customized cards. prontera,149,184,5 script Helper 811,{ mes "<URL>"+getitemname(4001)+"<INFO>"+getitemname(4001)+"</INFO></URL>"; close; } Is there a way to do this? when I click the url in the npc, it will display the details of the item or card? (similar to viewing it in the inventory)
  25. Thank you! this all make sense now. ?
×
×
  • Create New...