[Ajuda] Script MVP Score , filtrar mapas

CLps

New member
Messages
30
Points
0
Github
clps
Estou usando o seguinte script . créditos :Felipesaj

https://www.4shared.com/s/fnoTpxt7wei

- script Pontos MvP -1,{
OnNPCKillEvent:
if(killedrid== 1785 || killedrid== 1039 || killedrid== 1086 || killedrid== 1251 || killedrid== 1389 || killedrid== 1112 || killedrid== 1115 || killedrid== 1157 || killedrid== 1150 || killedrid== 1159 || killedrid== 1312 || killedrid== 1630 || killedrid== 1147 || killedrid== 1087 || killedrid== 1038 || killedrid== 1492 || killedrid== 1272 || killedrid== 1373 || killedrid== 1418 || killedrid== 1511 ||killedrid== 1190){
set PontoMvp,PontoMvp+1;
dispbottom "Parabéns "+strcharinfo(0)+", Sua recompensa por derrotar esse montros é 1 Ponto MvP! Agora você possui "+PontoMvp+" pontos.";
}

if(killedrid== 1059 || killedrid== 1871 || killedrid== 2068 || killedrid== 1719 || killedrid== 1046 || killedrid== 1658 || killedrid== 1885 || killedrid== 1252 || killedrid== 1734 || killedrid== 1623 || killedrid== 1685){
set PontoMvp,PontoMvp+3;
dispbottom "Parabéns "+strcharinfo(0)+", Sua recompensa por derrotar esse montros é 3 Pontos MvP! Agora você possui "+PontoMvp+" pontos.";
}

if(killedrid== 1647 || killedrid== 1648 || killedrid== 1649 || killedrid== 1650 || killedrid== 1651 || killedrid== 1646){
set PontoMvp,PontoMvp+5;
dispbottom "Parabéns "+strcharinfo(0)+", Sua recompensa por derrotar esse montros é 5 Pontos MvP! Agora você possui "+PontoMvp+" pontos.";
}

if(killedrid== 1874 || killedrid== 1832 || killedrid== 1779 || killedrid== 1668 || killedrid== 1990 || killedrid== 1708 || killedrid== 1917 || killedrid== 1768 || killedrid== 1583 || killedrid== 1751){
set PontoMvp,PontoMvp+10;
dispbottom "Parabéns "+strcharinfo(0)+", Sua recompensa por derrotar esse montros é 10 Pontos MvP! Agora você possui "+PontoMvp+" pontos.";
}

if(killedrid== 2022 || killedrid== 1956){
set PontoMvp,PontoMvp+15;
dispbottom "Parabéns "+strcharinfo(0)+", Sua recompensa por derrotar esse montros é 15 Ponto MvP! Agora você possui "+PontoMvp+" pontos.";
}
end;
}


- shop MVSHOP1 -1,512:-1
- shop MVSHOP2 -1,512:-1

prontera,173,199,4 script Loja Pontos Mvp 4_ORCWARRIOR,{
mes "[^FF0000Loja MvP^000000]";
mes "•MVP é a abreviação para Most Valuable Player, que significa Jogador de Maior Valor.";
mes "•É uma definição que não se limita apenas à Ragnarök Online.";
next;
mes "[^FF0000Loja MvP^000000]";
mes "•A dificuldade de um MVP está pelo seu HP, dano e Experiência altíssimos.";
mes "•Eles são do tipo Chefe, ou seja, possuem certas prioridades que um monstro comum não possui.";
next;
mes "[^FF0000Loja MvP^000000]";
mes "•Os MVPs são livres para todos os jogadores: qualquer um poderá atacar um MVP sem estar infringindo a regra de Kill Steal.";
mes "•Entretanto, se houver abuso e habilidade, os infratores deverão ser denunciados.";
next;
mes "[^FF0000Loja MvP^000000]";
mes "Deseja trocar seus pontos MvP por itens?";
switch(select("[^339966+^000000] Sim.:[^FF0000+^000000] Não."))
{
case 1:
next;
mes "[^FF0000Loja MvP^000000]";
mes "^FF0000Escolha a categoria de itens que lhe interessa:^000000";
set @s, select("Utilidades:Hats");
message strcharinfo(0),"Esta loja só aceita Pontos MvP.";
dispbottom "Você tem "+PontoMvp+" Pontos MvP.";
callshop "MVSHOP"+@s,1;
npcshopattach "MVSHOP"+@s;
end;
case 2:
close;
}

OnBuyItem:
mes "[^FF0000Loja MvP^000000]";
if (PontoMvp==0){mes "Você não possui Pontos Mvp"; close;}
if (PontoMvp>=1){
set .@i,0;
while (.@i < getarraysize(@bought_nameid)) {
set .@j, 0;
while (.@j < getarraysize(getd(".Shop"+@s))) {
if(getd(".Shop"+@s+"["+.@j+"]") == @bought_nameid[.@i]) {
set @itemcost, (getd(".Shop"+@s+"["+(.@j+1)+"]") * @bought_quantity[.@i]);
set @totalcost, @totalcost + @itemcost;
break; }
set .@j, .@j+2; }
set .@i, .@i+1; }
if (@totalcost > PontoMvp) dispbottom "Você não tem o suficiente de Pontos MvP.";
else {
set .@i,0;
while (.@i < getarraysize(@bought_nameid)) {
getitem @bought_nameid[.@i], @bought_quantity[.@i];

dispbottom "Você comprou "+@bought_quantity[.@i]+"x "+getitemname(@bought_nameid[.@i])+".";

set .@i, .@i+1; }
set PontoMvp,PontoMvp-@totalcost;
mes "Seu total de Pontos MvP agora é "+PontoMvp+" .";}
set @totalcost, 0;
deletearray @bought_nameid[0], 128;
deletearray @bought_quantity[0], 128;
close;
end;
}

OnInit:
setarray .Currency[1],507;
setarray .Shop1[0],12210,10,12103,15; // IDdo iten / Qntd MVPPoint
setarray .Shop2[0],5518,300,5374,300,2202,100;//

set .@i,1;
while (.@i <= getarraysize(.Currency)) {
set .@j,0;
while (.@j < getarraysize(getd(".Shop"+.@i))) {
npcshopdelitem "MVSHOP"+.@i,512;
npcshopadditem "MVSHOP"+.@i, getd(".Shop"+.@i+"["+.@j+"]"), getd(".Shop"+.@i+"["+(.@j+1)+"]");
set .@j, .@j+2; }
set .@i, .@i+1; }
end;

}

Alterei os ID's dos mvp's e a pontuação de acordo, gostaria de saber o que preciso para fazer com que as salas de MVP não contem os pontos para os MVP's de cada sala .

No caso os MVP's que não contariam pontos nas MVP's Room são :

1059 ; 1039 ; 1112 ; 1115 ; 1157 ; 1150 ; 1159 ; 1312 ; 1147 ; 1087 ; 1038 ; 1272 ; 1373 ; 1190 ; 1492 ; 1046

Sendo 1059 ; 1115 ; 1147 ; 1150 não contadores de pontos nos mapas @warp pvp_n_8-2 / @warp pvp_n_7-2 / @warp pvp_n_6-2 / @warp pvp_n_5-2 / @warp pvp_n_4-2 / @warp pvp_n_3-2 / @warp pvp_n_2-2 / @warp pvp_n_1-2 ;

Sendo 1159 ; 1312 ; 1087 ; 1190 não contadores de pontos nos mapas @warp pvp_n_8-3 / @warp pvp_n_7-3 / @warp pvp_n_6-3 / @warp pvp_n_5-3 / @warp pvp_n_4-3 / @warp pvp_n_3-3 / @warp pvp_n_2-3 / @warp pvp_n_1-3 ;

