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;
}