/* db\castle_db.txt
99,guild_vs2,guild_vs2 Test Castle,test flag,1
*/
guild_vs2,52,52,4 script testflag GUILD_FLAG,{
dispbottom "=========================";
.@gid = getcastledata("guild_vs2", 1); //CD_GUILD_ID == rathena , 1 == hercules
dispbottom "owner of the castle : "+( ( .@gid )? "["+ getguildname(.@gid) +"]" : "<none>" );
dispbottom "agit check : "+( ( agitcheck() )?"on":"off" );
dispbottom "gvg_castle mapflag : "+( ( getmapflag( strcharinfo(PC_MAP), mf_gvg_castle )?"on":"off" ) );
dispbottom "=========================";
end;
OnInit:
if ( agitcheck() == true )
// if ( agitcheck() == false && !getcastledata("guild_vs2", 1) || agitcheck() == true )
donpcevent strnpcinfo(0)+"::OnAgitStart";
setmapflag "guild_vs2", mf_gvg_castle;
flagemblem getcastledata("guild_vs2", 1);
setarray .map_woe0$, // yours woe map
"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",
"guild_vs2";
.size_map = getarraysize( .map_woe0$ );
setarray .mob,
// 1646,3, // Lord Knight Seyren
// 1647,3, // Assassin Cross Eremes
// 1648,3, // Whitesmith Harword
// 1649,3, // High Priest Magaleta
// 1650,3, // Sniper Shecil
// 1651,3, // High Wizard Katrinn
// 2235,3, // Paladin Randel
// 2236,3, // Creator Flamel
// 2237,3, // Professor Celia
// 2238,3, // Champion Chen
// 2239,3, // Stalker Gertie
// 2240,3, // Clown Alphoccio
// 2241,3; // Gypsy Trentini
1031, 3, //Poporing
1062, 3, //Santa Poring
1090, 3, //Mastering
// 1096, 3, //Angeling
1113, 3, //Drops
// 1120, 3, //Ghostring
1242, 3, //Marin
1388, 3, //Arc Angeling
// 1582, 3, //Deviling
1613, 3, //Metaling
1784, 3, //Stapo
2093, 3, //Botaring
1002, 3; //Poring
.mobsize = getarraysize(.mob);
end;
OnEmpBreak:
announce "The Emperium has fallen", bc_map|bc_woe;
killmonster strnpcinfo(4), strnpcinfo(0)+"::OnGuardianDead";
setcastledata "guild_vs2", 1, getcharid(2);
donpcevent "::OnRecvCastle123";
maprespawnguildid "guild_vs2", getcharid(2), 2;
sleep 7000;
if ( agitcheck() == false ) end;
OnAgitStart:
.@mobid = monster("guild_vs2",49,49,"EMPERIUM",1288,1,strnpcinfo(NPC_NAME)+"::OnEmpBreak");
setunitdata .@mobid, UDT_HP, 5;
setunitdata .@mobid, UDT_MAXHP, 5;
for( .@x = 0; .@x < getarraysize( .map_woe0$ ); .@x++ ) {
if ( getcastledata(.map_woe0$[.@x], 1) ) {
for ( .@i = 0; .@i < .mobsize; .@i += 2 ) {
guardian .map_woe0$[.@x], 0, 0, "--ja--", .mob[.@i], strnpcinfo(0)+"::OnGuardianDead";
}
} else {
for ( .@i = 0; .@i < .mobsize; .@i += 2 )
monster .map_woe0$[.@x], 0,0, "--ja--", .mob[.@i], .mob[.@i +1], strnpcinfo(0)+"::OnGuardianDead";
}
}
end;
OnAgitEnd:
killmonster strnpcinfo(4), strnpcinfo(0)+"::OnEmpBreak";
killmonster strnpcinfo(4), strnpcinfo(0)+"::OnGuardianDead";
for( .@i = 0; .@i < .size_map; .@i++ ) {
sleep2 1;
killmonsterall .map_woe0$[.@i];
}
end;
OnGuardianDead:
if (getmapflag(strcharinfo(PC_MAP), mf_gvg) == true) {
if ( getcastledata( strcharinfo(PC_MAP), 1 ) ) {
guardian strcharinfo(PC_MAP), 0,0,"--ja--", killedrid, strnpcinfo(0)+"::OnGuardianDead";
} else {
monster strcharinfo(PC_MAP), 0,0, "--ja--", killedrid, 1, strnpcinfo(0)+"::OnGuardianDead";
}
}
end;
OnAgitInit:
requestguildinfo getcastledata("guild_vs2", 1);
OnRecvCastle123:
flagemblem getcastledata("guild_vs2", 1);
end;
OnGuildBreak:
setcastledata "guild_vs2", 1, 0;
donpcevent "::OnRecvCastle123";
end;
}
99,guild_vs2,guild_vs2 Test Castle,test flag,1
*/
guild_vs2,52,52,4 script testflag GUILD_FLAG,{
dispbottom "=========================";
.@gid = getcastledata("guild_vs2", 1); //CD_GUILD_ID == rathena , 1 == hercules
dispbottom "owner of the castle : "+( ( .@gid )? "["+ getguildname(.@gid) +"]" : "<none>" );
dispbottom "agit check : "+( ( agitcheck() )?"on":"off" );
dispbottom "gvg_castle mapflag : "+( ( getmapflag( strcharinfo(PC_MAP), mf_gvg_castle )?"on":"off" ) );
dispbottom "=========================";
end;
OnInit:
if ( agitcheck() == true )
// if ( agitcheck() == false && !getcastledata("guild_vs2", 1) || agitcheck() == true )
donpcevent strnpcinfo(0)+"::OnAgitStart";
setmapflag "guild_vs2", mf_gvg_castle;
flagemblem getcastledata("guild_vs2", 1);
setarray .map_woe0$, // yours woe map
"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",
"guild_vs2";
.size_map = getarraysize( .map_woe0$ );
setarray .mob,
// 1646,3, // Lord Knight Seyren
// 1647,3, // Assassin Cross Eremes
// 1648,3, // Whitesmith Harword
// 1649,3, // High Priest Magaleta
// 1650,3, // Sniper Shecil
// 1651,3, // High Wizard Katrinn
// 2235,3, // Paladin Randel
// 2236,3, // Creator Flamel
// 2237,3, // Professor Celia
// 2238,3, // Champion Chen
// 2239,3, // Stalker Gertie
// 2240,3, // Clown Alphoccio
// 2241,3; // Gypsy Trentini
1031, 3, //Poporing
1062, 3, //Santa Poring
1090, 3, //Mastering
// 1096, 3, //Angeling
1113, 3, //Drops
// 1120, 3, //Ghostring
1242, 3, //Marin
1388, 3, //Arc Angeling
// 1582, 3, //Deviling
1613, 3, //Metaling
1784, 3, //Stapo
2093, 3, //Botaring
1002, 3; //Poring
.mobsize = getarraysize(.mob);
end;
OnEmpBreak:
announce "The Emperium has fallen", bc_map|bc_woe;
killmonster strnpcinfo(4), strnpcinfo(0)+"::OnGuardianDead";
setcastledata "guild_vs2", 1, getcharid(2);
donpcevent "::OnRecvCastle123";
maprespawnguildid "guild_vs2", getcharid(2), 2;
sleep 7000;
if ( agitcheck() == false ) end;
OnAgitStart:
.@mobid = monster("guild_vs2",49,49,"EMPERIUM",1288,1,strnpcinfo(NPC_NAME)+"::OnEmpBreak");
setunitdata .@mobid, UDT_HP, 5;
setunitdata .@mobid, UDT_MAXHP, 5;
for( .@x = 0; .@x < getarraysize( .map_woe0$ ); .@x++ ) {
if ( getcastledata(.map_woe0$[.@x], 1) ) {
for ( .@i = 0; .@i < .mobsize; .@i += 2 ) {
guardian .map_woe0$[.@x], 0, 0, "--ja--", .mob[.@i], strnpcinfo(0)+"::OnGuardianDead";
}
} else {
for ( .@i = 0; .@i < .mobsize; .@i += 2 )
monster .map_woe0$[.@x], 0,0, "--ja--", .mob[.@i], .mob[.@i +1], strnpcinfo(0)+"::OnGuardianDead";
}
}
end;
OnAgitEnd:
killmonster strnpcinfo(4), strnpcinfo(0)+"::OnEmpBreak";
killmonster strnpcinfo(4), strnpcinfo(0)+"::OnGuardianDead";
for( .@i = 0; .@i < .size_map; .@i++ ) {
sleep2 1;
killmonsterall .map_woe0$[.@i];
}
end;
OnGuardianDead:
if (getmapflag(strcharinfo(PC_MAP), mf_gvg) == true) {
if ( getcastledata( strcharinfo(PC_MAP), 1 ) ) {
guardian strcharinfo(PC_MAP), 0,0,"--ja--", killedrid, strnpcinfo(0)+"::OnGuardianDead";
} else {
monster strcharinfo(PC_MAP), 0,0, "--ja--", killedrid, 1, strnpcinfo(0)+"::OnGuardianDead";
}
}
end;
OnAgitInit:
requestguildinfo getcastledata("guild_vs2", 1);
OnRecvCastle123:
flagemblem getcastledata("guild_vs2", 1);
end;
OnGuildBreak:
setcastledata "guild_vs2", 1, 0;
donpcevent "::OnRecvCastle123";
end;
}
As we know that Thursday is emperium war day...
on server start map server spiting multiple error of these few lines may be 30 or more time.
[Error]: script_rid2sd: fatal error ! player not attached!
[Debug]: Function: strcharinfo (1 parameter):
[Debug]: Data: constant name='PC_MAP' value=3
[Debug]: Source (NPC): testflag at guild_vs2 (52,52)
[Status]: NPC_Event:[OnAgitStart] Run (49) Events by @AgitStart. << and then it ends here..
Last edited by a moderator: