Jump to content
  • 0

clucker count as death in pvp ladder...


Question

Posted

how to don make it dont count as death in PVP ladder when u play clucker?

//===== Athena Script =====================================
//= Cluck! Cluck! Boom!
//===== By Keale of VoidRO ================================
//= http://voidro.com
//===== Description =======================================
//= Click the chicken and try retrieve the item at a low 
//= chance. If you fail he will nuke, freeze, stone, 
//= stun, or make you fall asleep.
//= The prize is configurable and triggered by the NPC.
//===== Credits ===========================================
//= LuTze for his 'Chicken of Punishment' script.
//= BrianL for suggesting the 'switch' command.
//===== Version ===========================================
//= v1.1
//=========================================================
//= v1.0 - First release.
//= v1.1 - Using 'switch rand' instead.
//=========================================================


prontera,156,183,3 script Cluckers 800,{


if ($@startcluck == 1) goto L_playcluck;


cluckcluck:
if (getgmlevel() >= 60) goto cluckadmin;
mes "[Cluckers]";
mes "Cluck cluck! Cluuuuuck?";
mes "Cluck....";
close;


cluckadmin:
mes "[Cluckers]";
mes "Cluck cluck! Cluuuuuck? ^FF0000~Hi GM " + strcharinfo(0) + ", Wanna play today?~^000000";
mes "Cluck cluck... CLUCK! ^FF0000~Just tell me what to do!~^000000";
switch(select("Start Event:Check Prize:Set Prize:Not today Cluckers")) {
case 1:
next;
mes "[Cluckers]";
mes "CLUCK! ^FF0000~Sure thing!~^000000";
emotion 33;
close2;
goto L_cluckannounce;
case 2:
next;
mes "[Cluckers]";
mes "Cluck, cluck cluck... Cluck! ^FF0000~The current prize is^000000 ^008000"+ $cluck_item_amount +" "+ getitemname($cluck_item_id) +".^000000";
next;
goto cluckadmin;
case 3:
next;
mes "[Cluckers]";
mes "Cluck cluck? Cluck??? ^FF0000~What should the prize for winning be? Please input the ID.~^000000";
input $cluck_item_id;
next;
mes "[Cluckers]";
mes "Cluck? cluuuck? ^FF0000~How many if this item should I give away?~^000000";
input $cluck_item_amount;
next;
mes "[Cluckers]";
mes "Cluck cluck..? Cluck. ^FF0000~So, the prize is^000000 ^008000"+ $cluck_item_amount +" "+ getitemname($cluck_item_id) +"^000000? ^FF0000Great.~^000000";
emotion 33;
next;
goto cluckadmin;
case 4:
next;
mes "[Cluckers]";
mes "Cluck cluck cluck...";
close;
}


L_cluckannounce:
announce "[Cluck! Cluck! Boom!] is about to start in Event Area!",bc_blue;
initnpctimer;
end;
OnTimer10000:
announce "Please proceed to the Event Area if you want to play with the crazy chicken!",bc_blue;
end;
OnTimer20000:
announce "Cluckers has eaten one of my items! I'm too scared to retrieve it!",bc_blue;
end;
OnTimer30000:
announce "Click the insane chicken and try squeeze out the item, if you're lucky you'll win! Are you ready?",bc_blue;
end;
OnTimer40000:
announce "GO! Click the chicken to get the prize!",bc_blue;
set $@startcluck,1;
end;


L_playcluck:
specialeffect2 2;
switch( rand(15) ) {
case 0:
npctalk "CLUUUUUUCK!!!";
emotion 23;
atcommand "@nuke "+strcharinfo(0);
break;
case 1:
npctalk "Cluuuuuck!~";
break;
case 2:
atcommand "@nuke "+strcharinfo(0);
break;
case 3:
sc_start SC_Freeze,10000,0;
break;
case 4:
npctalk "CLUUUUUUUUUCK!!!";
emotion 23;
atcommand "@nuke "+strcharinfo(0);
break;
case 5:
sc_start SC_Sleep,10000,0;
break;
case 6:
emotion 29;
sc_start SC_Stone,10000,0;
break;
case 7:
npctalk "CLUUUUUUCK!!!";
emotion 23;
atcommand "@nuke "+strcharinfo(0);
break;
case 8:
npctalk "Cluck! CLUUUCK!!";
emotion 23;
atcommand "@nuke "+strcharinfo(0);
break;
case 9:
sc_start SC_Stun,10000,0;
break;
case 10:
emotion 29;
sc_start SC_Sleep,10000,0;
break;
case 11:
npctalk "Cluck! Cluck!";
break;
case 12:
sc_start SC_Stun,10000,0;
break;
case 13:
atcommand "@nuke "+strcharinfo(0);
break;
default:
if( rand(50) < 3 ) {
npctalk "WOOF!...........";
specialeffect2 72;
announce "[Cluck! Cluck! Boom!] " + strcharinfo(0) + " Squeezed out the prize! Well done!",0;
getitem $cluck_item_id,$cluck_item_amount;
set $@startcluck,0;
} else {
npctalk "Cluck! CLUUUCK!!";
atcommand "@nuke "+strcharinfo(0);
}
break;
}
}

