Jump to content
  • 0

Need a command for "only respond to party leader" and others...


novice1204

Question


  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  7
  • Reputation:   0
  • Joined:  04/29/13
  • Last Seen:  

Hello everyone, I got a script from other forum that someone shared, but I'm not sure how to say it in English.
Anyway it's like a MVP's spawning script in a certain maps, something like a MVP arena.

the script is right below:

 

//Author : Goddameit
//Version : 2012/06/21 - 22:20
//Web : http://goo.gl/92vfA
prontera,150,180,4 script MVPtower2 100,{
function fail {
mes "^FF0000["+getarg(0)+"]^000000";
close;
}
if(select("[Play]:[Leave Game]")==2){
if(!instance_id(1))
fail("You don't have game now.");
instance_warpall "prontera",155,180;
instance_destroy instance_id(1);
fail("Finish.");
}
if(instance_id(1))
fail("You have game now.");

if(!getcharid(1))
fail("Need party.");

if(getpartyleader(getcharid(1),2)!=getcharid(0))
fail("You aren't leader.");

set .@zenyneed,10000;
if(Zeny<.@zenyneed)
fail("Zeny isn't enough.");
else
set Zeny,Zeny-.@zenyneed;

set .@partymemberneed,1;
getpartymember(getcharid(1));
if($@partymembercount<.@partymemberneed)
fail("You need "+.@partymemberneed+" member.");

select("Easy","Normal","Hard","Crazy","Damn!");
set .@igid,instance_create("MVPtower:"+(@menu==1?"Easy":@menu==2?"Normal":@menu==3?"Hard":@menu==4?"Crazy":"Damn!"),getcharid(1));
instance_attachmap(set(.@t$,@menu+"@gvs"),.@igid);
instance_set_timeout 3600,3600,.@igid;
instance_init .@igid;
instance_attach .@igid;
set 'datalevel,0;
setmapflag has_instance(.@t$),mf_noteleport;
setmapflag has_instance(.@t$),mf_nomemo;
setmapflag has_instance(.@t$),mf_nosave;
setmapflag has_instance(.@t$),mf_nobranch;
setmapflag has_instance(.@t$),mf_noloot;
setmapflag has_instance(.@t$),mf_nomobloot;
setmapflag has_instance(.@t$),mf_monster_noteleport;
warpparty has_instance(.@t$),$@MVPtowerAdminX[@menu],$@MVPtowerAdminY[@menu],getcharid(1);
end;
OnPCLogOutEvent:
if(!instance_id(1))
end;
instance_warpall "prontera",155,180;
instance_destroy instance_id(1);
end;
}
1@gvs,50,50,4 script MVPtower Administrator#1 100,{
function num {
switch(getarg(0))
{
case 1:
case 2:
if(getarg(2)<3)
return 0;
set .@b,getarg(1)+getarg(2);
return .@b;
default:
return 0;
}
}
function Onmvp {
deletearray 'mvp[0],128;
deletearray 'num[0],128;
setarray 'mvp,1511,1647,1785,1630,1009,1039,1874,1272,1719,1046,1389,1112,1115,1418,1871,1252,1768,1086,1885
,1802,1649,1651,1832,1492,1734,1251,1779,1980,1688,1646,1373,1147,1059,1150,1087,1190,1038,1157,1159,1502
,1623,1650,1583,1708,1312,1751,1685,1648,1917,1658;
switch(getarg(0))
{
case 1:
setarray 'num[1],1,1,1,1,2;
return;
case 2:
setarray 'num[1],1,1,1,2,2;
return;
case 3:
setarray 'num[1],1,1,2,2,2;
return;
case 4:
setarray 'num[1],1,2,2,2,3;
return;
case 5:
setarray 'num[1],2,2,2,3,3;
return;
}
}
function reward {
getpartymember getarg(1),2;
getpartymember getarg(1),1;
set 'partymembercount,$@partymembercount;
copyarray 'partymemberaid[0],$@partymemberaid[0],128;
copyarray 'partymembercid[0],$@partymembercid[0],128;
for(set .@i,0;.@i<'partymembercount;set .@i,.@i+1)
{
if(attachrid('partymemberaid[.@i]))
{
if('partymembercid[.@i]!=getcharid(0))continue;
getmapxy(.@m$,.@x,.@y,0);
if(.@m$==getarg(2))
callfunc "MVPTower2_Reward_"+getarg(0);
}
}
return;
}
set 't,atoi(strnpcinfo(2));
if(!instance_id())
end;
if(getmapmobs("this"))
end;
set 'datalevel,'datalevel+1;
if('datalevel<=getarraysize('num[1])){
instance_announce instance_id(1),"[System]Level."+'datalevel+"!!",0;
Onmvp('t);
for(;'num['datalevel]>0;set 'num['datalevel],'num['datalevel]-1)
{
set 'p,'mvp[rand(getarraysize('mvp))];
areamonster "this",$@MVPtowerSpawnMX['t]-5,$@MVPtowerSpawnMY['t]-5,$@MVPtowerSpawnMX['t]+5,$@MVPtowerSpawnMY['t]+5,"--ja--",'p,1,instance_npcname("MVPtower Administrator#"+'t,instance_id(1))+"::OnKill";
}
if(num(1,'datalevel,'t))
areamonster "this",$@MVPtowerSpawnNX['t]-5,$@MVPtowerSpawnNY['t]-5,$@MVPtowerSpawnNX['t]+5,$@MVPtowerSpawnNY['t]+5,"--ja--",1829,num(1,'datalevel,'t),instance_npcname("MVPtower Administrator#"+'t,instance_id(1))+"::OnKill";
if(num(2,'datalevel,'t))
areamonster "this",$@MVPtowerSpawnNX['t]-5,$@MVPtowerSpawnNY['t]-5,$@MVPtowerSpawnNX['t]+5,$@MVPtowerSpawnNY['t]+5,"--ja--",1830,num(1,'datalevel,'t),instance_npcname("MVPtower Administrator#"+'t,instance_id(1))+"::OnKill";
}else{
instance_announce instance_id(1),"[System]You win!!",0;
sleep2(1000);
getmapxy(.@m$,.@x,.@y,0);
reward('t,getcharid(1),.@m$);
instance_warpall "prontera",155,180;
instance_destroy instance_id(1);
}
end;
OnKill:
if(getmapmobs("this")-1)
instance_announce instance_id(1),"[System]Last:"+getmapmobs("this")+" monsters.",0;
else
instance_announce instance_id(1),"[System]You pass this level.",0;
end;
OnInit:
set .t,atoi(strnpcinfo(2));
getmapxy(.@m$,$@MVPtowerAdminX[.t],$@MVPtowerAdminY[.t],1,strnpcinfo(0));
end;
}
2@gvs,50,50,4 duplicate(MVPtower Administrator#1) MVPtower Administrator#2 100
3@gvs,50,50,4 duplicate(MVPtower Administrator#1) MVPtower Administrator#3 100
4@gvs,50,50,4 duplicate(MVPtower Administrator#1) MVPtower Administrator#4 100
5@gvs,50,50,4 duplicate(MVPtower Administrator#1) MVPtower Administrator#5 100
1@gvs,50,50,4 script MVPtower Spawn_Normal#1 139,{
OnInit:
set .t,atoi(strnpcinfo(2));
getmapxy(.@m$,$@MVPtowerSpawnNX[.t],$@MVPtowerSpawnNY[.t],1,strnpcinfo(0));
end;
}
2@gvs,50,50,4 duplicate(MVPtower Spawn_Normal#1) MVPtower Spawn_Normal#2 139
3@gvs,50,50,4 duplicate(MVPtower Spawn_Normal#1) MVPtower Spawn_Normal#3 139
4@gvs,50,50,4 duplicate(MVPtower Spawn_Normal#1) MVPtower Spawn_Normal#4 139
5@gvs,50,50,4 duplicate(MVPtower Spawn_Normal#1) MVPtower Spawn_Normal#5 139
1@gvs,50,50,4 script MVPtower Spawn_MVP#1 139,{
OnInit:
set .t,atoi(strnpcinfo(2));
getmapxy(.@m$,$@MVPtowerSpawnMX[.t],$@MVPtowerSpawnMY[.t],1,strnpcinfo(0));
end;
}
2@gvs,50,50,4 duplicate(MVPtower Spawn_MVP#1) MVPtower Spawn_MVP#2 139
3@gvs,50,50,4 duplicate(MVPtower Spawn_MVP#1) MVPtower Spawn_MVP#3 139
4@gvs,50,50,4 duplicate(MVPtower Spawn_MVP#1) MVPtower Spawn_MVP#4 139
5@gvs,50,50,4 duplicate(MVPtower Spawn_MVP#1) MVPtower Spawn_MVP#5 139

 

 

So it works just fine, but it's just I fear that if anyone can trigger the MVP to spawn may cause some arguments...

And the other part is this: 

OnPCLogOutEvent:
if(!instance_id(1))
end;
instance_warpall "prontera",155,180;
instance_destroy instance_id(1);
end;

 

My understanding of this is that when any team member logs out (including leave the party???) will cause the whole team gets warp back to Prontera in order to destroy the instance.

If so, I'd like to know how to change it into the instance will be destroyed only if the last player in that map leaves the map or logs out.

 

I hope it's not too much to ask, thanks. /whisp

Link to comment
Share on other sites

1 answer to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  7
  • Reputation:   0
  • Joined:  04/29/13
  • Last Seen:  

I got it figured out myself, thanks.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...