Back up your old map_cache.dat
And i also dunno but i just noticed this on the map's .gat
That black stuff pointed with the red arrow should be the one causing the immovable cell but i think that should be that tent. Either way try the map_cache i uploaded.
map_cache (re-cached).rar
wanted to as how to make it work for AFK people
i mean people can get the reward too even if they are afk been rescripting it for a day now cant get it to work! it works on people that are moving around
TIA hope someone can help this noob that is me hahaha!
Find:
//Check if Idle
getmapxy( .@map$, .@x, .@y, 0 );
if(@map$ == .@map$ && @x == .@x && @y == .@y) {
set @afk, @afk + 1;
}
If move timer resets
else {
set @afk, 0;
}
end;
set @map$, .@map$; set @x, .@x; set @y, .@y;
Idle Check for 5 Minutes
if(@afk == 0) {
dispbottom "The hourly points event stopped because you were idle for 5 minutes. Please relog if you wish to start again.";
stopnpctimer;
}
Replace:
//Check if Idle
getmapxy( .@map$, .@x, .@y, 0 );
if(@map$ == .@map$ && @x == .@x && @y == .@y) {
set @afk, @afk + 1;
}
//If move timer resets
else {
set @afk, 0;
}
/*
set @map$, .@map$; set @x, .@x; set @y, .@y;
//Idle Check for 5 Minutes
if(@afk == 5) {
dispbottom "The hourly points event stopped because you were idle for 5 minutes. Please relog if you wish to start again.";
stopnpctimer;
end;
}
*/
end;
Now if you also wanna reward people who're AFK with chatroom,
Find:
OnTimer30000:
//Check if Vending (normal or @at)
if(checkvending() >= 1 || checkchatting() == 1)
Replace:
OnTimer30000:
//Check if Vending (normal or @at)
if(checkvending() >= 1)
Basically you just erase that checkchatting() == 1, so that makes it only people who're vending / autovending will be excluded on the rewards.
I guess the ones with mount are the following:
Job_Knight2 13
Job_Crusader2 21
Job_Lord_Knight2 4014
Job_Paladin2 4022
Job_Baby_Knight2 4036
Job_Baby_Crusader2 4044
Job_Rune_Knight2 4080
Job_Royal_Guard2 4082
Job_Mechanic2 4086
Job_Baby_Rune2 4109
Job_Baby_Guard2 4110
Job_Baby_Mechanic2 4112
Try making the SpriteID into one of those of you desire,
Try this:
Find:
case AC_DOUBLE:
if( pc_checkskill(sd, HT_POWER)) {
duration = 2000;
nodelay = 1; //Neither gives walk nor attack delay
target_id = 0; //Does not need to be used on previous target
}
break;
Replace it to:
case AC_DOUBLE:
sc_start(src,bl,SC_STUN,(2*skill_lv+10),skill_lv,skill_get_time2(skill_id,skill_lv));
if( pc_checkskill(sd, HT_POWER)) {
duration = 2000;
nodelay = 1; //Neither gives walk nor attack delay
target_id = 0; //Does not need to be used on previous target
}
break;
For bash skill, i think fatal blow will do the job.
I think you need to re-cache your mapcache with the old morocc's gat file.
Can you also walk in the middle?
yes i can walk in middle map of morocc
moc.jpg
how to re-cache morocc with the old morocc's gat file?
kidly help me and link me where to download old morocc's gat file.
Thanks
Just give me your current mapcache.dat in your db folder and the old morocc's .gat file and I'll do it.
I think it's because your item ID is 50000 while max you can use is 1 - 32867 according to this topic: https://rathena.org/board/topic/76587-max-item-limit/(But you can increase it as well)
Try making the item ID to 25000
Or:
1201,Knife,Knife,5,50,,400,17,,1,3,0xFE9F7EEF,7,2,2,1,1,1,1,{ misceffect 375; },{},{}
[ Effect #375 = Assumptio visual effect ]
The only difference is when knife is equipped and while knife is equipped and you're switching gears, the assumptio effect will occur as long as knife is equipped.
but i confused where is i must put this script. i try it but its not work.
please help .
One alternate solution:
https://rathena.org/board/topic/83076-broadcast-if-successful-forging-items/?p=201347
Thanks for your relpy / help
but its no work have u another ?
Thanks for reply / help
but its also no work have u another too?
if GM Level 99 not announce but if player it will announce the script.
thanks who can help it.
Here, tested and working:
//--------------Script by : Akbar'e---------------------
//---------------http://forum.akbare.com----------------
// Thanks to
// ROCREW
//=======================================================
- script login -1,{
OnPCLoginEvent:
if (getgmlevel() < 98) {
announce "Welcome , [ "+strcharinfo(0)+" ] | Play get u'r Friends and Love.",bc_yellow|bc_all;
} else {
close;
}
}
Try this:
prontera,56,231,4 script Event Warper 76,{
if( getgmlevel() < 80 ) {
mes "You are not a GM with level 80 or higher, GTFO!";
close;
}
digit:
// Input map and name
mes "Hello "+strcharinfo(0)+", what do you wish to do?";
switch( select ("Set an Event:Set an Event Map:Set a winner:Announce an Event")) {
case 1:
mes "Do you want to set an Event ?";
if( select ("Yes:No") == 2) goto digit;
mes "Input the name of the event you want to perform";
input .@ev_name$;
mes "["+.@ev_name$+"] is correct?";
if( select ("Yes:No") == 2) goto digit;
set $@ev_name$,.@ev_name$;
mes "Event Name set to ["+$@ev_name$+"]";
goto digit;
case 2:
if($@ev_map$!="")mes "Actual Event Map is "+$@ev_map$;
else mes "No current event maps.";
mes "Do you want to set an Event Map?";
if( select ("Yes:No") == 2) goto digit;
mes "Input the map where you want the event to take place";
input .@ev_map$;
mes "["+.@ev_map$+"] is correct?";
if( select ("Yes:No") == 2) goto digit;
set $@ev_map$,.@ev_map$;
mes "Event Map set to ["+$@ev_map$+"]";
goto digit;
case 3:
// Be careful not to @reloadscript between the end of the event and the rewarding.
if( $@ev_name$=="") {
mes "You activated no events.";
close;
}
// Rewarding a player will also reset the event map and name
mes "Who do you want to reward for winning "+$@ev_name$+" event?";
input .@player$;
mes "["+.@player$+"] is correct?";
if( select ("Yes:No") == 2) close;
announce .@player$+" won the "+$@ev_name$+" event.",0;
//Remove this if you manage not to give any reward.
if( isloggedin(getcharid(3,.@player$))) getitem 7227,5,getcharid(3,.@player$);
set $@ev_map$,"";
set $@ev_name$,"";
close;
case 4:
if( $@ev_name$=="" || $@ev_map$=="") {
mes "Before activating an event you must input a Map and a Name.";
goto digit;
}
break;
}
mes "Do you want to activate "+.@ev_name$+" event in "+$@ev_map$+" map?";
if( select ("Yes:No") == 2) close;
announce strcharinfo(0)+" opens the Event Warp to "+.@ev_map$+" for "+.@ev_name$+" event.",0;
enablenpc "Event Warper";
setnpctimer 0;
initnpctimer;
sleep 5000;
announce "3 minutes left to join the event. Use 'Event Warper' to subscribe and warp in the event map.",0;
end;
OnTimer60000:
announce "2 minutes left to join the event. Use 'Event Warper' to subscribe and warp in the event map.",0;
end;
OnTimer120000:
announce "1 minutes left to join the event. Use 'Event Warper' to subscribe and warp in the event map.",0;
end;
OnTimer180000:
announce "'Event Warper' closed. None can join the event anymore.",0;
disablenpc "Event Warper";
end;
}
// Event Warper
prontera,70,240,3 script Event Warper2 100,{
// Should never happen.
if($@ev_map$=="") end;
mes "Do you want to warp to the event map? ("+$@ev_map$+")";
if( select("Yes:No") == 2) close;
warp $@ev_map$,0,0;
end;
}
That script actually works, you just did not edited this line:
// Event Warper
<map>,<x>,<y>,<facing>%TAB%script%TAB%Event Warper%TAB%<sprite>,{
// Should never happen.
if($@ev_map$=="") end;
mes "Do you want to warp to the event map? ("+$@ev_map$+")";
if( select("Yes:No") == 2) close;
warp $@ev_map$,0,0;
end;
}
Now if you wanna change the prize find this line:
if( isloggedin(getcharid(3,.@player$))) getitem 7227,5,getcharid(3,.@player$);
and change 7227 (item ID) and 5 (amount)
Try this:
4064,Zerom_Card,Zerom Card,6,20,,10,,,,,,,,136,,,,,{ if(isequippedcnt(4064)>=2) {} else { bonus bDex,3; } },{},{}
Only thing about it is when you equip 2 zerom cards together, the +3 dex from the first zerom will be reduced. In other words it's just like you equipped a clip with 2 - 4 zerom cards without any zerom in it since it'll be +0 DEX when 2 or more zerom cards are equipped.
EDIT: My explanation is crap so you could just test it in-game lol.