4 answers to this question

Recommended Posts

Posted

this should be change in ur pvp ladder script, not the cluckers.

//===== eAthena Script =======================================
//= eAthena PVP-Ladder
//===== By: ==================================================
//= Terces
//===== Current Version: =====================================
//= 1.7.2
//===== Compatible With: =====================================
//= Any Athena Version that has "for" implemented
//===== Credits: =============================================
//= The whole eAthena Board and the eAthena Chat
//===== Notes: ===============================================
//= Note 1:
//= Experience gain works like this formula:
//= ($@LadderLength-(<new position>-1))*$@LadderExp
//= so if someone gets the first place he'll get
//= $@LadderLength*$@LadderExp experience points.
//============================================================
//= Fixxed by Dante
//= V1.7.2
//= Hosted by Dant3 aka Dante
// HAFE FUN! READ THE TOPIC! IT DONT WORKS MAYBE ON OLDER REV
//
//
//  LAST UPDATE: 12th,February.2008
//
// Main Script - Terces (Main Thanks to Terces )
// V1.7.0 - Dant3
// v1.7.1 - AnnieRuRu
// v1.7.2 - Dant3


// THIS SCRIPT WORKS ONLY ON THE NEW EATHENA REVISIONS! ENJOY!


- script PVPLADDEROPTIONS -1,{
end;
OnInit:
// 0 = Disabled (NO)
// 1 = Enable   (YES)
set $@languageselect, 0; //Enable/Disable language selection [English/German] (Default: 1)
set $@LadderAnnounce, 0; //Enable/Disable the announcement when a char reaches a new position in the ladder (Default: 1)


set $@LadderLength, 15; //Set the length of the Ladder [!Not higher than 128!] (Default: 30)
set $@LadderSteps, 10; //Set the views per page (Default: 10)


set $@LadderExpGain, 100; //Enable/Disable experience gain when reaching a new position in the ladder (*Note1)
set $@LadderExp, 150; //Set Experience gain value (*Note1)


// Update v1.7.0
set $@LadderZenyGain, 1; //Enable/Disable zeny gain when reaching a new position in the ladder
set $@LadderZeny, 100; //Set Zeny gain value 
set $@LadderChatRoom, 1; //Enable/Disable an Chat Room over the NPC with the message "PvP Ladder" (Users can not enter the Chat room) 


// Update v1.7.1 (Thanks to AnnieRuRu)
// Added GM PvP Ladder Reset Function


// Update v1.7.2
// Thanks to for the Feedback
set $@LadderAskLogin, 1; //Enable/Disable that the NPC asks about the Broadcast when a Player logins / or  with the Npc Chat (0 = Login Ask , 1 = Npc Chat) Related: 0
}