Sendo 1373 ; 1038 ; 1046 ; 1112 não contadores de pontos nos mapas @warp pvp_n_8-4 / @warp pvp_n_7-4 / @warp pvp_n_6-4 / @warp pvp_n_5-4 / @warp pvp_n_4-4 / @warp pvp_n_3-4 / @warp pvp_n_2-4 / @warp pvp_n_1-4 ;

Sendo 1039 ; 1157 ; 1272 ; 1492 não contadores de pontos nos mapas @warp pvp_n_8-5 / @warp pvp_n_7-5 / @warp pvp_n_6-5 / @warp pvp_n_5-5 / @warp pvp_n_4-5 / @warp pvp_n_3-5 / @warp pvp_n_2-5 / @warp pvp_n_1-5 ;

Se alguém puder me ajudar , eu agradeço ! 

 
Last edited by a moderator:
Estou usando o seguinte script . créditos :Felipesaj

https://www.4shared.com/s/fnoTpxt7wei

- script Pontos MvP -1,{
OnNPCKillEvent:
if(killedrid== 1785 || killedrid== 1039 || killedrid== 1086 || killedrid== 1251 || killedrid== 1389 || killedrid== 1112 || killedrid== 1115 || killedrid== 1157 || killedrid== 1150 || killedrid== 1159 || killedrid== 1312 || killedrid== 1630 || killedrid== 1147 || killedrid== 1087 || killedrid== 1038 || killedrid== 1492 || killedrid== 1272 || killedrid== 1373 || killedrid== 1418 || killedrid== 1511 ||killedrid== 1190){
set PontoMvp,PontoMvp+1;
dispbottom "Parabéns "+strcharinfo(0)+", Sua recompensa por derrotar esse montros é 1 Ponto MvP! Agora você possui "+PontoMvp+" pontos.";
}

if(killedrid== 1059 || killedrid== 1871 || killedrid== 2068 || killedrid== 1719 || killedrid== 1046 || killedrid== 1658 || killedrid== 1885 || killedrid== 1252 || killedrid== 1734 || killedrid== 1623 || killedrid== 1685){
set PontoMvp,PontoMvp+3;
dispbottom "Parabéns "+strcharinfo(0)+", Sua recompensa por derrotar esse montros é 3 Pontos MvP! Agora você possui "+PontoMvp+" pontos.";
}

if(killedrid== 1647 || killedrid== 1648 || killedrid== 1649 || killedrid== 1650 || killedrid== 1651 || killedrid== 1646){
set PontoMvp,PontoMvp+5;
dispbottom "Parabéns "+strcharinfo(0)+", Sua recompensa por derrotar esse montros é 5 Pontos MvP! Agora você possui "+PontoMvp+" pontos.";
}

if(killedrid== 1874 || killedrid== 1832 || killedrid== 1779 || killedrid== 1668 || killedrid== 1990 || killedrid== 1708 || killedrid== 1917 || killedrid== 1768 || killedrid== 1583 || killedrid== 1751){
set PontoMvp,PontoMvp+10;
dispbottom "Parabéns "+strcharinfo(0)+", Sua recompensa por derrotar esse montros é 10 Pontos MvP! Agora você possui "+PontoMvp+" pontos.";
}

if(killedrid== 2022 || killedrid== 1956){
set PontoMvp,PontoMvp+15;
dispbottom "Parabéns "+strcharinfo(0)+", Sua recompensa por derrotar esse montros é 15 Ponto MvP! Agora você possui "+PontoMvp+" pontos.";
}
end;
}


- shop MVSHOP1 -1,512:-1
- shop MVSHOP2 -1,512:-1

prontera,173,199,4 script Loja Pontos Mvp 4_ORCWARRIOR,{
mes "[^FF0000Loja MvP^000000]";
mes "•MVP é a abreviação para Most Valuable Player, que significa Jogador de Maior Valor.";
mes "•É uma definição que não se limita apenas à Ragnarök Online.";
next;
mes "[^FF0000Loja MvP^000000]";
mes "•A dificuldade de um MVP está pelo seu HP, dano e Experiência altíssimos.";
mes "•Eles são do tipo Chefe, ou seja, possuem certas prioridades que um monstro comum não possui.";
next;
mes "[^FF0000Loja MvP^000000]";
mes "•Os MVPs são livres para todos os jogadores: qualquer um poderá atacar um MVP sem estar infringindo a regra de Kill Steal.";
mes "•Entretanto, se houver abuso e habilidade, os infratores deverão ser denunciados.";
next;
mes "[^FF0000Loja MvP^000000]";
mes "Deseja trocar seus pontos MvP por itens?";
switch(select("[^339966+^000000] Sim.:[^FF0000+^000000] Não."))
{
case 1:
next;
mes "[^FF0000Loja MvP^000000]";
mes "^FF0000Escolha a categoria de itens que lhe interessa:^000000";
set @s, select("Utilidades:Hats");
message strcharinfo(0),"Esta loja só aceita Pontos MvP.";
dispbottom "Você tem "+PontoMvp+" Pontos MvP.";
callshop "MVSHOP"+@s,1;
npcshopattach "MVSHOP"+@s;
end;
case 2:
close;
}

OnBuyItem:
mes "[^FF0000Loja MvP^000000]";
if (PontoMvp==0){mes "Você não possui Pontos Mvp"; close;}
if (PontoMvp>=1){
set .@i,0;
while (.@i < getarraysize(@bought_nameid)) {
set .@j, 0;
while (.@j < getarraysize(getd(".Shop"+@s))) {
if(getd(".Shop"+@s+"["+.@j+"]") == @bought_nameid[.@i]) {
set @itemcost, (getd(".Shop"+@s+"["+(.@j+1)+"]") * @bought_quantity[.@i]);
set @totalcost, @totalcost + @itemcost;
break; }
set .@j, .@j+2; }
set .@i, .@i+1; }
if (@totalcost > PontoMvp) dispbottom "Você não tem o suficiente de Pontos MvP.";
else {
set .@i,0;
while (.@i < getarraysize(@bought_nameid)) {
getitem @bought_nameid[.@i], @bought_quantity[.@i];

dispbottom "Você comprou "+@bought_quantity[.@i]+"x "+getitemname(@bought_nameid[.@i])+".";

set .@i, .@i+1; }
set PontoMvp,PontoMvp-@totalcost;
mes "Seu total de Pontos MvP agora é "+PontoMvp+" .";}
set @totalcost, 0;
deletearray @bought_nameid[0], 128;
deletearray @bought_quantity[0], 128;
close;
end;
}

OnInit:
setarray .Currency[1],507;
setarray .Shop1[0],12210,10,12103,15; // IDdo iten / Qntd MVPPoint
setarray .Shop2[0],5518,300,5374,300,2202,100;//

set .@i,1;
while (.@i <= getarraysize(.Currency)) {
set .@j,0;
while (.@j < getarraysize(getd(".Shop"+.@i))) {
npcshopdelitem "MVSHOP"+.@i,512;
npcshopadditem "MVSHOP"+.@i, getd(".Shop"+.@i+"["+.@j+"]"), getd(".Shop"+.@i+"["+(.@j+1)+"]");
set .@j, .@j+2; }
set .@i, .@i+1; }
end;

}

Alterei os ID's dos mvp's e a pontuação de acordo, gostaria de saber o que preciso para fazer com que as salas de MVP não contem os pontos para os MVP's de cada sala .

No caso os MVP's que não contariam pontos nas MVP's Room são :

1059 ; 1039 ; 1112 ; 1115 ; 1157 ; 1150 ; 1159 ; 1312 ; 1147 ; 1087 ; 1038 ; 1272 ; 1373 ; 1190 ; 1492 ; 1046

