Jump to content
  • 0
Sign in to follow this  
CLps

[Ajuda] Script MVP Score , filtrar mapas

Question

Estou usando o seguinte script . créditos :Felipesaj

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

Spoiler

-	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 ; 11501159 ; 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 ! 

Edited by Shenna

Share this post


Link to post
Share on other sites

8 answers to this question

Recommended Posts

  • 1
On 13/11/2017 at 11:42 PM, Shenna said:

Estou usando o seguinte script . créditos :Felipesaj

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

  Reveal hidden contents


-	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 ; 11501159 ; 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)

Share this post


Link to post
Share on other sites
  • 1

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)

Share this post


Link to post
Share on other sites
  • 0
12 hours ago, Tsuuu said:

 


-	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 

Share this post


Link to post
Share on other sites
  • 0
23 hours ago, Tsuuu said:

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 ?

Share this post


Link to post
Share on other sites
  • 0
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?

Share this post


Link to post
Share on other sites
  • 0

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

Edited by Shenna

Share this post


Link to post
Share on other sites
  • 0
3 hours ago, Shenna said:

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.

 

3 hours ago, Shenna said:

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

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.