- script PVPLADDERS -1,{
OnPCKillEvent:
if (terces_PVP_resets != $terces_PVP_resets) {
dispbottom "Please relog your character, in order to get the correct kills for you in the PVP ladder.";
dispbottom "Because a GM just reset the ladder.";
end;
}
if ( killedrid == getcharid(3) ) {
set PVPDeaths, PVPDeaths +1;
set #PVPDeathsAccount, #PVPDeathsAccount +1;
set @PVPDeathstoday, @PVPDeathstoday +1;
end;
}
set $@PVPcounter,$@PVPcounter+1;
set getd("$@PVPKill"+$@PVPcounter),getcharid(3); //getd to avoid errors when more than 1 people kill someone
attachrid(killedrid);
set PVPDeaths,PVPDeaths+1;
set @PVPDeathstoday,@PVPDeathstoday+1;
set #PVPDeathsAccount,#PVPDeathsAccount+1;
set getd("$@PVPkilledplayer"+$@PVPcounter+"$"), strcharinfo(0); //again, getd to avoid possible glitches
detachrid;


attachrid(getd("$@PVPKill"+$@PVPcounter));
CountKills:
set PVPKills,PVPKills+1;
set @PVPKillstoday,@PVPKillstoday+1;
set #PVPKillsAccount,#PVPKillsAccount+1;
setarray @playerstats[0],@PVPKillstoday,@PVPDeathstoday,PVPKills,PVPDeaths,#PVPKillsAccount,#PVPDeathsAccount;


l_ladder:
set @considerdeath,0;
for (set @PosinLadder, 0; @PosinLadder < $@LadderLength; set @PosinLadder, @PosinLadder + 1){
if (PVPKills >= $terces_PVP_kills[@PosinLadder]){ //Player deserves to be in the ladder
//Check if Death plays a role on the position
if ((PVPKills == $terces_PVP_kills[@PosinLadder]) && (PVPDeaths > $terces_PVP_deaths[@PosinLadder])) set @considerdeath,1; //Consider Deaths
//Check if the player only topped his own scores
if ($terces_PVP_names$[@PosinLadder] == strcharinfo(0)){
set $terces_PVP_kills[@PosinLadder],PVPKills;
set $terces_PVP_deaths[@PosinLadder],PVPDeaths;
end;
}
//Moves all characters in the Ladder
for (set @beginmoving, $@LadderLength; @beginmoving >= (@PosinLadder+@considerdeath); set @beginmoving, @beginmoving - 1){
if ($terces_PVP_names$[@beginmoving] == strcharinfo(0)){
//If the player already is in the Ladder it only has to move players between characters new position and characters old position
callsub L_LadderMove,0;
end;
}
else if (@beginmoving == (@PosinLadder+@considerdeath)){
//Player is not in the Ladder and therefor it has to move all players from characters new position downwards
callsub L_LadderMove,1;
end;
}
}
end;
}
}




L_LadderMove:
if (getarg(0) == 0) set @length,@beginmoving;
if (getarg(0) == 1) set @length,$@LadderLength;
for (set @movecycle, @length; @movecycle > (@PosinLadder+@considerdeath);
set @movecycle, @movecycle - 1){


set $terces_PVP_names$[@movecycle],$terces_PVP_names$[(@movecycle-1)];
set $terces_PVP_kills[@movecycle],$terces_PVP_kills[(@movecycle-1)];
set $terces_PVP_deaths[@movecycle],$terces_PVP_deaths[(@movecycle-1)];
set $terces_PVP_times[@movecycle],$terces_PVP_times[(@movecycle-1)];
}
//sets the character's stats in the new position
set $terces_PVP_names$[(@PosinLadder+@considerdeath)],strcharinfo(0);
set $terces_PVP_kills[(@PosinLadder+@considerdeath)],PVPKills;
set $terces_PVP_deaths[(@PosinLadder+@considerdeath)],PVPDeaths;
set $terces_PVP_times[(@PosinLadder+@considerdeath)],gettimetick(2);
//Experience Gain
if ($@LadderExpGain == 1){
set BaseExp,BaseExp+(($@LadderLength-((@PosinLadder+@considerdeath)-1))*$@LadderExp);
dispbottom "You have just been rewarded with "+(($@LadderLength-((@PosinLadder+@considerdeath)-1))*$@LadderExp)+" base experience points";
}
//Zeny Gain
if ($@LadderZenyGain == 1){
set Zeny,Zeny+(($@LadderLength-((@PosinLadder+@considerdeath)-1))*$@LadderZeny);
dispbottom "You have just been rewarded with "+(($@LadderLength-((@PosinLadder+@considerdeath)-1))*$@LadderZeny)+" Zeny";
}
//Announcement (Setting for Char)
if (pvpbroadcast == 2){
announce strcharinfo(0)+" just claimed the "+((@PosinLadder+@considerdeath)+1)+". Position in the Top "+$@LadderLength+" after killing "+getd("$@PVPkilledplayer"+$@PVPcounter+"$")+".",16;
}
//Announcement (Setting for Account)
if (#pvpbroadcast == 2){
announce strcharinfo(0)+" just claimed the "+((@PosinLadder+@considerdeath)+1)+". Position in the Top "+$@LadderLength+" after killing "+getd("$@PVPkilledplayer"+$@PVPcounter+"$")+".",16;
}
end;


OnPCLoginEvent:
if (terces_PVP_resets != $terces_PVP_resets){
set PVPDeaths,0;
set @PVPDeathstoday,0;
set #PVPDeathsAccount,0;
set PVPKills,0;
set @PVPKillstoday,0;
set #PVPKillsAccount,0;
set terces_PVP_resets,$terces_PVP_resets;
}
if ($@LadderAskLogin == 0){
if (#pvpbroadcast == 2) goto L_ignore;
if (pvpbroadcast == 2) goto L_ignore;
if (#pvpbroadcast == 1) goto L_ignore;
if (pvpbroadcast == 1) goto L_ignore;


if (pvpbroadcast == 0)
mes "Hi, "+strcharinfo(0)+"";
mes "Me is the PvP Top Management!";
mes "Let me ask you one Question and i will let you play!";
menu "Later please",L_close,"Okay, fine",L_fine;


L_fine:
next;
mes "Well, do you want read Broadcast Messages when a Player reach a new position on the PvP Ranglist?";
menu "Yeah, why not",L_accept,"No, thanks",L_accept_2,"Wtf is Broadcast?",L_broadcast;


L_accept:
next;
mes "Yay, thank you! ^_^";
mes "Will this Setting work on all your Chars on this account or only this char?";
menu "Account",L_account,"Only this char",L_char;


L_account:
set #pvpbroadcast,2;
next;
mes "Okay, "+strcharinfo(0)+"";
mes "Thank you for your time and have fun!";
close;


L_char:
set pvpbroadcast,2;
next;
mes "Okay, "+strcharinfo(0)+"";
mes "Thank you for your time and have fun!";
goto access_eng;
close;


L_accept_2:
next;
mes "Yay, thank you! ^_^";
mes "Will this Setting work on all your Chars on this account or only this char?";
menu "Account",L_account_2,"Only this char",L_char_2;


L_close:
close;


L_account_2:
set #pvpbroadcast,1;
next;
mes "Okay, "+strcharinfo(0)+"";
mes "Thank you for your time and have fun!";
close;


L_char_2:
set pvpbroadcast,1;
next;
mes "Okay, "+strcharinfo(0)+"";
mes "Thank you for your time and have fun!";
goto access_eng;
close;




L_broadcast:
mes "Broadcasts are this yellow messages from  the GMs";
goto L_fine;
}
}


prontera,163,189,3 script PvP Ladder 467,{
if ($@LadderChatRoom == 1) {
waitingroom "Top "+$@LadderLength+" Players!",0;   // Look on the configuration!
}
set @name$,"[PvP-Ladder]";
//Colour of: Position Name Kills Deaths Time
setarray @colour$[0], "^996600", "^006699", "^00AA00", "^FF0000", "^EE8800";
if ($@LadderAskLogin == 1){
if (#pvpbroadcast == 2) goto  access_eng;
if (pvpbroadcast == 2) goto  access_eng;
if (#pvpbroadcast == 1) goto  access_eng;
if (pvpbroadcast == 1) goto  access_eng;
if (pvpbroadcast == 0)
mes "Hi, "+strcharinfo(0)+"";
mes "Me is the PvP Top Management!";
mes "Let me ask you one Question and i will let you play!";
menu "Later please",L_close,"Okay, fine",L_fine;


L_fine:
next;
mes "Well, do you want read Broadcast Messages when a Player reach a new position on the PvP Ranglist?";
menu "Yeah, why not",L_accept,"No, thanks",L_accept_2,"Wtf is Broadcast?",L_broadcast;


L_accept:
next;
mes "Yay, thank you! ^_^";
mes "Will this Setting work on all your Chars on this account or only this char?";
menu "Account",L_account,"Only this char",L_char;


L_account:
set #pvpbroadcast,2;
next;
mes "Okay, "+strcharinfo(0)+"";
mes "Thank you for your time and have fun!";
close;


L_char:
set pvpbroadcast,2;
next;
mes "Okay, "+strcharinfo(0)+"";
mes "Thank you for your time and have fun!";
goto access_eng;
close;


L_accept_2:
next;
mes "Yay, thank you! ^_^";
mes "Will this Setting work on all your Chars on this account or only this char?";
menu "Account",L_account_2,"Only this char",L_char_2;


L_close:
close;


L_account_2:
set #pvpbroadcast,1;
next;
mes "Okay, "+strcharinfo(0)+"";
mes "Thank you for your time and have fun!";
close;


L_char_2:
set pvpbroadcast,1;
next;
mes "Okay, "+strcharinfo(0)+"";
mes "Thank you for your time and have fun!";
goto access_eng;
close;




L_broadcast:
mes "Broadcasts are this yellow messages from  the GMs";
goto L_fine;
}
access_eng:
mes @name$;
mes "Hello "+strcharinfo(0)+"";
mes "If you want to I can show you your PVP stats.";
next;
M_selection_eng:
if ( getgmlevel () < 99 )
menu "Show me the PVP Ladder",M_Ladder_eng,"PvP stats since my login",M_seitLogin_eng,"PvP stats of this Char",M_dieserChar_eng,"Stats of the whole account",M_vomAccount_eng,"Cancel",M_abbrechen_eng;
else
menu "Show me the PVP Ladder",M_Ladder_eng,"PvP stats since my login",M_seitLogin_eng,"PvP stats of this Char",M_dieserChar_eng,"Stats of the whole account",M_vomAccount_eng,"Reset Ladder",L_reset,"Cancel",M_abbrechen_eng;


M_Ladder_eng:
mes "Alright...I'll show you the Top "+ $@LadderLength +" with "+$@LadderSteps+" entries per page.";
mes "It'll be viewed like this:";
mes @colour$[0]+"Place^000000: "+@colour$[1]+"<name>^000000 :"+@colour$[2]+"<kills>^000000:"+@colour$[3]+"<deaths>^000000 "+@colour$[4]+"<time>";
next;
callsub L_Ladder;
goto M_selection_eng;


M_seitLogin_eng:
mes @name$;
mes "Your stats since your login:";
mes @PVPKillstoday+"/"+@PVPDeathstoday+"(Kills/Deaths)";
next;
goto M_selection_eng;


M_dieserChar_eng:
mes @name$;
mes "Your stats of this Char:";
mes PVPKills+"/"+PVPDeaths+"(Kills/Deaths)";
next;
goto M_selection_eng;


M_vomAccount_eng:
mes @name$;
mes "Your stats of the whole account:";
mes #PVPKillsAccount+"/"+#PVPDeathsAccount+"(Kills/Deaths)";
next;
goto M_selection_eng;


M_abbrechen_eng:
mes @name$;
mes "OK. You can come back to me and see your stats whenever you want.";
close;


L_reset:
if (getgmlevel() < 99) end;
mes "Do you want to reset the ladder?";
if (select ("Yes","No") == 2) goto L_end;
mes "Are you really really sure you want to reset it?";
menu "Yes, ffs!!",-,"No",L_end;
deletearray $terces_PVP_kills,128;
deletearray $terces_PVP_deaths,128;
deletearray $terces_PVP_names$,128;
deletearray $terces_PVP_times,128;
set $terces_PVP_resets,$terces_PVP_resets +1;


L_end:
mes "Okay...cya";
close;


L_Ladder:

}


function script Gettime {
if (getarg(0)==0) return;


set @difftimedays,(gettimetick(2) - getarg(0));
set @difftimehours,@difftimedays%86400;
set @difftimeminutes,@difftimehours%3600;
set @difftimeseconds,@difftimeminutes%60;


set @days,@difftimedays/86400;
set @hours,@difftimehours/3600;
set @minutes,@difftimeminutes/60;
set @seconds,@difftimeseconds;
set @result$,"";
if(@days != 0) set @result$,@result$+@days+"d ";
if(@hours != 0) set @result$,@result$+@hours+"h ";
if(@minutes != 0) set @result$,@result$+@minutes+"m ";
if(@seconds != 0) set @result$,@result$+@seconds+"s";


return (@result$);
}
Posted

attachrid(killedrid);
set PVPDeaths,PVPDeaths+1;
set @PVPDeathstoday,@PVPDeathstoday+1;
set #PVPDeathsAccount,#PVPDeathsAccount+1;
set getd("$@PVPkilledplayer"+$@PVPcounter+"$"), strcharinfo(0); //again, getd to avoid possible glitches
detachrid;
change into

attachrid(killedrid);
if ( killedrid != getcharid(3) ) {
	set PVPDeaths,PVPDeaths+1;
	set @PVPDeathstoday,@PVPDeathstoday+1;
	set #PVPDeathsAccount,#PVPDeathsAccount+1;
}
set getd("$@PVPkilledplayer"+$@PVPcounter+"$"), strcharinfo(0); //again, getd to avoid possible glitches
detachrid;

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...