-
Posts
10015 -
Joined
-
Days Won
396
Community Answers
-
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
-
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 (....)
-
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); }
-
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;
-
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 ...
-
Emistry's post in alootid list was marked as the answer
https://github.com/rathena/rathena/blob/8efd61f9b27dd5163d8f71f55f2025470f1254b3/src/config/core.hpp#L15
-
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; }
-
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
-
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?
-
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))];
-
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;
-
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;
-
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>";
-
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
-
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;
-
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; }
-
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.
-
Emistry's post in H> Crafting Item dont give reward if success was marked as the answer
https://pastebin.com/Mf9pxa04
-
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; }
-
Emistry's post in Old monster's health bar was marked as the answer
conf/battle/monster.conf#L187-L192
-
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; }
-
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
-
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.
-
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
-
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