-
Content Count
333 -
Joined
-
Last visited
-
Days Won
8
Posts posted by astralprojection
-
-
anyway, i will release full script after i finish in a while.
-
1. Delete or Comment all MVP and mini boss spawn at npc/pre-re/mobs/dungeons/ or /fields.
2. add all MobID, spawn time and map of mvp to array.
OnInit: setarray .mvpid[0],1511,1039; <- osiris and baphomet setarray .mvptime[0],60,60; setarray .mvpmaps$[0],"moc_pryd06","prt_maze03";
3. Upon script load add global variables to each item in .mvpid and initialize timer.
OnInit: /* Loop to each mvp. lets set global variable getd("$S"+.mvpid[.@i] = 0 <- not set getd("$S"+.mvpid[.@i] = 1 <- alive getd("$S"+.mvpid[.@i] = 2 <- dead */ for( .@i = 0; .@i < getarraysize(.mvpid); .@i++ ) { /* if variable is not yet set or getd("$S"+.mvpid[.@i] < 2 (alive or not set) OR time from setarray .mvptime[0] has elapse setd("$S"+.mvpid[.@i],1); (alive) spawn .mvpid[.@i] } */ } initnpctimer();
4 Check every 1 minutes
OnTimer60000: for( .@i = 0; .@i < getarraysize(.mvpid); .@i++ ) { /* same thing just check on each mvp if flag is dead then skip, if alive then spawn. if variable is not yet set or getd("$S"+.mvpid[.@i] < 2 (alive or not set) OR time from setarray .mvptime[0] has elapse set global mvp status variable to (alive) clear global mvp death variable. spawn .mvpid[.@i] } */ } initnpctimer();
5. Finally, record if mvp is killed and set flag to killed.
/* must load that useful function array_find from meko https://herc.ws/board/files/file/326-array-manipulation-functions/ */ OnNPCKillEvent: if(array_find(.mvpid, killedrid) >= 0 ){ // check if monster killed is part of your mvp array // loop to that array until it matches mvpid and map for( .@i = 0; .@i < getarraysize(.mvpid); .@i++ ) { // if match then set variable to dead and set the global mvptime variable to timestamp. break; } } end;
-
-
is there any reason why we need to do that?
-
36 minutes ago, Samuel said:can't say if it's packet related, i don't have a 2010 client with me
i was using a 2019 client for the test and not RE client as wellits not only 2010, i have tried 2018 , its also same. i saw this report also https://github.com/HerculesWS/Hercules/issues/2925
-
1 hour ago, Samuel said:Renewal? Or pre-renewal?
PRE-RE
2010-07-30aRagexeRE -
4 hours ago, Samuel said:can't reproduce this
are you using latest hercules? and any modifications made in src?
yes using latest herc now with no mod and using official database. Sometimes its okay, but there are times that i experience the issue for unknown reason.
-
- i press Butterfly, 2x not working.
- 3rd time working.
- i warp to dungeons and press flywing (it brings me to savepoint).
too annoying -
Still getting this nasty unknown HERC itemskill bug. Still not able to identify how to simulate.
PRE-RE
- Using flywing, butterfly wing or other consumable dont function but deduct item from inventory.I hope it will be fix, its been long time experience this issue with players.
-
excited
-
1. its usually inter-network issue, if you host your server at Singapore and player connecting from Europe, then you will be having lots of those packet loss.
2. Your net provider (ISP) maybe having issue or maintenance along the route.
3. You maybe have high net usage at your home network. -
account id in your database has 8 digit while your account id in your clientinfo has 7 only.
-
On 12/23/2020 at 10:09 PM, fiction said:If you want to disable skill in certain maps, you need to configure a map_zone.
https://github.com/HerculesWS/Hercules/blob/master/npc/mapflag/zone.txt
https://github.com/HerculesWS/Hercules/blob/master/db/pre-re/map_zone_db.conf
or
https://github.com/HerculesWS/Hercules/blob/master/db/re/map_zone_db.conf
correct me if im wrong map zone only prevents u to cast a skill, if u enter a restricted zone with that buff, it will ignore it
-
-
are there any modification on eddga card script? check if it has
OnUnequipScript: <" sc_end SC_ENDURE; "> -
check if you have other items equip with endure bonus.
-
-
Thanks for the answer. that is why thanks also for sharing the workaround.
-
Been looking but i cant figure this out.
1. I made a custom ID of WHITE_POTION > WHITE_POTION_F and copy the script.
2. the healing actually works but i missed that white potion visual effect when you use the item.
I hope someone can help me out. -
not tested by u can try
- script woe_joblimit FAKE_NPC,{ end; OnPCLoadMapEvent: .@guild_id = getcharid(CHAR_ID_GUILD); if (!.@guild_id || !getmapflag(strcharinfo(PC_MAP), MF_GVG_CASTLE) || !agitcheck() || !agitcheck2() ) end; if(.joblimit){ .@origin = playerattached(); .@class = Class; .@map$ = strcharinfo(PC_MAP); .@climit = 0; getguildmember getcharid(CHAR_ID_GUILD), 1; getguildmember getcharid(CHAR_ID_GUILD), 2; for ( .@i = 0; .@i < $@guildmembercount; ++.@i ) { if (isloggedin( $@guildmemberaid[.@i], $@guildmembercid[.@i] ) == 0) { continue; } else { if (attachrid($@guildmemberaid[.@i])) { if( .@class == Class && strcharinfo(PC_MAP) == .@map$ ) { ++.@climit; } } } } if ( .@origin ) { attachrid(.@origin); if(.@climit > .joblimit){ message strcharinfo(0), "REGULATION: Your guild reached the max of ( "+.joblimit+" ) "+jobname(Class)+" that can join the siege."; warp "SavePoint",0,0; } } else { detachrid; } } end; OnInit: .joblimit = 6; setarray .castle$[0], "aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05", "gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05", "payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05", "prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05", "arug_cas01","arug_cas02","arug_cas03","arug_cas04","arug_cas05", "schg_cas01","schg_cas02","schg_cas03","schg_cas04","schg_cas05"; for (.@i = 0; .@i < 30; ++.@i) { setmapflag .castle$[.@i], MF_GVG_CASTLE; setmapflag .castle$[.@i], MF_LOADEVENT; } end; }
-
i would not recommend any. its better to learn it by your self rather than hire people. what will happen if that person leaves you in the mid? you will not know what to do = server close. try a test server in local machine 1st and figure it out.
-
what does it do.?
-
very nice tutorial indeed. can you also add
IF NOT EXIST
INSERT
ELSE
UPDATE
Thanks for the guide.
-
check in your script.c if you have entry
BUILDIN(get_unique_id) { char temp[20]; struct map_session_data* sd = script_rid2sd(st); if (sd == NULL) { script_pushconststr(st, ""); return false; } sprintf(temp, "%lu", sockt->session[sd->fd]->gepard_info.unique_id); script_pushstrcopy(st, temp); return true; }
static void script_parse_builtin(void) { struct script_function BUILDIN[] = { BUILDIN_DEF(get_unique_id, ""),
MvP Controller
in Utility Releases
Posted · Edited by astralprojection
What does it do?
- prevents spawn of mvp on each server starts or reload.
- spawns mvp or mini only at specific time based when it was killed + spawn time
- reward x top mvp killers.
Cons:
- you can not use convex mirrors to show mvp in the map
- you can not find mvp using @whereis.
How to use:
- Delete or Comment target MVP and mini boss spawn from your npc/pre-re/mobs/dungeons/ or /fields.
- Add these mvps to array.
FAQ:
#Q1 What the heck is this?
#A1: since there are same kind of MVP spawn on multile map (i.e Angeling spawns at pay_fild04, xmas_dun01, yuno_fild03) those numbers are the unique identifiers.
if there is only 1 spawn, then just write 1.
succeeding spawn is 2 then 3 ....
All other suggestions to simplify and improve @AnnieRuru yohoo! my master.