Npc PvP + Ranking
Script do Ranking:
- Código:
//===== eAthena Script =========================================
//=========== e ================================================
//===== Cronus Script ==========================================
//| |
//| ___ ___ ___ ___ |
//| /__ /__ / /__ |
//| /:/ _/_ /:/__/_ /:: /:| _|_ |
//| /::-"__ /::/__ /:::__ /::|/__ |
//| ;:;-",-" /::/ / /::/ / /|::/ / |
//| |:| | /:/ / /:/ / |:/ / |
//| |__| /__/ /__/ /__/ |
//| |
//| |e|A|T|H|E|N|A| |S|C|R|I|P|T|S| |
//| |C|r|o|n|u|S| |S|C|R|I|P|T|S| |
//===== Por: ==================================================
//= Wukong - v1.0
//= Khan - v3.0
//= NightmareA - v4.0
//= NightmareA - v5.0
//= pedroamoury - v6.0
//= Easy Crazy - v7.0
//===== Versão Atual: =========================================
//= 7.0
//===== Changelog: ============================================
//= 1.0 - Script Inicializado [Wukong]
//= 1.1 - Corrigido pequenos BUGs [Golen Maker]
//= 1.1 - Adicionado a opção de escolha do bloqueio de algums
// items ao entrar no PvP e na GvG [Wukong]
//= 2.0 - Corrigido pequenos bugs [Wukong]
//= 3.0 - Optimização do NPC [Khan]
//= 3.0a- Corrigido comandos ( show/ show ) [Khan]
//= 4.0 - Adicionado Arenas Sem Ygg [NightmareA]
//= 4.1 - Optimizado Warps de Saida ( adicionado nas arenas sem ygg ) [NightmareA]
//= 4.2 - Adicionado Arenas [NightmareA]
//= 4.3 - Adicionado sistema de saida por timer [NightmareA]
//= 4.4 - Adicionado Contagem de Ranking por arena e total [NightmareA]
//= 5.0 - Fix Bugs [NightmareA]
//= 6.1 - Retirado Arenas PvP e GvG sem Yggs
//= 6.2 - Retirado Restrições de Itens
//= 6.3 - Adicionado Arena Baby
//= 6.4 - Adicionado Arena PvP No-Rank (Sem Contagem de Rank)
//= 6.5 - Adicionado Arena GvG No-Rank (Sem Contagem de Rank)
//= 6.6 - Adicionado Horario para Abrir GvG Rank (10:00 as 22:00)
//= 6.7 - Adicionado Horarios para Abrir PvP Rank (10:00 as 22:00)
//= 6.8 - Corrigido opção Sair.
//= 6.9 - Adicionado Arena Playes vs Playes 1x1.
//= 7.0 - Sala de Eventos.
//===== Compatível Com: =======================================
//= Qualquer eAthena (SVN)
//= Qualquer Cronus (SVN)
//===== Descrição: ============================================
//= Arena da Morte. Com arena de PvP/GvG com Rank Abertas as 10:00 e Feichadas as 22:00 da noite.
//= Arenas PvP, GvG , Baby No-Rank Abertas 24h
//= Playes vs Playes 1x1
//= Sala de Eventos onde acontece eventos
//===== Comentários Adicionais ================================
//= wBRO www.wotanbro.com
//= PartyRO www.partyro.org
//= eAthena Emulator www.eathena.ws
//=============================================================
//===== Arena da Morte ========================================
prontera,151,193,5 script Arena da Morte 752,{
//===== Nome do npc. ==========================================
set @nome$,"[^FF0000Arena da Morte^000000]";
//===== Arena PvP =============================================
set $pvp$[0],"guild_vs3";//Arena 1
set $pvpn$[0],"pvp_2vs2";//Arena 1
//===== Arena GvG =============================================
set $gvg$[0],"guild_vs2-1";// Arena 1
set $gvgn$[0],"guild_vs2-2";// Arena 1
set $baby$[0],"guild_vs1-3";// Baby 1
// ====== Sala de 1x1 =============================================
set $playe$[0],"guild_vs1-4";// 1x1 1
// ====== Sala de Eventos ===========================================
set $evento$[0],"2@cata";// Eventos
//===== Arena Baby =============================================
show @nome$;
show "Olá "+strcharinfo(0)+".";
show "Escolha qual destino deseja ir";
next;
switch(SELECT("- Playes vs Playes [Rank] [^0000FF"+getmapusers($pvp$[$pvp])+"^000000]","- Guild vs Guild [Rank] [^0000FF"+getmapusers($gvg$[$gvg])+"^000000]","- Playes vs Playes [No-Rank] [^0000FF"+getmapusers($pvpn$[$pvpn])+"^000000]","- Guild vs Guild [No-Rank] [^0000FF"+getmapusers($gvgn$[$gvgn])+"^000000]","- Baby vs Baby [No-Rank] [^0000FF"+getmapusers($baby$[$baby])+"^000000]","- Playes 1x1 [No-Rank] [^0000FF"+getmapusers($playe$[$playe])+"^000000]","- Sala de Eventos [^0000FF"+getmapusers($evento$[$evento])+"^000000]","- Sair"))
{
case 1:
if($scg == FALSE){
show .n$;
show "Desculpe ^0000CD"+StrCharInfo(0)+"^000000.";
show "O PvP Rank está Fechado no Momento.";
close;
}
switch(select("- Arena PvP [Rank]","- Sair"))
{
case 1:
percentheal 100,100;
warp $pvp$,0,0; end;
case 2:
show @nome$;
show "Volte quando precisar dos meus serviços.";
close;
}
close;
case 2:
if($scg == FALSE){
show .n$;
show "Desculpe ^0000CD"+StrCharInfo(0)+"^000000.";
show "O GvG Rank está Fechado no Momento.";
close;
}
switch(select("- Arena GvG [Rank]","- Sair"))
{
case 1:
percentheal 100,100;
if(!getcharid(2)) {show "Eu não posso ajudá-lo, você não possui uma Clã."; close;}
warp $gvg$,0,0; end;
case 2:
show @nome$;
show "Volte sempre que quiser.";
close;
}
close;
OnClock1605: callsub OnOpenRoom;
OnClock2200: callsub OnClosRoom;
OnOpenRoom:
set $scg,1;
announce "Sala PvP e GvG Abertas! Seja um dos primeiros do Rank !",bc_yellow;
end;
OnClosRoom:
set $scg,0;
announce "Sala PvP e GvG Fechadas!",bc_yellow|bc_all;
set $sct, $sct + 1;
mapwarp "guild_vs3.gat","izlude.gat",144,133;
mapwarp "guild_vs2-1.gat","izlude.gat",144,133;
end;
case 3:
switch(select("- Arena PvP (No-Rank)","- Sair"))
{
case 1:
percentheal 100,100;
warp $pvpn$,0,0; end;
case 2:
show @nome$;
show "Volte quando precisar dos meus serviços.";
close;
}
close;
case 4:
switch(select("- Arena GvG (No-Rank)","- Sair"))
{
case 1:
percentheal 100,100;
if(!getcharid(2)) {show "Você precisa estar em uma guild para poder entrar"; close;}
warp $gvgn$,0,0; end;
case 2:
show @nome$;
show "Volte quando precisar dos meus serviços.";
close;
}
close;
case 5:
switch(select("- PvP Baby","- Sair"))
{
case 1:
show @nome$;
percentheal 100,100;
if (Class > 4001 && Class < 4022){ show @npc$; show "PvP apenas para Baby, você não é baby!"; close; }
warp $baby$,0,0; end;
case 2:
show @nome$;
show "Volte quando precisar dos meus serviços.";
close;
}
close;
case 6:
switch(select("- Playes 1x1 (No-Rank)","- Sair"))
{
case 1:
percentheal 100,100;
if (getmapusers("guild_vs1-4") > 1) {show "Limite de 2 pessoas atingidos."; close;}
warp $playe$,0,0; end;
case 2:
show @nome$;
show "Volte quando precisar dos meus serviços.";
close;
}
close;
case 7:
switch(select("- Sala de Eventos","- Sair"))
{
case 1:
percentheal 100,100;
warp $evento$,00,00; end;
case 2:
show @nome$;
show "Volte quando precisar dos meus serviços.";
close;
}
close;
case 8:
mes @nome$;
mes "Volte quando precisar dos meus serviços.";
close;
}
end;
}
// -- Inicio do Script
- script Arena#PCKill -1,{
OnPCKillEvent:
getmapxy @map$,@x,@y,0;
if ( @map$ == $pvp$[$pvp] ) goto PvP;
if ( @map$ == $pvp$[$pvpx] ) goto PvP;
if ( @map$ == $pvp$[$pvpw] ) goto PvP;
if ( @map$ == $pvp$[$pvpy] ) goto PvP2;//Sem ygg
if ( @map$ == $gvg$[$gvg] ) goto GvG;
if ( @map$ == $gvg$[$gvgx] ) goto GvG;
if ( @map$ == $gvg$[$gvgw] ) goto GvG;
if ( @map$ == $gvg$[$gvgy] ) goto GvG2;//Sem ygg
if ( @map$ == $pvp$[$playes] ) goto playes;
end;
// ======= Arenas PvP =======
PvP:
set @CID,getcharid(0);set @name$,"";set @points,0;
query_sql "SELECT `kills` FROM `pvp` WHERE `char_id`="+@CID+"",@points;
query_sql "SELECT `name` FROM `pvp` WHERE `char_id`="+@CID+"",@name$;
if ( @name$ == "" ) { query_sql "INSERT INTO `pvp` (`char_id`,`name`,`kills`) VALUES ("+@CID+",'"+strcharinfo(0)+"',1)",@esc$; dispbottom "Você Matou seu primeiro jogador"; end; }
query_sql "UPDATE `pvp` SET `kills` = `kills` +1 WHERE `char_id`="+@CID+"",@esc$;
set @points,@points+1;
announce "Você matou [ "+rid2name(killedrid)+" ] e chegou a "+@points+" jogadores mortos.",bc_self,0x90FFFF;
end;
// ======= Arenas GvG =======
GvG:
set @GID,getcharid(2);set @name$,"";set @points,0;
query_sql "SELECT `kills` FROM `gvg` WHERE `guild_id`="+@GID+"",@gpoints;
query_sql "SELECT `name` FROM `gvg` WHERE `guild_id`="+@GID+"",@name$;
if ( @name$ == "" ) { query_sql "INSERT INTO `gvg` (`guild_id`,`name`,`kills`) VALUES ("+@GID+",'"+strcharinfo(2)+"',1)",@esc$; dispbottom "Primeiro Frag da Guild"; end; }
query_sql "UPDATE `gvg` SET `kills` = `kills` + 1 WHERE `guild_id`="+@GID+"",@esc$;
set @gpoints,@gpoints+1;
mapannounce @map$,"A Guild [ "+@name$+" ] empilhou "+@gpoints+" caveiras.",bc_self,0x90FFFF;
end;
}
- script Arena#PCDie -1,{
OnPCDieEvent:
getmapxy @map$,@x,@y,0;
if ( @map$ == $pvp$[$pvp] ) goto PvP;
if ( @map$ == $pvp$[$pvpx] ) goto PvP;
if ( @map$ == $pvp$[$pvpw] ) goto PvP;
if ( @map$ == $pvp$[$pvpy] ) goto PvP2;
if ( @map$ == $gvg$[$gvg] ) goto GvG;
if ( @map$ == $gvg$[$gvgx] ) goto GvG;
if ( @map$ == $gvg$[$gvgw] ) goto GvG;
if ( @map$ == $gvg$[$gvgy] ) goto GvG2;
// ======= Arenas GvG =======
PvP:
set @CID,getcharid(0);set @name$,"";set @points,0;
query_sql "SELECT `deaths` FROM `pvp` WHERE `char_id`="+@CID+"",@points;
query_sql "SELECT `name` FROM `pvp` WHERE `char_id`="+@CID+"",@name$;
if ( @name$ == "" ) { query_sql "INSERT INTO `pvp` (`char_id`,`name`,`deaths`) VALUES ("+@CID+",'"+strcharinfo(0)+"',1)",@esc$; end; }
query_sql "UPDATE `pvp1` SET `deaths` = `deaths` + 1 WHERE `char_id`="+@CID+"",@esc$;
end;
// ======= Arenas GvG =======
GvG:
set @GID,getcharid(2);set @name$,"";set @gpoints,0;
query_sql "SELECT `deaths` FROM `gvg1` WHERE `guild_id`="+@GID+"",@gpoints;
query_sql "SELECT `name` FROM `gvg1` WHERE `guild_id`="+@GID+"",@name$;
if ( @name$ == "" ) { query_sql "INSERT INTO`gvg1` (`guild_id`,`name`,`deaths`) VALUES ("+@GID+",'"+strcharinfo(2)+"',1)",@esc$; end; }
query_sql "UPDATE `gvg1` SET `deaths` = `deaths` + 1 WHERE `guild_id`="+@GID+"",@esc$;
end;
}
//============== Saída ==================
guild_vs3,36,69,4 script Saida#PvP1::Saida#PvP 899,{
dispbottom "Você sairá em 10 segundos.";
addtimer 10000,"Saida#PvP::OnSairpvp";
end;
OnSairpvp:
warp "prontera.gat",155,191;
}
//============== MAP FLAG ===============
// PvP
guild_vs3 mapflag nosave
guild_vs3 mapflag noteleport
guild_vs3 mapflag nowarpto
guild_vs3 mapflag nowarp
guild_vs3 mapflag nomemo
guild_vs3 mapflag gvg off
guild_vs3 mapflag pvp
guild_vs3 mapflag nopenalty
guild_vs3 mapflag nobranch
guild_vs3 mapflag pvp_noguild
guild_vs3 mapflag noloot
guild_vs3 mapflag noexp
// PvP No-Rank
pvp_2vs2 mapflag nosave
pvp_2vs2 mapflag noteleport
pvp_2vs2 mapflag nowarpto
pvp_2vs2 mapflag nowarp
pvp_2vs2 mapflag nomemo
pvp_2vs2 mapflag gvg off
pvp_2vs2 mapflag pvp
pvp_2vs2 mapflag nopenalty
pvp_2vs2 mapflag nobranch
pvp_2vs2 mapflag pvp_noguild
pvp_2vs2 mapflag noloot
pvp_2vs2 mapflag noexp
// GvG
guild_vs2-1 mapflag nosave
guild_vs2-1 mapflag noteleport
guild_vs2-1 mapflag nowarpto
guild_vs2-1 mapflag nowarp
guild_vs2-1 mapflag nomemo
guild_vs2-1 mapflag pvp off
guild_vs2-1 mapflag gvg
guild_vs2-1 mapflag nopenalty
guild_vs2-1 mapflag nobranch
guild_vs2-1 mapflag noloot
guild_vs2-1 mapflag noexp
// GvG No-Rank
guild_vs2-2 mapflag nosave
guild_vs2-2 mapflag noteleport
guild_vs2-2 mapflag nowarpto
guild_vs2-2 mapflag nowarp
guild_vs2-2 mapflag nomemo
guild_vs2-2 mapflag pvp off
guild_vs2-2 mapflag gvg
guild_vs2-2 mapflag nopenalty
guild_vs2-2 mapflag nobranch
guild_vs2-2 mapflag noloot
guild_vs2-2 mapflag noexp
// Baby
guild_vs1-3 mapflag nosave
guild_vs1-3 mapflag noteleport
guild_vs1-3 mapflag nowarpto
guild_vs1-3 mapflag nowarp
guild_vs1-3 mapflag nomemo
guild_vs1-3 mapflag gvg off
guild_vs1-3 mapflag pvp
guild_vs1-3 mapflag nopenalty
guild_vs1-3 mapflag nobranch
guild_vs1-3 mapflag pvp_noguild
guild_vs1-3 mapflag noloot
guild_vs1-3 mapflag noexp
// Playes 1x1
guild_vs1-4 mapflag nosave
guild_vs1-4 mapflag noteleport
guild_vs1-4 mapflag nowarpto
guild_vs1-4 mapflag nowarp
guild_vs1-4 mapflag nomemo
guild_vs1-4 mapflag gvg off
guild_vs1-4 mapflag pvp
guild_vs1-4 mapflag nopenalty
guild_vs1-4 mapflag nobranch
guild_vs1-4 mapflag pvp_noguild
guild_vs1-4 mapflag noloot
guild_vs1-4 mapflag noexp
Script do Ranking:
- Código:
//===== eAthena Script =========================================
//=========== e ================================================
//===== Cronus Script ==========================================
//| |
//| ___ ___ ___ ___ |
//| /__ /__ / /__ |
//| /:/ _/_ /:/__/_ /:: /:| _|_ |
//| /::-"__ /::/__ /:::__ /::|/__ |
//| ;:;-",-" /::/ / /::/ / /|::/ / |
//| |:| | /:/ / /:/ / |:/ / |
//| |__| /__/ /__/ /__/ |
//| |
//| |e|A|T|H|E|N|A| |S|C|R|I|P|T|S| |
//| |C|r|o|n|u|S| |S|C|R|I|P|T|S| |
//===== Por: ==================================================
//= Khan - NighrmareA - pedroamoury - Easy Crazy [ atual release ]
//===== Versão Atual: =========================================
//= 1.5
//===== Changelog: ============================================
//= 1.0 - Script Inicializado [Khan]
//= 1.1 - Corrigido pequenos bugs [Khan]
//= 1.2 - Adicionado Ranking exclusivo para arena sem Ygg [NightmareA]
//= 1.3 - Retirado Rank para Arenas com Ygg [pedroamoury]
//= 1.4 - Corrigido Variaveis [pedroamoury]
//= 1.5 - Modificações no Script [Easy Crazy]
//===== Compativel Com: =======================================
//= Qualquer eAthena SQL
//===== Descrição: ============================================
//= Ranking PvP e GvG - TOP 10
//===== Comentários Adicionais ================================
//= eAthena Emulator www.eathena.ws
//=============================================================
//==== Ranking ================================================
prontera,149,194,4 script Ranking PvP 857,{
//==== Nome do NPC ============================================
set @nome$,"[ ^FF0000 Informante Servidor^000000 ]";
//=============================================================
show @nome$;
show "Olá "+strcharinfo(0)+".";
next;
show @nome$;
show "Gostaria de ver o Ranking?";
next;
switch(select("- Sim","- Não"))
{
case 1:
show @nome$;
show "Qual Ranking você gostaria de ver?";
next;
switch(select("- ^FFA500Ranking de PvP [TOP 10]^000000","- ^008B8BRanking de GvG [TOP 10]^000000","Sair"))
{
case 1:
show @nome$;
show "Ok, este o nosso Ranking de PvP [TOP 10]";
next;
query_sql "SELECT name, kills, deaths FROM pvp ORDER BY kills DESC LIMIT 10",@name$,@kills,@deaths;
dispbottom "Ranking PvP [TOP 10]";
dispbottom " ";
dispbottom "Posição <~> Nome <~> Matou <~> Morreu";
dispbottom " ";
for(set @i,0;@i<=9;set @i,@i+1) {
dispbottom "["+(@i+1)+"] <~> "+@name$[@i]+" <~> "+@kills[@i]+" <~> "+@deaths[@i]+"";
}
close;
case 2:
show @nome$;
show "Ok, este 0 nosso Ranking de GvG [TOP 10]";
next;
query_sql "SELECT name, kills, deaths FROM gvg ORDER BY kills DESC LIMIT 10",@guild_name$,@guild_kills,@guild_deaths;
dispbottom "Ranking GvG [TOP 10]";
dispbottom " ";
dispbottom "Posição <~> Nome da Guild <~> Vitórias <~> Derrotas";
dispbottom " ";
for(set @i,0;@i<=9;set @i,@i+1) {
dispbottom "["+(@i+1)+"] <~> "+@guild_name$[@i]+" <~> "+@guild_kills[@i]+" <~> "+@guild_deaths[@i]+"";
}
close;
case 3:
show @nome$;
show "Volte quando quizer";
close;
}
case 2:
show @nome$;
show "Volte quando precisar dos meus serviços.";
close;
}
}
Dom Ago 05, 2012 3:46 pm por Traxy
» [PEDIDO]- Avatar
Dom Ago 05, 2012 3:44 pm por Traxy
» PEDIDO[HACK]
Dom Ago 05, 2012 3:21 pm por Post™
» Cuidados básicos ao baixar arquivos
Dom Ago 05, 2012 1:54 pm por Traxy
» Calculador de Raiz Quadrada
Dom Ago 05, 2012 1:53 pm por Traxy
» [VB]Novo Programa Jogar por Swf
Dom Ago 05, 2012 1:52 pm por Traxy
» [VB]Criando um Gerador de Senha
Dom Ago 05, 2012 1:51 pm por Traxy
» Fazendo Wj de costas no transformice
Dom Ago 05, 2012 1:48 pm por Traxy
» Titulos Bootcamp [COMPLETO]
Dom Ago 05, 2012 1:48 pm por Traxy