Jump to content
  • 0

MvP points+invasion mvp


Kasthiel

Question


  • Group:  Members
  • Topic Count:  19
  • Topics Per Day:  0.00
  • Content Count:  38
  • Reputation:   3
  • Joined:  04/21/14
  • Last Seen:  

Hello, I would like to be able to help me with these 2 scripts, I want the mvp invocation to invoke the mvp and to kill it from the configured points in the other one, I tried to put everything together in one file but I could not, I kill the mvp but it does not give me Score.

-	script	Pontos MvP	-1,{
OnNPCKillEvent:
// facil
//killedrid== 3029
//1086, 1087, 1115, 1147, 1150, 1159, 1190, 1251, 1252, 1389, 1583, 1688, 1885, 1980, 2068, 2094, 2131, 2194
if(killedrid== 1086 || killedrid== 1087 || killedrid== 1115 || killedrid== 1147 || killedrid== 1150 || 
	killedrid== 1159 || killedrid== 1190 || killedrid== 1251 || killedrid== 1252 || killedrid== 1389 || 
	killedrid== 1583 || killedrid== 1688 || killedrid== 1885 || killedrid== 1980 || killedrid== 2068 ||
	killedrid== 2094 || killedrid== 2131 || killedrid== 2194){
set PontoMvp,PontoMvp+1;
dispbottom "[Pontos MvP] Parabéns "+strcharinfo(0)+", sua recompensa por derrotar esse montros é 1 [Ponto MvP] Agora você possui "+PontoMvp+" pontos.";
}
// medio
//killedrid== 3000
//killedrid== 3073
//1038, 1039, 1046, 1059, 1112, 1157, 1272, 1312, 1373, 1418, 1492, 1511, 1623, 1630, 1785, 1957, 2022, 2087, 2187, 2188, 2253, 2317, 2321,  2441, 2442, 2996
if(killedrid== 1038 || killedrid== 1039 || killedrid== 1046 || killedrid== 1059 || killedrid== 1112 || 
	killedrid== 1157 || killedrid== 1272 || killedrid== 1312 || killedrid== 1373 || killedrid== 1418 || 
	killedrid== 1492 || killedrid== 1511 || killedrid== 1623 || killedrid== 1630 || killedrid== 1785 || 
	killedrid== 1957 || killedrid== 2022 || killedrid== 2087 || killedrid== 2187 || killedrid== 2188 || 
	killedrid== 2253 || killedrid== 2317 || killedrid== 2321 || killedrid== 2441 || killedrid== 2442 || 
	killedrid== 2996){
set PontoMvp,PontoMvp+2;
dispbottom "[Pontos MvP] Parabéns "+strcharinfo(0)+", sua recompensa por derrotar esse montros é 2 [Pontos MvP] Agora você possui "+PontoMvp+" pontos.";
}
// dificil
//1658, 1685, 1708, 1719, 1734, 1768, 1779, 1917, 1929, 1956, 2189, 2190, 2202, 2251, 2255, 2319, 2362
if(killedrid== 1658 || killedrid== 1685 || killedrid== 1708 || killedrid== 1719 || killedrid== 1734 || 
	killedrid== 1768 || killedrid== 1779 || killedrid== 1917 || killedrid== 1929 || killedrid== 1956 || 
	killedrid== 2189 || killedrid== 2190 || killedrid== 2202 || killedrid== 2251 || killedrid== 2255 || 
	killedrid== 2319 || killedrid== 2362){
set PontoMvp,PontoMvp+5;
dispbottom "[Pontos MvP] Parabéns "+strcharinfo(0)+", sua recompensa por derrotar esse montros é 3 [Pontos MvP] Agora você possui "+PontoMvp+" pontos.";
}
// tenso
//killedrid== 3097
//1646, 1647, 1648, 1649, 1650, 1651, 1751, 1832, 1871, 1874, 2165, 2235, 2236, 2237, 2238, 2239, 2240, 2241, 2249, 
if(killedrid== 1646 || killedrid== 1647 || killedrid== 1648 || killedrid== 1649 || killedrid== 1650 || 
	killedrid== 1651 || killedrid== 1751 || killedrid== 1832 || killedrid== 1871 || killedrid== 1874 || 
	killedrid== 2165 || killedrid== 2235 || killedrid== 2236 || killedrid== 2237 || killedrid== 2238 || 
	killedrid== 2239 || killedrid== 2240 || killedrid== 2241 || killedrid== 2249){
set PontoMvp,PontoMvp+10;
dispbottom "[Pontos MvP] Parabéns "+strcharinfo(0)+", sua recompensa por derrotar esse montros é 5 [Pontos MvP] Agora você possui "+PontoMvp+" pontos.";
}
end;
}
-	shop	MVSHOP1	-1,512:-1
-	shop	MVSHOP2	-1,512:-1