Sendo 1059 ; 1115 ; 1147 ; 1150 não contadores de pontos nos mapas @warp pvp_n_8-2 / @warp pvp_n_7-2 / @warp pvp_n_6-2 / @warp pvp_n_5-2 / @warp pvp_n_4-2 / @warp pvp_n_3-2 / @warp pvp_n_2-2 / @warp pvp_n_1-2 ;

Sendo 1159 ; 1312 ; 1087 ; 1190 não contadores de pontos nos mapas @warp pvp_n_8-3 / @warp pvp_n_7-3 / @warp pvp_n_6-3 / @warp pvp_n_5-3 / @warp pvp_n_4-3 / @warp pvp_n_3-3 / @warp pvp_n_2-3 / @warp pvp_n_1-3 ;

Sendo 1373 ; 1038 ; 1046 ; 1112 não contadores de pontos nos mapas @warp pvp_n_8-4 / @warp pvp_n_7-4 / @warp pvp_n_6-4 / @warp pvp_n_5-4 / @warp pvp_n_4-4 / @warp pvp_n_3-4 / @warp pvp_n_2-4 / @warp pvp_n_1-4 ;

Sendo 1039 ; 1157 ; 1272 ; 1492 não contadores de pontos nos mapas @warp pvp_n_8-5 / @warp pvp_n_7-5 / @warp pvp_n_6-5 / @warp pvp_n_5-5 / @warp pvp_n_4-5 / @warp pvp_n_3-5 / @warp pvp_n_2-5 / @warp pvp_n_1-5 ;

Se alguém puder me ajudar , eu agradeço ! 


- script Pontos MvP -1,{
OnNPCKillEvent:
getmapxy @map$,@x,@y,0;
setarray .@mapname$[0], "mapa1", "mapa2", "mapa3"; //Coloque aqui todos seus mapas que deseja desabilitar a contagem

if(killedrid== 1785 || killedrid== 1039 || killedrid== 1086 || killedrid== 1251 || killedrid== 1389 || killedrid== 1112 || killedrid== 1115 || killedrid== 1157 || killedrid== 1150 || killedrid== 1159 || killedrid== 1312 || killedrid== 1630 || killedrid== 1147 || killedrid== 1087 || killedrid== 1038 || killedrid== 1492 || killedrid== 1272 || killedrid== 1373 || killedrid== 1418 || killedrid== 1511 ||killedrid== 1190){
for($i = 0; $i < getarraysize(.@mapname$); $i++)
{
if(@map$ == .@mapname$[$i])
{
message strcharinfo(0),"[Servidor] - Mvp Point Off.";
end;
}
}
set PontoMvp,PontoMvp+1;
dispbottom "Parabéns "+strcharinfo(0)+", Sua recompensa por derrotar esse montros é 1 Ponto MvP! Agora você possui "+PontoMvp+" pontos.";
}

if(killedrid== 1059 || killedrid== 1871 || killedrid== 2068 || killedrid== 1719 || killedrid== 1046 || killedrid== 1658 || killedrid== 1885 || killedrid== 1252 || killedrid== 1734 || killedrid== 1623 || killedrid== 1685){
for($i = 0; $i < getarraysize(.@mapname$); $i++)
{
if(@map$ == .@mapname$[$i])
{
message strcharinfo(0),"[Servidor] - Mvp Point Off.";
end;
}
}
set PontoMvp,PontoMvp+3;
dispbottom "Parabéns "+strcharinfo(0)+", Sua recompensa por derrotar esse montros é 3 Pontos MvP! Agora você possui "+PontoMvp+" pontos.";
}

if(killedrid== 1647 || killedrid== 1648 || killedrid== 1649 || killedrid== 1650 || killedrid== 1651 || killedrid== 1646){
for($i = 0; $i < getarraysize(.@mapname$); $i++)
{
if(@map$ == .@mapname$[$i])
{
message strcharinfo(0),"[Servidor] - Mvp Point Off.";
end;
}
}
set PontoMvp,PontoMvp+5;
dispbottom "Parabéns "+strcharinfo(0)+", Sua recompensa por derrotar esse montros é 5 Pontos MvP! Agora você possui "+PontoMvp+" pontos.";
}

if(killedrid== 1874 || killedrid== 1832 || killedrid== 1779 || killedrid== 1668 || killedrid== 1990 || killedrid== 1708 || killedrid== 1917 || killedrid== 1768 || killedrid== 1583 || killedrid== 1751){
for($i = 0; $i < getarraysize(.@mapname$); $i++)
{
if(@map$ == .@mapname$[$i])
{
message strcharinfo(0),"[Servidor] - Mvp Point Off.";
end;
}
}
set PontoMvp,PontoMvp+10;
dispbottom "Parabéns "+strcharinfo(0)+", Sua recompensa por derrotar esse montros é 10 Pontos MvP! Agora você possui "+PontoMvp+" pontos.";
}

if(killedrid== 2022 || killedrid== 1956){
for($i = 0; $i < getarraysize(.@mapname$); $i++)
{
if(@map$ == .@mapname$[$i])
{
message strcharinfo(0),"[Servidor] - Mvp Point Off.";
end;
}
}
set PontoMvp,PontoMvp+15;
dispbottom "Parabéns "+strcharinfo(0)+", Sua recompensa por derrotar esse montros é 15 Ponto MvP! Agora você possui "+PontoMvp+" pontos.";
}
end;
}


