Jump to content

Emistry

Forum Moderator
  • Posts

    10015
  • Joined

  • Days Won

    396

Community Answers

  1. Emistry's post in Raceto 99 NPC was marked as the answer   
    clear(); should only be called if there are any mes(); (aka npc dialog) displayed
  2. Emistry's post in adding another quest requirements causes error was marked as the answer   
    if(countitem(995) < 25 || countitem(749) < 10 || countitem(7066) < 50 || countitem(969) < 10 || countitem(4195) < 10) condition should be added inside the if (....) 
  3. Emistry's post in How to spawn not agressive mobs? was marked as the answer   
    .@total = 10; monster "prontera",0,0,"Quest Poring",1002,.@total,"NPCNAME::OnPoringKilled"; copyarray .@mob_gid, $@mobid, .@total; for (.@i = 0; .@i < .@total; .@i++) { getunitdata .@mob_gid[.@i], .@array; if (.@array[UMOB_MODE] & MD_AGGRESSIVE) setunitdata .@mob_gid[.@i], UMOB_MODE, (.@array[UMOB_MODE] - MD_AGGRESSIVE); }  
  4. Emistry's post in Reset Random Option was marked as the answer   
    shut down server, and execute these queries.
    UPDATE `cart_inventory` SET `option_id0` = 0,`option_val0` = 0,`option_parm0` = 0,`option_id1` = 0,`option_val1` = 0,`option_parm1` = 0,`option_id2` = 0,`option_val2` = 0,`option_parm2` = 0,`option_id3` = 0,`option_val3` = 0,`option_parm3` = 0,`option_id4` = 0,`option_val4` = 0,`option_parm4` = 0; UPDATE `guild_storage` SET `option_id0` = 0,`option_val0` = 0,`option_parm0` = 0,`option_id1` = 0,`option_val1` = 0,`option_parm1` = 0,`option_id2` = 0,`option_val2` = 0,`option_parm2` = 0,`option_id3` = 0,`option_val3` = 0,`option_parm3` = 0,`option_id4` = 0,`option_val4` = 0,`option_parm4` = 0; UPDATE `inventory` SET `option_id0` = 0,`option_val0` = 0,`option_parm0` = 0,`option_id1` = 0,`option_val1` = 0,`option_parm1` = 0,`option_id2` = 0,`option_val2` = 0,`option_parm2` = 0,`option_id3` = 0,`option_val3` = 0,`option_parm3` = 0,`option_id4` = 0,`option_val4` = 0,`option_parm4` = 0; UPDATE `mail_attachments` SET `option_id0` = 0,`option_val0` = 0,`option_parm0` = 0,`option_id1` = 0,`option_val1` = 0,`option_parm1` = 0,`option_id2` = 0,`option_val2` = 0,`option_parm2` = 0,`option_id3` = 0,`option_val3` = 0,`option_parm3` = 0,`option_id4` = 0,`option_val4` = 0,`option_parm4` = 0; UPDATE `storage` SET `option_id0` = 0,`option_val0` = 0,`option_parm0` = 0,`option_id1` = 0,`option_val1` = 0,`option_parm1` = 0,`option_id2` = 0,`option_val2` = 0,`option_parm2` = 0,`option_id3` = 0,`option_val3` = 0,`option_parm3` = 0,`option_id4` = 0,`option_val4` = 0,`option_parm4` = 0;  
  5. Emistry's post in Airship script missing npc was marked as the answer   
    you have disabled or removed the npc.... enable the NPC or remove it from the script ...
  6. Emistry's post in alootid list was marked as the answer   
    https://github.com/rathena/rathena/blob/8efd61f9b27dd5163d8f71f55f2025470f1254b3/src/config/core.hpp#L15
  7. Emistry's post in item to change the group was marked as the answer   
    7551,Ticket02,Ticket VIP 14 days,0.50,,70,,,,,0xFFFFFFFF,63.2,,,,,,{ doevent "vip_group_main::OnSetVIP"; },{},{} - script vip_group_main -1,{ OnSetVIP: vip_time(60 * 24 * 14); OnPCLoginEvent: if (vip_status(VIP_STATUS_ACTIVE)) { atcommand "@adjgroupid 7"; .@second = vip_status(VIP_STATUS_REMAINING); addtimer (.@second * 1000), strnpcinfo(3)+"::OnExpire"; dispbottom "VIP Expire in "+F_InsertComma(.@second)+" second(s)"; } end; OnExpire: atcommand "@adjgroupid 0"; end; }  
  8. Emistry's post in R> Script for Elite siege box enable to use in BM(skill slot) was marked as the answer   
    if not mistaken, change item type to 18
  9. Emistry's post in Debug error "Unknown NPC" was marked as the answer   
    perhaps you unloaded or reloaded the npc, while you or someone currently halfway talking with the NPC?
  10. Emistry's post in problem in the script (explosive_mining) was marked as the answer   
    set .@Debris,$Debris[rand(getarraysize($Debris))]; set .@Scatter,$Scatter[rand(getarraysize($Scatter))]; change to
    set .@Debris,.Debris[rand(getarraysize(.Debris))]; set .@Scatter,.Scatter[rand(getarraysize(.Scatter))];  
  11. Emistry's post in MVP Rank resetter was marked as the answer   
    you can try this
    for(set .@c, 0; .@c < $@top; set .@c, .@c+1) { setd "$topmvp" + .@c, 0; setd "$topmvp" + .@c + "$", ""; } dispbottom "MVP Ranking has been Reset."; query_sql("DELETE FROM `char_reg_num` WHERE `key` = 'MvP'"); close2; addrid(0); MvP = 0; end;  
  12. Emistry's post in BTS Modify ETC was marked as the answer   
    announce "Wow! The Seal has been annihilated by "+strcharinfo(0)+" He has just broken the seal and will start the quest of Valkyrie!","0x33FF66"; change to
    announce "Wow! The Seal has been annihilated by "+strcharinfo(0)+" He has just broken the seal and will start the quest of Valkyrie!", bc_all, 0x33FF66;  
  13. Emistry's post in Item search with Item Link Help was marked as the answer   
    mes "<ITEM>"+getitemname(.@matches[.@i]) +"<INFO>"+.@name$+"</INFO></ITEM> [" + getitemslots(.@matches[.@i]) + "]"; change into
    mes "<ITEM>"+.@matches[.@i]+"<INFO>"+getitemname(.@matches[.@i])+" [" + getitemslots(.@matches[.@i]) + "]</INFO></ITEM>";  
  14. Emistry's post in Regarding Mushroom Event was marked as the answer   
    //===== rAthena Script ======================================= //= Find the Mushroom //===== By: ================================================== //= Mysterious //===== Current Version: ===================================== //= 3.6a //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= //= Find the Mushroom - random amount of Mushrooms spawns in random maps. //= Players need to find these mushrooms and kill them to gain prizes! //===== Additional Comments: ================================= //= 3.0 Fully Functional with Rewritten script. [Mysterious] //= 3.6a Slightly edited. [Euphy] //============================================================ prontera,142,228,6 script Find the Mushroom 1084,{ mes "[ Find The Mushroom ]"; if (.status == 1) { .@count = mobcount( .event_map$, strnpcinfo(0) + "::OnMobKilled" ); if (.@count > 0) { mes "There are " + .@count + " Mushrooms left in " + .event_map$ + "!"; mes "Find and kill the mushrooms to gain " + getitemname(.prize) + "!"; close; } .event_map$ = ""; .status = 0; mes "All the mushrooms are killed?"; } mes "There is no event at the moment!"; if (.status || getgmlevel() < .GM) close; mes "Start the event?"; next; if (select("- No:- Yes") == 1) close; donpcevent strnpcinfo(0) + "::OnMinute30"; mes "[ Find The Mushroom ]"; mes "Event started!"; close; OnInit: .prize = 30000; // Reward item ID .amount = 1; // Reward item amount .GM = 60; // GM level required to access NPC setarray .maps_list$[0],"izlude","geffen","morocc","prontera"; // Possible maps end; OnMinute30: // Start time (every hour) if (.status) end; if (agitcheck() || agitcheck2() || agitcheck3()) end; .status = 1; .@spawn = rand(1,50); // How many Mushrooms should spawn? .event_map$ = .maps_list$[ rand(getarraysize(.maps_list$)) ]; .@label$ = strnpcinfo(0) + "::OnMobKilled"; killmonster .event_map$, .@label$; monster .event_map$,0,0,"Please don't kill me!",1084,.@spawn, .@label$; announce "We will be having Find Mushroom Event!",0; sleep 5000; announce "Total of " + .@spawn + " Mushrooms have been spawned in " + .event_map$ + ".",0; sleep 2500; announce "Every Mushroom you kill will give you 1 " + getitemname(.prize) + " and 1 Activity Point.",0; sleep 2500; announce "Now lets do this! Goodluck!",0; initnpctimer; end; OnTimer1800000: // max 1800 seconds. OnEnd: .status = 0; .event_map$ = ""; killmonster .event_map$, strnpcinfo(0) + "::OnMobKilled"; announce "The Find the Mushroom Event has ended. All the Mushrooms have been killed.",0; end; OnMobKilled: dispbottom "You got 1 Activity Point for Killing the Mushroom"; set #ACTIVITYPOINTS, #ACTIVITYPOINTS += 1; if (playerattached() == 0) end; getitem .prize, .amount; .@spawn = mobcount( .event_map$, strnpcinfo(0) + "::OnMobKilled" ); if (.@spawn > 0) announce "[ " + strcharinfo(0) + " ] has killed a Mushroom. There are now " + .@spawn + " Mushroom(s) left.",bc_map; else { donpcevent strnpcinfo(0) + "::OnEnd"; } end; } try
  15. Emistry's post in NPC Dialogue Box Counting Upwards was marked as the answer   
    set .@left, 50 - $giveaway; mes .@left + " Items left."; change to
    mes "Give Away: "+ $giveaway;  
  16. Emistry's post in Enable/disable npc in certains different day and time was marked as the answer   
    prontera,139,219,3 script NPC 99,{ mes "helo"; close; OnInit: OnMinute00: if ((gettime(DT_DAYOFWEEK) == SUNDAY && gettime(DT_HOUR) >= 18 && gettime(DT_HOUR) < 19) // Day A 1800~1900 || (gettime(DT_DAYOFWEEK) == MONDAY && gettime(DT_HOUR) >= 19 && gettime(DT_HOUR) < 20) // Day B 1900~2000 ) { hideoffnpc strnpcinfo(0); } else { hideonnpc strnpcinfo(0); } end; }  
  17. Emistry's post in Quest npc with requirement to kill a specific monster was marked as the answer   
    use the quest system instead, it covered both monster kill and time limit.
  18. Emistry's post in H> Crafting Item dont give reward if success was marked as the answer   
    https://pastebin.com/Mf9pxa04
  19. Emistry's post in Daily Quest and MVP Room was marked as the answer   
    1. try this
    https://pastebin.com/raw/ZL6iPLsJ
     
    2.
     change
    set CooldownQuest,gettimetick(2); into
    set CooldownQuest,gettime(8); change
    if(gettimetick(2) - CooldownQuest < (60 * 60 * 24)) { next; mes "[ Daily Quest ]"; mes "^FF0000Sorry you have to wait 24 Hours until you can do the Quest again!^000000"; close; } into
    if(CooldownQuest == gettime(8)) { next; mes "[ Daily Quest ]"; mes "^FF0000Sorry you have to wait 24 Hours until you can do the Quest again!^000000"; close; }  
  20. Emistry's post in Old monster's health bar was marked as the answer   
    conf/battle/monster.conf#L187-L192
  21. Emistry's post in Gold room error and adding limit for 300mins was marked as the answer   
    // https://rathena.org/board/topic/123699-goldroom-adding-limit-for-300mins/ prontera,155,181,5 script Sample#goldroom 4_F_KAFRA1,{ doevent "gold_room_main::OnTalk"; } // warp portal back prontera ordeal_3-2,123,123,0 warp gold_room_back_prt 1,1,prontera,155,181 // peco peco summon ordeal_3-2,0,0,0,0 monster Peco Peco 1019,200,60000,0,"gold_room_main::OnKill" - script gold_room_main -1,{ OnInit: // gold room map .map$ = "ordeal_3-2"; // entrance fee .zeny_cost = 200000; // rate to get gold .rate = 50; // gold random amount setarray .gold_amount,1,5; setmapflag .map$,mf_noteleport; setmapflag .map$,mf_pvp; setmapflag .map$,mf_pvp_noguild; setmapflag .map$,mf_pvp_noparty; setmapflag .map$,mf_nobranch; setmapflag .map$,mf_nosave; setmapflag .map$,mf_nomemo; setmapflag .map$,mf_noreturn; setmapflag .map$,mf_nowarp; setmapflag .map$,mf_nowarpto; end; OnTalk: mes "Enter Gold Room ?"; if ( .zeny_cost ) mes F_InsertComma( .zeny_cost ) + " Zeny"; switch ( select( "Enter Gold Room", "Exchange Gold Point", "Cancel" )) { case 1: if (gettimetick(0) < #GOLDROOM_CD) { mes "You can only re-enter after "+(#GOLDROOM_CD - gettimetick(0))+" seconds."; } else if ( Zeny < .zeny_cost ) { mes "Not enough Zeny."; } else { #GOLDROOM_CD = gettimetick(0) + (12 * 60 * 60 * 1000); // 12 hours cooldown. Zeny -= .zeny_cost; deltimer strnpcinfo(3)+"::OnKick"; addtimer (300 * 60 * 1000), strnpcinfo(3)+"::OnKick"; warp .map$,0,0; } break; case 2: mes "You got "+F_InsertComma( #GOLDPOINTS )+" Points"; input .@value,0,#GOLDPOINTS; if ( checkweight( 969, .@value ) ) { #GOLDPOINTS -= .@value; getitem 969,.@value; mes "Gained "+.@value+" Gold."; } else { mes "You overweight."; } default: break; } close; OnKick: if (strcharinfo(3) == .map$) { dispbottom "Gold Room : Time's UP !"; warp "SavePoint", 0, 0; } end; OnKill: if ( .rate < rand( 100 ) ) { .@point = rand( .gold_amount[0],.gold_amount[1] ); #GOLDPOINTS += .@point; dispbottom "Gained "+.@point+" Point. You got "+F_InsertComma( #GOLDPOINTS )+" Points now."; } end; OnPCDieEvent: .@killerrid = killerrid; if ( strcharinfo(3) == .map$ && .@killerrid != getcharid(3) && getmonsterinfo( .@killerrid,MOB_NAME ) != "null" ) { #GOLDPOINTS = 0; dispbottom "You died, you lost all the point."; } end; }  
  22. Emistry's post in NPC event not found was marked as the answer   
    //================================================== // jawaii - Jawaii, the Honeymoon Island //================================================== jawaii,207,290,10,10 monster Phen 1158,3,3600000,1800000,1234 remove the 1234
  23. Emistry's post in Add race points for players inside left the map.. was marked as the answer   
    job_sword1,223,167,4 script Race Prizer 45,1,1,{ switch ( .winner_count++ ) { case 1: announce "[ Race Manager ] : Congratulation " + strcharinfo(0) + ", You have successfully finish all course you are the 1st place !!",0; getitem 7227,1; dispbottom "You earned 80 Race Points for being first place."; set #racepoints,#racepoints+80; warp "prontera",150,150; break; case 2: announce "[ Race Manager ] : Congratulation " + strcharinfo(0) + ", You have successfully finish all course you are the 2nd place !!",0; getitem 7227,1; dispbottom "You earned 50 Race Points for being second place."; set #racepoints,#racepoints+50; warp "prontera",150,150; break; case 3: announce "[ Race Manager ] : Congratulation " + strcharinfo(0) + ", You have successfully finish all course you are the 3rd place !!",0; mapannounce "job_sword1","[ Race Manager ] : Hurry up for 4th Place Guys Go go go go !!!",0; getitem 7227,1; dispbottom "You earned 35 Race Points for being third place."; set #racepoints,#racepoints+35; warp "prontera",150,150; break; case 4: initnpctimer; default: announce "[ Race Manager ] : Congratulation " + strcharinfo(0) + ", You have successfully finish all course you are the "+.winner_count+"th place !!",0; getitem 675,1; dispbottom "You earned 20 Race Points for being "+.winner_count+"th place."; set #racepoints,#racepoints+20; warp "prontera",150,150; break; } end; OnTimer30000: stopnpctimer; mapannounce "job_sword1","[ Race Manager ] : We already got our "+.winner_count+" winners better luck next time, Race Event is now over warping all back to town those who left inside the map !!",bc_map; set .winner_count,0; mapwarp "job_sword1","prontera",150,150; mapwarp "arena_room","prontera",150,150; disablenpc "Race Prizer"; disablenpc "RaceGO"; close; } 30 seconds after 4th winner, 5th winners still can get the rewards.
  24. Emistry's post in Item Shop with different coins as payment was marked as the answer   
    use the quest shop instead. 
    npc/custom/quests/quest_shop.txt
     
  25. Emistry's post in Status Icons Timer was marked as the answer   
    conf/battle/client.conf#L108-L110
    // Set this to 1 if your client supports status change timers and you want to use them // Clients from 2009 onward support this display_status_timers: yes set to no
×
×
  • Create New...