noatun,118,216,3	script	Pontos MvP#noa	1734,{

mes "^A020F0[Loja 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 "^A020F0[Loja 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 "^A020F0[Loja 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 "^A020F0[Loja MvP]^000000";
mes "Deseja trocar seus pontos MvP por itens?";
next;
switch(select("[^339966+^000000] Sim.:[^FF0000+^000000] Não."))
{
case 1:
	mes "^A020F0[Loja MvP]^000000";
	mes "Escolha a categoria de itens que lhe interessa.";
	
	set @s, select("Equipamentos:Consumíveis/Cartas");
	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 "^A020F0[Loja 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],30074,100000,30078,100000,30096,100000,30111,100000,30114,100000,30378,100000;
	setarray .Shop2[0],4128,100000,501,10,12210,1,12208,1,12103,5;

	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;

}
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
//%%           _____    _____   _____   _____   _____    _   _____   _   _            %%
//%%          |  _  \  /  _  \ |  _  \ | ____| |  _  \  | | /  ___| | | / /           %%
//%%          | |_| |  | | | | | | | | | |__   | |_| |  | | | |     | |/ /            %%
//%%          |  _  /  | | | | | | | | |  __|  |  _  /  | | | |     | |\ \            %%
//%%          | | \ \  | |_| | | |_| | | |___  | | \ \  | | | |___  | | \ \           %%
//%%          |_|  \_\ \_____/ |_____/ |_____| |_|  \_\ |_| \_____| |_|  \_\          %%
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
//%%==================================================================================%%
//%% | Desenvolvido Por [ADM] Roderick | Cronus | Por Favor, Não Retire Os Créditos | %%
//%%==================================================================================%%
//%%  		|		TABELA SQL       (NÃO ESQUECER DE IMPORTAR PARA O BD)             %%
//%%==================================================================================%%
//%% 			DROP TABLE IF EXISTS `invasao`;
//%%		 	CREATE TABLE `invasao` (
//%% 			`id` int(11) unsigned NOT NULL auto_increment,
//%% 			`mobid` int(11) unsigned NOT NULL default '0',
//%% 			PRIMARY KEY (`id`)
//%% 			)ENGINE=MyISAM;
//%%==================================================================================%%
-	script	INVASAOMVP	-1,{	
OnInit:
//%%==================================================================================%%
//%% Colocar aqui a ID dos MVPS "normais" ou seja os MVP's que vão ser sumonado em
//%% maior quantidade
setarray $MVP[1],1086,1087,1115,1147,1150,1159,1190,1251,1252,1389,1583,1688,1885,1980,2068,2094,2131,2194,1038,1039,1046,1059,1112,1157,1272,1312,1373,1418,1492,1511,1623,1630,1785,1957,2022,2087,2187,2188,2253,2317,2321,2441,2442,2996;

//%% Colocar aqui a ID dos MVPS "melhores" ou seja os MVP's que vão ser sumonado em
//%% menor quantidade
setarray $TopMVP[1],1658,1685,1708,1719,1734,1768,1779,1917,1929,1956,2189,2190,2202,2251,2255,2319,2362,1646,1647,1648,1649,1650,1651,1751,1832,1871,1874,2165,2235,2236,2237,2238,2239,2240,2241,2249;

//%% Aqui é a % de chance que os MVPs "normais", poderam ser sumonado 2 do mesmo!!
//%% Pra cada monstro invocado, vai ser aplicado a taxa de porcetentagem para poder
//%% dobrar e invocar 2 do mesmo, sendo assim só alguns vai ser dobrado conforme a %!
//%% Colocar 100 para 100% e 0 para desabilitar essa função
set $dobroMVP,50;

//%% Aqui é a % de chance que os MVPs "melhores", poderam ser sumonado 2 do mesmo!!
//%% Pra cada monstro invocado, vai ser aplicado a taxa de porcetentagem para poder
//%% dobrar e invocar 2 do mesmo, sendo assim só alguns vai ser dobrado conforme a %!
//%% Colocar 100 para 100% e 0 para desabilitar essa função
set $dobroTOP,50;

//%% Quantidade média de MVP "normais" que vai ser sumonado, média porquê esse número
//%% poderá ser maior conforme a taxa de dobro (se estiver ativada)
set $qtdeMVP,6;

//%% Quantidade média de MVP "melhores" que vai ser sumonado, média porquê esse nº
//%% poderá ser maior conforme a taxa de dobro (se estiver ligada)%
set $qtdeTOP,1;

//%% Chance do evento poder não acontecer, se quiser que o evento sempre aconteça
//%% colocar o valor em 100 > 100%. O número equivale a % que evento VAI acontecer!!
set $acontecer,100;

//%% MAPA que vai acontecer a invasão (colocar igual o nome digitado no @warp)
set $mapa$,"prt_fild00";

//%% Nome do MAPA que vai aparecer nas mensagens globais anunciando o EVENTO!!
set $nomemapa$,"CAMPO DE PRONTERA";

//%% Quando estiver faltando 'x' MVP's pra serem mortos o npc começa mandar global
//%% avisando quantos MVP's faltam para ser mortos; Colocar 0 (zero) pra desativar
set $faltam,10;

//%%
end;

//%% Configure aqui os horários para acontecer o evento, coloque os horários em
//%% formato PM sem o separador de horas e minutos. Ex: "1945" para 19:45> 07:45 PM
//%% Pode colocar quantos horários quizer, ou também, apenas um
//OnClock<hour><minute>:
//OnMinute<minute>:
//OnHour<hour>:
//On<weekday><hour><minute>:
//OnDay<month><day>:

OnMinute00:
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

query_sql ("delete from `invasao` where id>0");
set .@iniciar,rand(1,100);
	if (.@iniciar > $acontecer){
		end;
	}
for (set .@c,1; .@c <= $qtdeMVP; .@c++){
	set .@max,getarraysize($MVP)-1;
	set .@ID,rand(1,.@max);
	query_sql ("select mobid from invasao where mobid='"+$MVP[.@ID]+"'",.@fromtable);
		if ($MVP[.@ID] == .@fromtable){
		while ($MVP[.@ID] == .@fromtable){ 		
			set .@ID,rand(1,.@max);
		}}
	set .@dobrar,rand(1,100);
		if(.@dobrar<=$dobroMVP)set .@quantos,2;
		else{ set .@quantos,1;}
		monster $mapa$,0,0,getmonsterinfo($MVP[.@ID],0),$MVP[.@ID],.@quantos,strnpcinfo(0)+"::OnKILLMOB";
		query_sql("insert into `invasao` (mobid) value ('"+$MVP[.@ID]+"')");
}
for (set .@c,1; .@c <= $qtdeTOP; .@c++){
		set .@max,getarraysize($TopMVP)-1;
		set .@ID,rand(1,.@max);
		query_sql ("select mobid from invasao where mobid='"+$TopMVP[.@ID]+"'",.@fromtable);
		if ($TopMVP[.@ID] == .@fromtable){
		while ($TopMVP[.@ID] == .@fromtable){				 
			set .@ID,rand(1,.@max);
		}}
	set .@dobrar,rand(1,100);
		if(.@dobrar<=$dobroTOP)set .@quantos,2;
		else{ set .@quantos,1;}
		monster $mapa$,0,0,getmonsterinfo($TopMVP[.@ID],0),$TopMVP[.@ID],.@quantos,strnpcinfo(0)+"::OnKILLMOB";
		query_sql("insert into `invasao` (mobid) value ('"+$TopMVP[.@ID]+"')");
}
announce "[Invasão MvP] Corram todos, vários MvP's surgiram do nada!!! "+$nomemapa$+"",bc_yellow;
sleep 5000;
announce "[Invasão MvP] Corram porquê eles vão fugir em 30 minutos!!!",bc_yellow;   //Não esqueça de alterar essa linha, caso você altere o tempo da Invasão!
initnpctimer;
set $mob,mobcount($mapa$,strnpcinfo(0)+"::OnKILLMOB");
end;
OnTimer1800000:						//Configure o tempo que a invasão durará aqui, coloque o tempo em segundos!!
killmonster $mapa$,strnpcinfo(0)+"::OnKILLMOB";
cleanmap $mapa$;
announce "[Invasão MvP] OS MvP's fugiram, a INVASÃO terminou!!!",bc_all,0xFF0000;
stopnpctimer;
end;
OnKILLMOB:
	$mob--;
    if($mob==0){
		sleep 3000;
		announce "[Invasão MvP] Todos os MvP's foram mortos, a INVASÃO terminou!!!",bc_all,0xFF0000;
		stopnpctimer;
		end;
}
	if($mob==1){
		sleep 3000;
		announce "[Invasão MvP] Falta apenas 1 MvP para a INVASÃO terminar!",bc_yellow;
	}
	if($mob<=$faltam && $mob>1){
		sleep 3000;
		announce "[Invasão MvP] Ainda existe "+$mob+" MvP's em' "+$nomemapa$+"!!",bc_yellow;
	}	
	
end;
}

 

Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

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.   Paste as plain text instead

  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.

×
×
  • Create New...