// Supplies and Item Shop
06guild_r,78,76,4,25001 sshop Headgear's#1::number1 112,5288:1,5401:1,5471:1,5362:1,5361:1,5462:1,5225:1,5420:1,5313:1,5375:1,5389:1,5325:1,5463:1,5372:1,5379:1,5137:1,5377:1,5800:1,18511:1,5376:1,5314:1,5155:1,18510:1,18508:1,18509:1,18506:1,5423:1,5224:1
06guild_r,67,76,4 shop Cards#1::number2 113,4035:-1,4092:-1,4004:-1,4043:-1,4031:-1,4058:-1,4133:-1,4381:-1,4079:-1,4064:-1
06guild_r,71,76,4 shop Weapons#1::number3 114,1208:-1,1108:-1,1117:-1,1408:-1,1464:-1,1302:-1,1352:-1,1514:-1,1602:-1,1705:-1,1802:-1,1902:-1,1953:-1,1550:-1,1251:-1
06guild_r,74,76,4 shop Armors#1::number4 115,2310:-1,2102:-1,2504:-1,2404:-1,2621:-1,2624:-1
06guild_r,132,76,4,25001 sshop Headgear's#2::number5 112,5288:1,5401:1,5471:1,5305:1,5362:1,5361:1,5462:1,5225:1,5420:1,5313:1,5375:1,5389:1,5325:1,5463:1,5372:1,5379:1,5137:1,5377:1,5800:1,18511:1,5376:1,5314:1,5155:1,18510:1,18508:1,18509:1,18506:1,5423:1,5224:1
06guild_r,121,76,4 shop Cards#2::number6 113,4035:-1,4092:-1,4004:-1,4043:-1,4031:-1,4058:-1,4133:-1,4381:-1,4079:-1,4064:-1
06guild_r,125,76,4 shop Weapons#2::number7 114,1208:-1,1108:-1,1117:-1,1408:-1,1464:-1,1302:-1,1352:-1,1514:-1,1602:-1,1705:-1,1802:-1,1902:-1,1953:-1,1550:-1,1251:-1
06guild_r,128,76,4 shop Armors#2::number8 115,2310:-1,2102:-1,2504:-1,2404:-1,2621:-1,2624:-1
- script disable -1,{
OnInit:
disablenpc "number1";
disablenpc "number2";
disablenpc "number3";
disablenpc "number4";
disablenpc "number5";
disablenpc "number6";
disablenpc "number7";
disablenpc "number8";
disablenpc "PVPB";
end;
OnDisable:
disablenpc "number1";
disablenpc "number2";
disablenpc "number3";
disablenpc "number4";
disablenpc "number5";
disablenpc "number6";
disablenpc "number7";
disablenpc "number8";
end;
OnEnable:
enablenpc "number1";
enablenpc "number2";
enablenpc "number3";
enablenpc "number4";
enablenpc "number5";
enablenpc "number6";
enablenpc "number7";
enablenpc "number8";
end;
}
- script mainevent -1,{
OnInit:
setwall "06guild_r",74,78,4,2,0,"TeamAWall";
setwall "06guild_r",128,78,4,2,0,"TeamBWall";
setarray .delitem[0],5288,5401,5471,515,5362,5361,5462,5225,5420,5313,5375,5389,5325,5463,5372,5379,
5137,5377,5800,18511,5376,5314,5155,18510,18508,18509,18506,5423,5224,4035,4092,
4004,4043,4031,4058,4133,4381,4079,4064,2310,2102,2504,2404,2621,2624,1208,1108,
1117,1408,1464,1302,1352,1514,1602,1705,1802,1902,1953,1550,1251,25001,14003,645,
657,656,678,12009,1751,715,716,717,7136,7135;
setarray .delitems[0],14003,645,657,656,678,601,12009,1751,715,716,717,7136,7135;
setarray .BMap$[0],"guild_vs1","guild_vs2","guild_vs3","guild_vs4","guild_vs5";
setarray .Xa[0],7,7,16,7,19;
setarray .Ya[0],49,49,50,49,49;
setarray .Xb[0],92,92,83,92,80;
setarray .Yb[0],49,49,50,49,49;
set .MaxMembers,1;
set .Zeny,1000000;
set $teama$,"Null";
set $teamb$,"Null";
set .Map$,"06guild_r";
set .gmlvl, 1;
// Commands
bindatcmd "gvgteam","mainevent::OnDoTeam",50,99;
bindatcmd "gvgnpcitem","mainevent::OnDoNpcItem",99,99;
bindatcmd "gvgsupply","mainevent::OnDoSupply",99,99;
bindatcmd "gvgstart","mainevent::OnDoStart",99,99;
bindatcmd "gvgtimer","mainevent::OnDoTimer",99,99;
bindatcmd "gvgdismiss","mainevent::OnDoDismiss",99,99;
bindatcmd "gvgreset","mainevent::OnDoReset",99,99;
end;
//-------------------------------------------------------------------------------------//
//-------------------------------------------------------------------------------------//
//-------------------------------------------------------------------------------------//
OnDoReset:
set $teama$,"Null";
set $teamb$,"Null";
dispbottom "Team's has been reset";
end;
//-------------------------------------------------------------------------------------//
//-------------------------------------------------------------------------------------//
//-------------------------------------------------------------------------------------//
OnDoTeam:
if ( compare( .@atcmd_parameters$, "A" )) {
if( $teama$ != "Null" ){
dispbottom "Party "+$teama$+" are still registered.";
end;
}
input .@teama$;
query_sql ("SELECT `party_id`,`name` FROM `party` WHERE `name` = '"+.@teama$+"'",.@pid,$teama$);
if (!.@pid){
dispbottom "Invalid party name.";
end;
}else{
getpartymember .@pid, 1;
getpartymember .@pid, 2;
}
if ($@partymembercount != .MaxMembers ){
dispbottom "Party members is not equal to "+.MaxMembers+" members.";
end;
}else{
set .@team$, $teama$;
set .@x,73;
set .@y,69;
}
}
else if ( compare( .@atcmd_parameters$, "B" )) {
if( $teamb$ != "Null" ){
dispbottom "Party "+$teamb$+" are still registered.";
end;
}
input .@teamb$;
query_sql ("SELECT `party_id`,`name` FROM `party` WHERE `name` = '"+.@teamb$+"'",.@pid,$teamb$);
if (!.@pid){
dispbottom "Invalid party name.";
end;
}else{
getpartymember .@pid, 1;
getpartymember .@pid, 2;
}
if ($@partymembercount != .MaxMembers ){
dispbottom "Party members is not equal to "+.MaxMembers+" members.";
end;
}else{
set .@team$, $teamb$;
set .@x,127;
set .@y,69;
}
}
else {
end;
}
dispbottom "Team ["+.@team$+"] has been warped.";
for( set .@i, 0; .@i < .MaxMembers; set .@i, .@i + 1 ){
if(isloggedin($@partymemberaid[.@i],$@partymembercid[.@i])){
attachrid $@partymemberaid[.@i];
if(strcharinfo(3) == .Map$) {end;}
if(Class == Job_Whitesmith || Class == Job_Creator){
atcommand "@clearcart";
}
unequip EQI_HEAD_TOP;
unequip EQI_ARMOR;
unequip EQI_HAND_L;
unequip EQI_HAND_R;
unequip EQI_GARMENT;
unequip EQI_SHOES;
unequip EQI_ACC_L;
unequip EQI_ACC_R;
unequip EQI_HEAD_MID;
unequip EQI_HEAD_LOW;
atcommand "@storeall";
set Zeny, Zeny + .Zeny;
getitem 25001,3;
warp .Map$,.@x,.@y;
savepoint .Map$,.@x,.@y;
}
}
end;
//-------------------------------------------------------------------------------------//
//-------------------------------------------------------------------------------------//
//-------------------------------------------------------------------------------------//
OnDoNpcItem:
donpcevent "disable::OnEnable";
mapannounce ""+.Map$+"","Admin: You have 3 minutes to set-up your items.",0;
sleep2 120000;
mapannounce ""+.Map$+"","Admin: You have 1 minute left to set-up your items.",0;
sleep2 60000;
mapannounce ""+.Map$+"","Admin: Time's up.",0;
donpcevent "disable::OnDisable";
goto OnDoSupply;
end;
//-------------------------------------------------------------------------------------//
//-------------------------------------------------------------------------------------//
//-------------------------------------------------------------------------------------//
OnDoSupply:
donpcevent "mainevent::OnSupply1";
donpcevent "mainevent::OnSupply2";
set .count_online1,0;
set .count_online2,0;
donpcevent "mainevent::OnDoStart";
end;
OnSupply1:
query_sql ("SELECT `party_id` FROM `party` WHERE `name` = '"+$teama$+"'",.@pid);
getpartymember .@pid, 2;
for( set .@i, 0; .@i < .MaxMembers; set .@i, .@i + 1 ){
attachrid $@partymemberaid[.@i];
if(strcharinfo(3) != .Map$) {end;}
if (getgmlevel() >= .gmlvl){end;}
if(Class == Job_Whitesmith || Class == Job_Creator){atcommand "@clearcart";}
getinventorylist;
for(set .@k,0; .@k<getarraysize(.delitems); set .@k,.@k+1){
if(countitem( .delitems[.@k]) > 0){
delitem .delitems[.@k],countitem(.delitems[.@k]);
}
}
if (Class == Job_Lord_Knight || Class == Job_Paladin || Class == Job_Knight || Class == Job_Crusader){
getitem 14003,5; getitem 657,10;
}else if(Class == Job_Assassin_Cross || Class == Job_Assassin){
getitem 14003,5; getitem 656,10; getitem 678,3;
}else if(Class == Job_Stalker || Class == Job_Rogue){
getitem 14003,5; getitem 657,10;
}else if(Class == Job_Sniper || Class == Job_Clown || Class == Job_Gypsy || Class == Job_Hunter || Class == Job_Bard || Class == Job_Dancer){
getitem 14003,5; getitem 656,10; getitem 12009,2;
}else if(Class == Job_High_Wizard || Class == Job_Professor || Class == Job_Wizard || Class == Job_Sage){
getitem 14003,5; getitem 656,10; getitem 717,75; getitem 716,75; getitem 715,75;
}else if(Class == Job_High_Priest || Class == Job_Priest){
getitem 14003,5; getitem 645,10; getitem 717,75;
}else if(Class == Job_Champion || Class == Job_Monk){
getitem 14003,5; getitem 656,10;
}else if(Class == Job_Whitesmith || Class == Job_Blacksmith){
getitem 14003,5; getitem 657,10; getitem 601,1600;
}else if(Class == Job_Creator || Class == Job_Alchemist){
getitem 14003,5; getitem 657,10; getitem 7136,5; getitem 7135,5; getitem 547,150;
}
}
end;
OnSupply2:
query_sql ("SELECT `party_id` FROM `party` WHERE `name` = '"+$teamb$+"'",.@pid);
getpartymember .@pid, 2;
for( set .@i, 0; .@i < .MaxMembers; set .@i, .@i + 1 ){
attachrid $@partymemberaid[.@i];
if(strcharinfo(3) != .Map$) {end;}
if (getgmlevel() >= .gmlvl){end;}
if(Class == Job_Whitesmith || Class == Job_Creator){atcommand "@clearcart";}
getinventorylist;
for(set .@k,0; .@k<getarraysize(.delitems); set .@k,.@k+1){
if(countitem( .delitems[.@k]) > 0){
delitem .delitems[.@k],countitem(.delitems[.@k]);
}
}
if (Class == Job_Lord_Knight || Class == Job_Paladin || Class == Job_Knight || Class == Job_Crusader){
getitem 14003,5; getitem 657,10;
}else if(Class == Job_Assassin_Cross || Class == Job_Assassin){
getitem 14003,5; getitem 656,10; getitem 678,3;
}else if(Class == Job_Stalker || Class == Job_Rogue){
getitem 14003,5; getitem 657,10;
}else if(Class == Job_Sniper || Class == Job_Clown || Class == Job_Gypsy || Class == Job_Hunter || Class == Job_Bard || Class == Job_Dancer){
getitem 14003,5; getitem 656,10; getitem 12009,2;
}else if(Class == Job_High_Wizard || Class == Job_Professor || Class == Job_Wizard || Class == Job_Sage){
getitem 14003,5; getitem 656,10; getitem 717,75; getitem 716,75; getitem 715,75;
}else if(Class == Job_High_Priest || Class == Job_Priest){
getitem 14003,5; getitem 645,10; getitem 717,75;
}else if(Class == Job_Champion || Class == Job_Monk){
getitem 14003,5; getitem 656,10;
}else if(Class == Job_Whitesmith || Class == Job_Blacksmith){
getitem 14003,5; getitem 657,10; getitem 601,1600;
}else if(Class == Job_Creator || Class == Job_Alchemist){
getitem 14003,5; getitem 657,10; getitem 7136,5; getitem 7135,5; getitem 547,150;
}
}
end;
//-------------------------------------------------------------------------------------//
//-------------------------------------------------------------------------------------//
//-------------------------------------------------------------------------------------//
OnDoStart:
mapannounce ""+.Map$+"","Admin: You have 1 minute to set-up your supplies.",0;
announce "Admin: Betting for your favorite team is now open at prontera.",0;
enablenpc "PVPB";
initnpctimer;
end;
OnTimer60000:
mapannounce ""+.Map$+"","Admin: Time's up.",0;
end;
OnTimer63000:
mapannounce ""+.Map$+"","Admin: You will warped now to the battle arena.",0;
stopnpctimer;
disablenpc "PVPB";
goto S_warp;
end;
S_warp:
set .@bmap, rand(getarraysize(.BMap$));
set $TMap$, .BMap$[.@bmap];
set .@Xmapa, .Xa[.@bmap];
set .@Ymapa, .Ya[.@bmap];
set .@Xmapb, .Xb[.@bmap];
set .@Ymapb, .Yb[.@bmap];
warpchar $TMap$,50,49,1;
areawarp .Map$,66,60,79,77,$TMap$,.@Xmapa,.@Ymapa; // Team A
areawarp .Map$,120,60,133,77,$TMap$,.@Xmapb,.@Ymapb; // Team B
sleep 5000;
mapannounce ""+$TMap$+"","Before we start you have 10 seconds to buffs",0;
sleep 10000;
mapannounce ""+$TMap$+"","Get ready at the count of 5 we will start the battle!!....",0;
sleep 3000;
mapannounce ""+$TMap$+"","5",0;
sleep 1000;
mapannounce ""+$TMap$+"","4",0;
sleep 1000;
mapannounce ""+$TMap$+"","3",0;
sleep 1000;
mapannounce ""+$TMap$+"","2",0;
sleep 1000;
mapannounce ""+$TMap$+"","1",0;
sleep 1000;
mapannounce ""+$TMap$+"","GO!",0;
end;
//-------------------------------------------------------------------------------------//
//-------------------------------------------------------------------------------------//
//-------------------------------------------------------------------------------------//
OnDoTimer:
if ( compare( .@atcmd_parameters$, "on" )) {
mapannounce ""+$TMap$+"","5 minutes to eliminate all your opponent.",0;
initnpctimer;
end;
OnTimer120000:
mapannounce ""+$TMap$+"","3 minutes left to eliminate all your opponent.",0;
end;
OnTimer180000:
mapannounce ""+$TMap$+"","2 minutes left to eliminate all your opponent.",0;
end;
OnTimer240000:
mapannounce ""+$TMap$+"","1 minute left to eliminate all your opponent.",0;
end;
OnTimer300000:
mapannounce ""+$TMap$+"","Time is up.",0;
stopnpctimer;
goto OnDoCheck;
}else if ( compare( .@atcmd_parameters$, "off" )) {
stopnpctimer;
goto OnDoCheck;
}
message strcharinfo(0),"Usage @gvgtimer <on/off>";
message strcharinfo(0),"@gvgtimer failed.";
end;
//-------------------------------------------------------------------------------------//
//-------------------------------------------------------------------------------------//
//-------------------------------------------------------------------------------------//
OnDoCheck:
query_sql ("SELECT `party_id` FROM `party` WHERE `name` = '"+$teama$+"'",.@pid5);
getpartymember .@pid5, 1;
getpartymember .@pid5, 2;
for ( set .@i, 0; .@i < .MaxMembers; set .@i, .@i +1 ){
if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ){
attachrid $@partymemberaid[.@i];
if(strcharinfo(3) == $TMap$) {set .count_online1, .count_online1 +1;}
}
}
query_sql ("SELECT `party_id` FROM `party` WHERE `name` = '"+$teamb$+"'",.@pid6);
getpartymember .@pid6, 1;
getpartymember .@pid6, 2;
for ( set .@i, 0; .@i < .MaxMembers; set .@i, .@i +1 ){
if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ){
attachrid $@partymemberaid[.@i];
if(strcharinfo(3) == $TMap$) {set .count_online2, .count_online2 +1;}
}
}
if(.count_online1 == .count_online2){
announce ""+getpartyname(.@pid1)+" Vs "+getpartyname(.@pid2)+" : The battle is draw!",0;
set $winner$, $teamab$;
}else if(.count_online1 > .count_online2){
announce ""+getpartyname(.@pid1)+" Vs "+getpartyname(.@pid2)+" : Winner "+getpartyname(.@pid1)+".",0;
set $winner$, $teama$;
}else if(.count_online1 < .count_online2){
announce ""+getpartyname(.@pid1)+" Vs "+getpartyname(.@pid2)+" : Winner "+getpartyname(.@pid2)+".",0;
set $winner$, $teamb$;
}
set .count_online1,0;
set .count_online2,0;
atcommand "@doommap";
donpcevent "Party Vs Party Betting::OnBet";
end;
//-------------------------------------------------------------------------------------//
//-------------------------------------------------------------------------------------//
//-------------------------------------------------------------------------------------//
OnDoDismiss:
query_sql ("SELECT `party_id` FROM `party` WHERE `name` = '"+$teama$+"'",.@pid7);
getpartymember .@pid7, 1;
getpartymember .@pid7, 2;
for( set .@i, 0; .@i < .MaxMembers; set .@i, .@i + 1 ){
if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ){
attachrid $@partymemberaid[.@i];
if(strcharinfo(3) != .Map$) {end;}
unequip EQI_HEAD_TOP;
unequip EQI_ARMOR;
unequip EQI_HAND_L;
unequip EQI_HAND_R;
unequip EQI_GARMENT;
unequip EQI_SHOES;
unequip EQI_ACC_L;
unequip EQI_ACC_R;
unequip EQI_HEAD_MID;
unequip EQI_HEAD_LOW;
if(Class == Job_Whitesmith || Class == Job_Creator){atcommand "@clearcart";}
getinventorylist;
for(set .@p,0; .@p<getarraysize(.delitem); set .@p,.@p+1){
if(countitem( .delitem[.@p]) > 0){
delitem .delitem[.@p],countitem(.delitem[.@p]);
}
}
getinventorylist;
for(set .@k,0; .@k<getarraysize(.delitems); set .@k,.@k+1){
if(countitem( .delitems[.@k]) > 0){
delitem .delitems[.@k],countitem(.delitems[.@k]);
}
}
savepoint "prontera", 116, 73;
warp "prontera", 116, 73;
}
}
query_sql ("SELECT `party_id` FROM `party` WHERE `name` = '"+$teamb$+"'",.@pid8);
getpartymember .@pid8, 1;
getpartymember .@pid8, 2;
for( set .@i, 0; .@i < .MaxMembers; set .@i, .@i + 1 ){
if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ){
attachrid $@partymemberaid[.@i];
if(strcharinfo(3) != .Map$) {end;}
unequip EQI_HEAD_TOP;
unequip EQI_ARMOR;
unequip EQI_HAND_L;
unequip EQI_HAND_R;
unequip EQI_GARMENT;
unequip EQI_SHOES;
unequip EQI_ACC_L;
unequip EQI_ACC_R;
unequip EQI_HEAD_MID;
unequip EQI_HEAD_LOW;
if(Class == Job_Whitesmith || Class == Job_Creator){atcommand "@clearcart";}
getinventorylist;
for(set .@p,0; .@p<getarraysize(.delitem); set .@p,.@p+1){
if(countitem( .delitem[.@p]) > 0){
delitem .delitem[.@p],countitem(.delitem[.@p]);
}
}
getinventorylist;
for(set .@k,0; .@k<getarraysize(.delitems); set .@k,.@k+1){
if(countitem( .delitems[.@k]) > 0){
delitem .delitems[.@k],countitem(.delitems[.@k]);
}
}
savepoint "prontera", 116, 73;
warp "prontera", 116, 73;
}
}
end;
}
bindatcmd "gvgteam","mainevent::OnDoTeam",50,99;
At this part when I have 1 party member and I change this .MaxMembers to 5. My party will be warped but also other party will be warp to in order to complete the 5 member needed.
Question
nasagnilac
At this part when I have 1 party member and I change this .MaxMembers to 5. My party will be warped but also other party will be warp to in order to complete the 5 member needed.
At this part I just change script and doesn't work now. Both party dont receive supply. Can you please check if my codes is correct.
I am not sure if this part has no minor errors. Can you please also double check the timer if I am correct.
At this part it should be removing the items from the characters to avoid exploit but it doesn't work now same as the "gvgsupply".
I hope someone will be interested to my script and help me.. Willing to share this idea when its 100% completed.
Link to comment
Share on other sites
4 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.