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

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

  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.

Loading...
Sign in to follow this  

×
×
  • Create New...

Important Information

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