Não testei então não sei se está funcionando, o método é alternativo e considerado fora de boas práticas, procure uma forma de otimizar, foi o que veio na cabeça do noob aqui, bom proveito ! (y)

 
- script Pontos MvP -1,{
OnNPCKillEvent:
getmapxy @map$,@x,@y,0;
setarray .@mapname$[0], "mapa1", "mapa2", "mapa3"; //Coloque aqui todos seus mapas que deseja desabilitar a contagem

if(killedrid== 1785 || killedrid== 1039 || killedrid== 1086 || killedrid== 1251 || killedrid== 1389 || killedrid== 1112 || killedrid== 1115 || killedrid== 1157 || killedrid== 1150 || killedrid== 1159 || killedrid== 1312 || killedrid== 1630 || killedrid== 1147 || killedrid== 1087 || killedrid== 1038 || killedrid== 1492 || killedrid== 1272 || killedrid== 1373 || killedrid== 1418 || killedrid== 1511 ||killedrid== 1190){
for($i = 0; $i < getarraysize(.@mapname$); $i++)
{
if(@map$ == .@mapname$[$i])
{
message strcharinfo(0),"[Servidor] - Mvp Point Off.";
end;
}
}
set PontoMvp,PontoMvp+1;
dispbottom "Parabéns "+strcharinfo(0)+", Sua recompensa por derrotar esse montros é 1 Ponto MvP! Agora você possui "+PontoMvp+" pontos.";
}

if(killedrid== 1059 || killedrid== 1871 || killedrid== 2068 || killedrid== 1719 || killedrid== 1046 || killedrid== 1658 || killedrid== 1885 || killedrid== 1252 || killedrid== 1734 || killedrid== 1623 || killedrid== 1685){
for($i = 0; $i < getarraysize(.@mapname$); $i++)
{
if(@map$ == .@mapname$[$i])
{
message strcharinfo(0),"[Servidor] - Mvp Point Off.";
end;
}
}
set PontoMvp,PontoMvp+3;
dispbottom "Parabéns "+strcharinfo(0)+", Sua recompensa por derrotar esse montros é 3 Pontos MvP! Agora você possui "+PontoMvp+" pontos.";
}

if(killedrid== 1647 || killedrid== 1648 || killedrid== 1649 || killedrid== 1650 || killedrid== 1651 || killedrid== 1646){
for($i = 0; $i < getarraysize(.@mapname$); $i++)
{
if(@map$ == .@mapname$[$i])
{
message strcharinfo(0),"[Servidor] - Mvp Point Off.";
end;
}
}
set PontoMvp,PontoMvp+5;
dispbottom "Parabéns "+strcharinfo(0)+", Sua recompensa por derrotar esse montros é 5 Pontos MvP! Agora você possui "+PontoMvp+" pontos.";
}

if(killedrid== 1874 || killedrid== 1832 || killedrid== 1779 || killedrid== 1668 || killedrid== 1990 || killedrid== 1708 || killedrid== 1917 || killedrid== 1768 || killedrid== 1583 || killedrid== 1751){
for($i = 0; $i < getarraysize(.@mapname$); $i++)
{
if(@map$ == .@mapname$[$i])
{
message strcharinfo(0),"[Servidor] - Mvp Point Off.";
end;
}
}
set PontoMvp,PontoMvp+10;
dispbottom "Parabéns "+strcharinfo(0)+", Sua recompensa por derrotar esse montros é 10 Pontos MvP! Agora você possui "+PontoMvp+" pontos.";
}

if(killedrid== 2022 || killedrid== 1956){
for($i = 0; $i < getarraysize(.@mapname$); $i++)
{
if(@map$ == .@mapname$[$i])
{
message strcharinfo(0),"[Servidor] - Mvp Point Off.";
end;
}
}
set PontoMvp,PontoMvp+15;
dispbottom "Parabéns "+strcharinfo(0)+", Sua recompensa por derrotar esse montros é 15 Ponto MvP! Agora você possui "+PontoMvp+" pontos.";
}
end;
}


