Juan Meissner
New member
- Messages
- 72
- Points
- 0
Olá pessoal, eu estou precisando de um recurso no Ragnarok que funcione da seguinte forma.
- Vamos supor que eu tenho um Mob chamado Minério, ele fica parado como se fosse uma planta azul ou verde!
- Esse Mob só poderá ser atacado caso em alguns casos:
Casos
- O Jogador deverá equipar o item Picareta para conseguir atacar o monstro!
- O Jogador deverá ser da profissão Minerador para poder atacar o monstro! (Exemplo

Agora vou postar o meu script para vocês entenderem e ver onde pode estar errado!if($ProfName$[ProfID] == "Minerador"){
dispbottom "Você pode atacar este monstro.";
}else{
dispbottom "Você não pode atacar este monstro.";
}
end;
hotel,110,173,5 script Testador#1 899,{
//areamonster "hotel",0,0,200,200,"Teste",1907,500;
mes "[ Testador ]";
if(QuestAtk == 0)
{
set QuestAtk,1;
monster "hotel",116,167,"--ja--",2600,1;
}
if(QuestAtk == 1)
mes "Use um ataque basico no monstro.";
if(QuestAtk == 2)
mes "Use uma skill no monstro.";
if(QuestAtk == 3)
mes "Parabens você usou uma skill.";
mes "Atual: " + QuestAtk;
if(select("- Resetar:- Nada")==2)
close3 "Até mais.", "[ Testador ]";
set QuestAtk,0;
close3 "Quest resetada..", "[ Testador ]";
OnKilMinerio1:
areamonster $mineriomapasSpawn$[rand(0, (getarraysize($mineriomapasSpawn$)-1))],0,0,1000,1000,"--ja--",IDmob,1,"OnKilMinerio1";
set .minerio1,rand(1,100);
if (.minerio1 > 1) && (.minerio1 <= 10){
getitem 625,1;
dispbottom "Parabéns, você ganhou 1 "+getitemname(625)+"";
}
if (.minerio1 > 11) && (.minerio1 <= 20){
getitem 1002,1;
dispbottom "Parabéns, você ganhou 1 "+getitemname(1002)+"!!";
}
if (.minerio1 > 21) && (.minerio1 <= 30){
getitem 1010,1;
dispbottom "Parabéns, você ganhou 1 "+getitemname(1010)+"!!";
}
if (.minerio1 > 31) && (.minerio1 <= 40){
getitem 909,1;
dispbottom "Parabéns, você ganhou 1 "+getitemname(909)+"!!";
}
if (.minerio1 > 41) && (.minerio1 <= 50){
getitem 910,1;
dispbottom "Parabéns, você ganhou 1 "+getitemname(910)+"!!";
}
if (.minerio1 > 51) && (.minerio1 <= 60){
getitem 911,1;
dispbottom "Parabéns, você ganhou 1 "+getitemname(911)+"!!";
}
if (.minerio1 > 61) && (.minerio1 <= 70){
getitem 1011,1;
dispbottom "Parabéns, você ganhou 1 "+getitemname(1011)+"!!";
}
if (.minerio1 > 71) && (.minerio1 <= 80){
getitem 990,1;
dispbottom "Parabéns, você ganhou 1 "+getitemname(990)+"!!";
}
if (.minerio1 > 81) && (.minerio1 <= 90){
getitem 991,1;
dispbottom "Parabéns, você ganhou 1 "+getitemname(991)+"!!";
}
if (.minerio1 > 91) && (.minerio1 <= 98){
getitem 993,1;
dispbottom "Parabéns, você ganhou 1 "+getitemname(993)+"!!";
}
if (.minerio1 == 99){
getitem 7232,1;
dispbottom "Parabéns, você ganhou 1 "+getitemname(757)+"!!";
}
if (.minerio1 == 100){
getitem 6104,1;
dispbottom "Parabéns, você ganhou 1 "+getitemname(6104)+"!!";
end;
}
OnInit:
setarray $mineriomapasSpawn$, "under_dun00", "under_dun01", "under_dun02", "unknown00_2", "unknown00_3", "unknown00_4", "mt_8-1";
for(set .@i,0; .@i < getarraysize($mineriomapasSpawn$); set .@i,.@i+1)
areamonster $mineriomapasSpawn$[rand(0, (getarraysize($mineriomapasSpawn$)-1))],0,0,1000,1000,"--ja--",2372,4,strnpcinfo(0)+"::OnKilMinerio1";
end;
OnPCAttackMobEvent:
if(@AtkID == 2372)
{
//dispbottom "Teste: "+@AtkID+" - "+@AtkDano+" - "+(@AtkAlvo ? "Monstro":"Player")+" - "+(@AtkTipo ? @AtkTipo:"Fisico");
if(QuestAtk == 1 && @AtkTipo == 0)
set QuestAtk,2;
if(QuestAtk == 2 && @AtkTipo != 0)
set QuestAtk,3;
}
if(@AtkAlvo)
{
if(@AtkID == 2372)
{
if($ProfName$[ProfID] == "Minerador"){
dispbottom "Você pode minerar.";
}
else
{
dispbottom "Você não é minerador.";
mobheal @AtkUnit, 2, 0;
}
}
}
end;
}
Obrigado gente!