Jump to content
  • 0

See who kills you in WoE


Question

13 answers to this question

Recommended Posts

Posted

Nobody said something about mapannounce. :D

My idea:

- script WoEKillMessage -1,{
OnPCKillEvent:
if((AgitCheck() && CallSub("IsWoE1Map", StrCharInfo(3))) || (AgitCheck2() && CallSub("IsWoE2Map", StrCharInfo(3))))
{
 DispBottom("You killed " + RID2Name(killedrid) + ".");
 if(AttachRID(killedrid))
  DispBottom("You were killed by " + RID2Name(killerrid) + ".");
}
End();
IsWoE1Map:
for(Set(.@i, GetArraySize(.WoE1Maps$) - 1); .@i >= 0; Set(.@i, .@i - 1))
 if(.WoE1Maps$[.@i] == GetArg(0))
  return 1;
return 0;
IsWoE2Map:
for(Set(.@i, GetArraySize(.WoE2Maps$) - 1); .@i >= 0; Set(.@i, .@i - 1))
 if(.WoE2Maps$[.@i] == GetArg(0))
  return 1;
return 0;
OnInit:
SetArray(.WoE1Maps$[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");
SetArray(.WoE2Maps$[0], "arug_cas01", "arug_cas02", "arug_cas03", "arug_cas04", "arug_cas05"
   , "schg_cas01", "schg_cas02", "schg_cas03", "schg_cas04", "schg_cas05");
End();
}

@Z3RO:

Why GetMapXY() instead of StrCharInfo(3)? oO

  • 1
Posted

erm...since there is alot map to write into the array....

just wondering about this~

if we use getmapflag to check for gvg map...could that be a little bit better ? xD

something like this ?


-    script    Sample    -1,{
OnPCKillEvent:
if( getmapflag( strcharinfo(3),mf_gvg ) ){
   announce strcharinfo(0)+" has killed "+rid2name(killedrid),0;
   }
end;
}

Posted

This should be sufficient,


- script woekiller -1,{
OnPCKillEvent:
getmapxy (.@map$, .@x, .@y, 0); 
if( .@map$ == "prontera") { 

set .@tempn1$,strcharinfo(0);
set .@tempn2$,rid2name(killedrid);

mapannounce "prontera",""+.@tempn1$+" has killed "+.@tempn2$+".",1,0xD6A4E6; 
end;
}

Change Prontera to the map(s) you want to use it on.

Posted
// Modified to use an array index of maps (multiple maps)

- script woekiller -1,{
 OnPCKillEvent:
 getmapxy (.@map$, .@x, .@y, 0);

 set .@woe_maps$[0],"prontera","geffen";

 for (set .@a, 0; .@a < getarraysize(.@woe_maps$); set .@a, .@a + 1) {
   if( .@map$ == .@woe_maps$[.@a]) {
      mapannounce .@woe_maps$[.@a],""+strcharinfo(0)+" has killed "+ rid2name(killedrid) +".",1,0xD6A4E6;
      end;
   }
 }
}

Posted

Nobody said something about mapannounce. :D

My idea:

- script WoEKillMessage -1,{
OnPCKillEvent:
if((AgitCheck() && CallSub("IsWoE1Map", StrCharInfo(3))) || (AgitCheck2() && CallSub("IsWoE2Map", StrCharInfo(3))))
{
 DispBottom("You killed " + RID2Name(killedrid) + ".");
 if(AttachRID(killedrid))
  DispBottom("You were killed by " + RID2Name(killerrid) + ".");
}
End();
IsWoE1Map:
for(Set(.@i, GetArraySize(.WoE1Maps$) - 1); .@i >= 0; Set(.@i, .@i - 1))
 if(.WoE1Maps$[.@i] == GetArg(0))
  return 1;
return 0;
IsWoE2Map:
for(Set(.@i, GetArraySize(.WoE2Maps$) - 1); .@i >= 0; Set(.@i, .@i - 1))
 if(.WoE2Maps$[.@i] == GetArg(0))
  return 1;
return 0;
OnInit:
SetArray(.WoE1Maps$[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");
SetArray(.WoE2Maps$[0], "arug_cas01", "arug_cas02", "arug_cas03", "arug_cas04", "arug_cas05"
   , "schg_cas01", "schg_cas02", "schg_cas03", "schg_cas04", "schg_cas05");
End();
}

@Z3RO:

Why GetMapXY() instead of StrCharInfo(3)? oO

Over achiever! Q,Q Teasing <3 Thank you XD I was too lazy to post the dispbottom version I have from another script since I had to use the restroom really bad >.< -saves yours and learns from it- <33

Posted (edited)

Nobody said something about mapannounce. :D

My idea:

- script WoEKillMessage -1,{
OnPCKillEvent:
if((AgitCheck() && CallSub("IsWoE1Map", StrCharInfo(3))) || (AgitCheck2() && CallSub("IsWoE2Map", StrCharInfo(3))))
{
 DispBottom("You killed " + RID2Name(killedrid) + ".");
 if(AttachRID(killedrid))
  DispBottom("You were killed by " + RID2Name(killerrid) + ".");
}
End();
IsWoE1Map:
for(Set(.@i, GetArraySize(.WoE1Maps$) - 1); .@i >= 0; Set(.@i, .@i - 1))
 if(.WoE1Maps$[.@i] == GetArg(0))
  return 1;
return 0;
IsWoE2Map:
for(Set(.@i, GetArraySize(.WoE2Maps$) - 1); .@i >= 0; Set(.@i, .@i - 1))
 if(.WoE2Maps$[.@i] == GetArg(0))
  return 1;
return 0;
OnInit:
SetArray(.WoE1Maps$[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");
SetArray(.WoE2Maps$[0], "arug_cas01", "arug_cas02", "arug_cas03", "arug_cas04", "arug_cas05"
   , "schg_cas01", "schg_cas02", "schg_cas03", "schg_cas04", "schg_cas05");
End();
}

Thx ! (and thx everyone)

But i have an error >.<

http://imageshack.us...95/errorqy.png/

Edited by Damon
Posted

Aaaah, sorry.

Replace:

if((AgitCheck() && CallSub("IsWoE1Map", StrCharInfo(3))) || (AgitCheck2() && CallSub("IsWoE2Map", StrCharInfo(3))))

With:

if((AgitCheck() && CallSub(IsWoE1Map, StrCharInfo(3))) || (AgitCheck2() && CallSub(IsWoE2Map, StrCharInfo(3))))

Posted

@Kenpachi = so this is the right one?

- script WoEKillMessage -1,{
OnPCKillEvent:
if((AgitCheck() && CallSub(IsWoE1Map, StrCharInfo(3))) || (AgitCheck2() && CallSub(IsWoE2Map, StrCharInfo(3))))
{
 DispBottom("You killed " + RID2Name(killedrid) + ".");
 if(AttachRID(killedrid))
  DispBottom("You were killed by " + RID2Name(killerrid) + ".");
}
End();
IsWoE1Map:
for(Set(.@i, GetArraySize(.WoE1Maps$) - 1); .@i >= 0; Set(.@i, .@i - 1))
 if(.WoE1Maps$[.@i] == GetArg(0))
  return 1;
return 0;
IsWoE2Map:
for(Set(.@i, GetArraySize(.WoE2Maps$) - 1); .@i >= 0; Set(.@i, .@i - 1))
 if(.WoE2Maps$[.@i] == GetArg(0))
  return 1;
return 0;
OnInit:
SetArray(.WoE1Maps$[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");
SetArray(.WoE2Maps$[0], "arug_cas01", "arug_cas02", "arug_cas03", "arug_cas04", "arug_cas05"
   , "schg_cas01", "schg_cas02", "schg_cas03", "schg_cas04", "schg_cas05");
End();
}

@Emistry = is that one 100% Working also?

Posted (edited)

use this 1...better. than the previous 1 i have posted..

- script Sample -1,{
OnPCKillEvent:
if( getmapflag( strcharinfo(3),mf_gvg_castle ) ){
announce strcharinfo(0)+" has killed "+rid2name(killedrid),0;
}
end;
}

Tested and work in my Test Server..

this it work when the person is killed within Guild Caste Map...

Only Guild Castle Map...not GVG Map

( I guess..it stil okay for you right ? using announce to show who killed you )

Otherwise....just change the Announce part to this


if(AttachRID(killedrid))
  DispBottom("You were killed by " + RID2Name(killerrid) + ".");

Edited by Emistry
Posted

use this 1...better. than the previous 1 i have posted..

- script Sample -1,{
OnPCKillEvent:
if( getmapflag( strcharinfo(3),mf_gvg_castle ) ){
announce strcharinfo(0)+" has killed "+rid2name(killedrid),0;
}
end;
}

Tested and work in my Test Server..

this it work when the person is killed within Guild Caste Map...

Only Guild Castle Map...not GVG Map

But remeber that this solution will only work on non-PK servers.

On a PK server you can be killed in a castle even when WoE isn't active and this forces you to check which WoE is acive and that the current map is an according castle.

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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...