Não testei então não sei se está funcionando, o método é alternativo e considerado fora de boas práticas, procure uma forma de otimizar, foi o que veio na cabeça do noob aqui, bom proveito ! (y)
Irei testar no servidor e caso não tenha problemas eu edito aqui . Mas mesmo assim , muito obrigado por perder um tempo pra me ajudar cara . Vlw mesmo 

 
Acabei testando aqui no meu servidor e funcionou, não sou um programador muito experiente, com meu conhecimento deu pra fazer essa gambiarra aí, qualquer dúvida pode postar aí que a gente tenta ajudar !   Valeu. (Y)

 
Acabei testando aqui no meu servidor e funcionou, não sou um programador muito experiente, com meu conhecimento deu pra fazer essa gambiarra aí, qualquer dúvida pode postar aí que a gente tenta ajudar !   Valeu. (Y)
Cara funcionou aqui também , muito obrigado . Agora surgiu um novo problema ... Eu queria fazer que os monstros

 Naght Sieger (id: 1956) mapa ( 6@tower

- The Endless Tower )
e Sombra de Nidhogg (id: 2022)  mapa (2@nyd

- Nidhoggur's Nest Lv 2 )
contassem pontos , porém eles são invocados a partir de quest e não estão contando ! Você sabe se tem algum jeito de fazer com que esses monstros contem ponto nos mapas de respawn dele ?

 
OnNPCKillEvent:

This special label triggers when a player kills a monster. The variable
'killedrid' is set to the Class of the monster killed.


Seguindo a lógica do script deveria funcionar mesmo sendo 'invocados a partir de quest'.

Se você não listou os mapas 6@tower e 2@nyd nessa linha:

setarray .@mapname$[0], "mapa1", "mapa2", "mapa3"; //Coloque aqui todos seus mapas que deseja desabilitar a contagem


deveria contar os pontos sem problema, já que existe essa verificação:
 

if(killedrid== 2022 || killedrid== 1956){
for($i = 0; $i < getarraysize(.@mapname$); $i++)
{
if(@map$ == .@mapname$[$i])
{
message strcharinfo(0),"[Servidor] - Mvp Point Off.";
end;
}
}
set PontoMvp,PontoMvp+15;
dispbottom "Parabéns "+strcharinfo(0)+", Sua recompensa por derrotar esse montros é 15 Ponto MvP! Agora você possui "+PontoMvp+" pontos.";
}


O que você pode fazer é verificar se o monstro invocado pela quest tem esse mesmo ID.

Obs: Quando você mata esses dois monstros dá algum erro? Retorna alguma mensagem?

 
Bom eu subi a torre e os MVP`s de la nao contam ponto , e isso e' algo que eu realmente queria , porem eu tinha a intencao de fazer com que o Naght Sieger contasse 15 pontos ( Por ser um MVP dificil de se chegar ate , mesma coisa com o Niddhogg ) Porem como nenhum MVP da torre ta contando , eu imagino que o Naght tambem nao va contar ! 

Quanto ao Nidd , eu imagino que ele nao va contar tambem , por ser invocado em uma quest assim como a Torre .

Outra coisa que encontrei testando esse sistema , e' que os monstros invocados pelo comando @monster , durante eventos , tambem estao contando pontos e isso era algo que eu nao queria que acontecesse ! 

Agradeco por estar perdendo tempo testando / procurando sobre isso para me ajudar ! Vlw mesmo .

@Tsuuu

 
Last edited by a moderator:
Bom eu subi a torre e os MVP`s de la nao contam ponto , e isso e' algo que eu realmente queria , porem eu tinha a intencao de fazer com que o Naght Sieger contasse 15 pontos ( Por ser um MVP dificil de se chegar ate , mesma coisa com o Niddhogg ) Porem como nenhum MVP da torre ta contando , eu imagino que o Naght tambem nao va contar ! 

Quanto ao Nidd , eu imagino que ele nao va contar tambem , por ser invocado em uma quest assim como a Torre .

@Tsuuu
Acredito que você pode fazer essa mudança manualmente, exemplo...
Vá até o script da quest de nyddhog, no caso o meu fica em npc/instances/NydhoggsNest.txt e procure pela parte que invoca o monstro, sempre vai chamar um evento ao derrotar ele, no caso do nyd seria aqui:

2@nyd,2,2,0 script nyd_2f_boss_enter_call FAKE_NPC,{
OnEnable:
monster .@map$,199,327,"Nidhoggur's Shadow",2022,1,instance_npcname("nyd_2f_boss_enter_call")+"::OnMyMobDead"; //AQUI INVOCA O MPV
end;

OnMyMobDead: // AQUI RODA QUANDO MORRE, COLOQUE AQUI SEU COMANDO.
// pontomvp += 15; ---> 15 pontos pra matar o nyddhog
.@map$ = instance_mapname("2@nyd");
end;
}


Seguindo essa lógica é só fazer o mesmo no script da torre sem fim.

Outra coisa que encontrei testando esse sistema , e' que os monstros invocados pelo comando @monster , durante eventos , tambem estao contando pontos e isso era algo que eu nao queria que acontecesse !

@Tsuuu


Nesse caso você teria que colocar uma verificação pra cada mvp, segue o exemplo:

- script Pontos MvP -1,{
OnNPCKillEvent:
getmapxy @map$,@x,@y,0;
setarray .@mapname$[0], "mapa1", "mapa2", "mapa3"; //Coloque aqui todos seus mapas que deseja desabilitar a contagem

if(killedrid== 1251){
for($i = 0; $i < getarraysize(.@mapname$); $i++)
{
if(@map$ == .@mapname$[$i])
{
message strcharinfo(0),"[Servidor] - Mvp Point Off.";
end;
}
}
if(@map$ == "xmas_dun02")
{
PontoMvp += 1;
dispbottom "Parabéns "+strcharinfo(0)+", Sua recompensa por derrotar esse montros é 1 Ponto MvP! Agora você possui "+PontoMvp+" pontos.";
} else {
dispbottom "[Servidor] - Os pontos do rank mvp não são obtidos ao matar monstros chefe fora de seu mapa original", 0xb77823;
}
end;
}
end;
}


Obs: Não testei isso, se der erro posta aí.

 
Back
Top