Jump to content

mawjustin

Members
  • Content Count

    57
  • Avg. Content Per Day

    0
  • Joined

  • Last visited

Community Reputation

2 Neutral

About mawjustin

  • Rank
    Santa Poring
  • Birthday May 24

Profile Information

Contact Methods

Recent Profile Visitors

648 profile views
  1. if/else/goto would be the best option??
  2. 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.
  3. 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.
  4. Hi Sir, I've tried this, but it's still not working. I'm using a business paypal. I've already enabled IPN.
  5. 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
  6. 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.
  7. 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:
  8. 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.
  9. 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.
  10. 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.
  11. 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.
  12. 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)
  13. Thank you! this all make sense now.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.