Boa tarde galera !!!
Utilizo esse npc de teleporte para o pvp:
E eu gostaria de fazer o seguinte.
Onde estáPVP Inicianteeu gostaria de fazer com que o npc diga algo como, "você está utilizando alguma carta mvp e não pode ser teleportado para essa arena" ou algo do tipo. e o npc não permite que a pessoa teleporte para esse mapa até que ela remova todas as cartas mvps.
Se alguem puder me ajudar com isso eu ficaria muito agradecido.
Eu adicionei esse case 1:
if(countitem(4357)>= 1) goto DON; ....
mas isso só impede que o jogador entre caso a carta mvp esteja em seu inventario.
e eu gostaria que bloqueasse todas as cartas alem das que estão no inventário as que estão equipadas também...
ai no caso as outras as outras 3 arenas q é pvp normal, Players 1vs1 e GVG pode entrar com qualquer mvp.
//===== Por: ==================================================
//= Wukong - v1.0
//= Khan - v3.0
//= NightmareA - v4.0
//= NightmareA - v5.0
//= pedroamoury - v6.0
//= Easy Crazy - v7.0
//= Linne - v7.1
//===== Versão Atual: =========================================
//= 7.1
//===== Changelog: ============================================
//= 7.1 - Atualizado por Linne.
//===== 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
//=============================================================
//===== Arena da Morte ========================================
rachel,134,116,6 script Arena 404,{
//===== Nome do npc. ==========================================
set @nome$,"[^FF0000Arena da Morte^000000]";
//===== Arena PvP =============================================
set $pvp$[0],"ordeal_3-1";//Arena 1
set $pvpn$[0],"pvp_2vs2";//Arena 1
//===== Arena GvG =============================================
set $gvg$[0],"guild_vs3";// 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
//===== Arena Baby =============================================
mes @nome$;
mes "Olá "+strcharinfo(0)+".";
mes "Escolha qual destino deseja ir";
next;
switch(select("- PvP Normal (^0000FF"+getmapusers($pvp$[$pvp])+"^000000) Jogadores","- PvP Iniciante (^0000FF"+getmapusers($gvg$[$gvg])+"^000000) Jogadores","- GvG (^0000FF"+getmapusers($pvpn$[$pvpn])+"^000000) Jogadores","- Playes 1vs1 (^0000FF"+getmapusers($playe$[$playe])+"^000000) Jogadores","- Sair"))
{
case 2:
mes @nome$;
mes "Volte quando precisar dos meus serviços.";
close;
}
close;
case 4:
switch(select("- 1 VS 1","- Sair"))
{
case 1:
percentheal 100,100;
if(!getcharid(2)) {mes "Você precisa estar em uma guild para poder entrar"; close;}
warp $gvgn$,0,0; end;
case 2:
mes @nome$;
mes "Volte quando precisar dos meus serviços.";
close;
}
close;
case 5:
{
mes @nome$;
mes "Volte quando precisar dos meus serviços.";
close;
}
close;
case 6:
switch(select("- Playes 1vs1","- Sair"))
{
case 1:
if (getmapusers("guild_vs1-4") > 1) {mes "Limite de 2 pessoas atingidos."; close;}
warp $playe$,0,0; end;
case 2:
mes @nome$;
mes "Volte quando precisar dos meus serviços.";
close;
}
close;
case 7:
mes @nome$;
mes "Volte quando precisar dos meus serviços.";
close;
}
DON:
mes "[PvP Iniciante]";
mes "voce nao e um iniciante!";
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;
Boa tarde galera !!!
Utilizo esse npc de teleporte para o pvp:
E eu gostaria de fazer o seguinte.
Onde está PVP Iniciante eu gostaria de fazer com que o npc diga algo como, "você está utilizando alguma carta mvp e não pode ser teleportado para essa arena" ou algo do tipo. e o npc não permite que a pessoa teleporte para esse mapa até que ela remova todas as cartas mvps.
Se alguem puder me ajudar com isso eu ficaria muito agradecido.
Eu adicionei esse case 1:
if(countitem(4357)>= 1) goto DON; ....
mas isso só impede que o jogador entre caso a carta mvp esteja em seu inventario.
e eu gostaria que bloqueasse todas as cartas alem das que estão no inventário as que estão equipadas também...
ai no caso as outras as outras 3 arenas q é pvp normal, Players 1vs1 e GVG pode entrar com qualquer mvp.
//===== Por: ==================================================
//= Wukong - v1.0
//= Khan - v3.0
//= NightmareA - v4.0
//= NightmareA - v5.0
//= pedroamoury - v6.0
//= Easy Crazy - v7.0
//= Linne - v7.1
//===== Versão Atual: =========================================
//= 7.1
//===== Changelog: ============================================
//= 7.1 - Atualizado por Linne.
//===== 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
//=============================================================
//===== Arena da Morte ========================================
rachel,134,116,6 script Arena 404,{
//===== Nome do npc. ==========================================
set @nome$,"[^FF0000Arena da Morte^000000]";
//===== Arena PvP =============================================
set $pvp$[0],"ordeal_3-1";//Arena 1
set $pvpn$[0],"pvp_2vs2";//Arena 1
//===== Arena GvG =============================================
set $gvg$[0],"guild_vs3";// 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
//===== Arena Baby =============================================
mes @nome$;
mes "Olá "+strcharinfo(0)+".";
mes "Escolha qual destino deseja ir";
next;
switch(select("- PvP Normal (^0000FF"+getmapusers($pvp$[$pvp])+"^000000) Jogadores","- PvP Iniciante (^0000FF"+getmapusers($gvg$[$gvg])+"^000000) Jogadores","- GvG (^0000FF"+getmapusers($pvpn$[$pvpn])+"^000000) Jogadores","- Playes 1vs1 (^0000FF"+getmapusers($playe$[$playe])+"^000000) Jogadores","- Sair"))
{
case 1:
switch(select("- Arena PvP","- Sair"))
{
case 1:
set @evento, rand(1,5);
if(@evento == 1){ warp "ordeal_3-1",150,123; }
if(@evento == 2){ warp "ordeal_3-1",122,148; }
if(@evento == 3){ warp "ordeal_3-1",150,176; }
if(@evento == 4){ warp "ordeal_3-1",177,149; }
if(@evento == 5){ warp "ordeal_3-1",150,150; }
end;
case 2:
mes @nome$;
mes "Volte quando precisar dos meus serviços.";
close;
}
close;
case 2:
switch(select("- PvP iniciante","- Sair"))
{
case 1:
if(countitem(4357)>= 1) goto DON;
if(countitem(4359)>= 1) goto DON;
if(countitem(4361)>= 1) goto DON;
if(countitem(4367)>= 1) goto DON;
if(countitem(4372)>= 1) goto DON;
if(countitem(4374)>= 1) goto DON;
if(countitem(4376)>= 1) goto DON;
if(countitem(4386)>= 1) goto DON;
if(countitem(4399)>= 1) goto DON;
if(countitem(4403)>= 1) goto DON;
if(countitem(4407)>= 1) goto DON;
if(countitem(4408)>= 1) goto DON;
if(countitem(4419)>= 1) goto DON;
if(countitem(4425)>= 1) goto DON;
if(countitem(4430)>= 1) goto DON;
if(countitem(4441)>= 1) goto DON;
if(countitem(4047)>= 1) goto DON;
if(countitem(4054)>= 1) goto DON;
if(countitem(4121)>= 1) goto DON;
if(countitem(4123)>= 1) goto DON;
if(countitem(4128)>= 1) goto DON;
if(countitem(4131)>= 1) goto DON;
if(countitem(4132)>= 1) goto DON;
if(countitem(4134)>= 1) goto DON;
if(countitem(4135)>= 1) goto DON;
if(countitem(4137)>= 1) goto DON;
if(countitem(4131)>= 1) goto DON;
if(countitem(4142)>= 1) goto DON;
if(countitem(4143)>= 1) goto DON;
if(countitem(4144)>= 1) goto DON;
if(countitem(4146)>= 1) goto DON;
if(countitem(4148)>= 1) goto DON;
if(countitem(4168)>= 1) goto DON;
if(countitem(4174)>= 1) goto DON;
if(countitem(4236)>= 1) goto DON;
if(countitem(4241)>= 1) goto DON;
if(countitem(4242)>= 1) goto DON;
if(countitem(4263)>= 1) goto DON;
if(countitem(4276)>= 1) goto DON;
if(countitem(4302)>= 1) goto DON;
if(countitem(4305)>= 1) goto DON;
if(countitem(4318)>= 1) goto DON;
if(countitem(4324)>= 1) goto DON;
if(countitem(4330)>= 1) goto DON;
if(countitem(4342)>= 1) goto DON;
next;
mes "[PvP Sem Donate]";
mes "Boa luta ^^";
warp $gvg$,0,0; end;
case 2:
mes @nome$;
mes "Volte sempre que quiser.";
close;
}
close;
case 3:
switch(select("- Arena GvG","- Sair"))
{
case 1:
set @evento, rand(1,5);
if(@evento == 1){ warp "pvp_2vs2",40,19; }
if(@evento == 2){ warp "pvp_2vs2",19,40; }
if(@evento == 3){ warp "pvp_2vs2",39,59; }
if(@evento == 4){ warp "pvp_2vs2",59,39; }
if(@evento == 5){ warp "pvp_2vs2",40,31; }
end;
// warp $pvpn$,0,0; end;
case 2:
mes @nome$;
mes "Volte quando precisar dos meus serviços.";
close;
}
close;
case 4:
switch(select("- 1 VS 1","- Sair"))
{
case 1:
percentheal 100,100;
if(!getcharid(2)) {mes "Você precisa estar em uma guild para poder entrar"; close;}
warp $gvgn$,0,0; end;
case 2:
mes @nome$;
mes "Volte quando precisar dos meus serviços.";
close;
}
close;
case 5:
{
mes @nome$;
mes "Volte quando precisar dos meus serviços.";
close;
}
close;
case 6:
switch(select("- Playes 1vs1","- Sair"))
{
case 1:
if (getmapusers("guild_vs1-4") > 1) {mes "Limite de 2 pessoas atingidos."; close;}
warp $playe$,0,0; end;
case 2:
mes @nome$;
mes "Volte quando precisar dos meus serviços.";
close;
}
close;
case 7:
mes @nome$;
mes "Volte quando precisar dos meus serviços.";
close;
}
DON:
mes "[PvP Iniciante]";
mes "voce nao e um iniciante!";
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,{
announce "Você sairá em 10 segundos.",bc_self,0x90FFFF;
addtimer 10000,"Saida#PvP::OnSairpvp";
end;
OnSairpvp:
warp "SavePoint",0,0;
}
//============== MAP FLAG ===============
// PvP
ordeal_3-1 mapflag nosave
ordeal_3-1 mapflag noteleport
ordeal_3-1 mapflag nowarpto
ordeal_3-1 mapflag nowarp
ordeal_3-1 mapflag nomemo
ordeal_3-1 mapflag gvg off
ordeal_3-1 mapflag pvp
ordeal_3-1 mapflag nopenalty
ordeal_3-1 mapflag nobranch
ordeal_3-1 mapflag pvp_noguild
ordeal_3-1 mapflag noloot
ordeal_3-1 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_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 noloot
guild_vs3 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
Share this post
Link to post
Share on other sites