Jump to content
  • 0

problem in the script (explosive_mining)


Question

3 answers to this question

Recommended Posts

  • 0
Posted (edited)

Hi guys, These errors appeared when I updated rAthena. I am using the current rAthena.

/////////////////////////////////////////////////////////////////////////
//---------------------------------------------------------------------//
//                       MINING (EXPLOSION TYPE)                       //
//                     AUTHOR: LIL TROLL//COLDFIRE                     //
//---------------------------------------------------------------------//
//                          RATHENA SCRIPT                             //
//---------------------------------------------------------------------//
//                            Version 1                                //
//---------------------------------------------------------------------//
//    Credits to:                                                         //
//     - Sir Emistry(For teaching me OnTouch)                                //
//    - Lesbie for requesting the script.                                //
//     FEATURES:                                                               //
//    - Set the configuration, run the script.                            //
//    - Player set the explosion and run for it!                       //
//    - Wait till the explosion off then grab the items.               //
//    - NPC AutoHides after set of explosions.                            //
//    - Then add duplicates.                                             //
//---------------------------------------------------------------------//
/////////////////////////////////////////////////////////////////////////
    
mina,192,64,0    script    Usar Explosivos    4_crack,3,3,{

function    Scatter_Debris;
    if(@ExplodedInFace == 2 ) end;
    for (.@i = 0; .@i < getarraysize(.Equips); .@i++){
        if (!isequipped(.Equips[.@i])){
            message strcharinfo(0), "Eu preciso equipar '"+ getitemname(.Equips[.@i]) +"' para minerar!";
            .@Unequipped++;
        }
    }
    if (.@Unequipped){
        message strcharinfo(0), .@Unequipped +" de "+ getarraysize(.Equips) +" o equipamento não foi usado.";
        end;
    }
    for (.@i = 0; .@i < getarraysize(.Explosives); .@i++){
        if (countitem(.Explosives[.@i]) < .Amount[.@i]){
            message strcharinfo(0), "I need to bring "+ .Amount[.@i] +" "+ getitemname(.Explosives[.@i]) +" explosives to mine!";
            .@Gearless++;
        }
    }
    if (.@gearless){
        if (getarraysize(.Explosives) > 1)
            .@Dialogue$ = "ferramentas foram";
        else
            .@Dialogue$ = "ferramenta foi";
            message strcharinfo(0), .@Gearless +" of "+ getarraysize(.Explosives) +" "+ .@Dialogue$ +" não trouxe.";    
            end;
    }
    for (.@i = 0; .@i < getarraysize(.SFXS); .@i++) specialeffect .SFXS[.@i];
    for (.@i = 0; .@i < getarraysize(.SFXS); .@i++) specialeffect2 .SFXS[.@i];
    specialeffect2 950;
    progressbar "green",.Progress;
    specialeffect2 950;
    set @ExplodedInFace,2;
    for (.@i = 0; .@i < getarraysize(.Explosives); .@i++) {
        delitem .Explosives[.@i],.Amount[.@i]; 
    }
    announce "Explosivos foram colocados, corra para bem longe da mina!! ...",bc_self; 
    sleep2 1000;
    announce "5..",bc_self;
    sleep2 1000;
    announce "4..",bc_self;
    sleep2 1000;
    announce "3..",bc_self;
    sleep2 1000;
    announce "2..",bc_self;
    sleep2 1000;
    announce "1..",bc_self;
    set @ExplodedInFace,1;
    sleep2 1000;
    announce "Explosões Acontecendo!",bc_self;
    if(checkidle(strcharinfo(0))>=.Delay) {
        unitskilluseid getcharid(3),"NPC_SELFDESTRUCTION",1;
        announce "Você morreu na explosão!",bc_self;
    }
    Scatter_Debris;
    sleep2 1000;
    Scatter_Debris;
    sleep2 1000;
    Scatter_Debris;
    sleep2 1000;
    Scatter_Debris;
    sleep2 1000;
    Scatter_Debris;
    set @ExplodedInFace,0;
    announce "As explosões acabaram!",bc_self;
    hideonnpc strnpcinfo(0);
        set .@Random,rand(1,100);
    if(.@Random < .Chance) {
        for(set .@i,0; .@i<getarraysize(.Rewards); set .@i,.@i+1){
            getmapxy(.@m$,.@x,.@y,1);
            set .@Rewards,.Rewards[rand(getarraysize(.Rewards))];
            set .@Amount,.Amount[rand(getarraysize(.Amount))];
            makeitem .@Rewards,.@Amount,.@m$,.@x+rand(-.ScatArea,.ScatArea),.@y+rand(-.ScatArea,.ScatArea);
            sleep2 .Hidetime*60000;
            hideoffnpc strnpcinfo(0);
        end;
        }
    }
    else {
        set @ExplodedInFace,0;
        sleep2 .Hidetime*60000;
        hideoffnpc strnpcinfo(0);
        end;
    }

set @ExplodedInFace,0;

function    Scatter_Debris    {
    getmapxy(.@m$,.@x,.@y,1);                // DONT CHANGE THIS ONE.
    for (.@i = 0; .@i < getarraysize(.SFX); .@i++) specialeffect .SFX[.@i];
    set .@Debris,$Debris[rand(getarraysize($Debris))];
    set .@Scatter,$Scatter[rand(getarraysize($Scatter))];
    makeitem .@Debris,.@Scatter,.@m$,.@x+rand(-.ScatArea,.ScatArea),.@y+rand(-.ScatArea,.ScatArea);
    return;
}

OnTouch:
    if(@ExplodedInFace==1){
        specialeffect2 EF_SUI_EXPLOSION;
        unitskilluseid getcharid(3),"NPC_SELFDESTRUCTION",1;
        announce "Você morreu na explosão!",bc_self;
        set @ExplodedInFace,0;
    }
end;

OnInit:    
set .Chance,25;                    // MINING REWARD CHANCE IN %.
setarray .Equips[0],5009,30472,30474;     // CHANGE THIS TO MINING EQUIPMENTS.
setarray .Explosives[0],30616,30617,30618;    // CHANGE THIS TO MINING EXPLOSIVES(CREATE YOUR OWN ITEM ID FOR EXPLOSIVE).   
setarray .Amount[0],1,1,1;            // EXPLOSIVES AMOUNT.
setarray .Rewards[0],30098,7049,30634;        // MINING REWARDS.
setarray .RewAmou[0],1,2,3;            // REWARDS AMOUNT.
set .Progress,5;                    // TIME TO SET THE EXPLOSIVE ON MINE.
set .HideTime,1;                    // MINE HIDES AFTER IT EXPLODE, APPEAR AGAIN TIME. IN MINUTES.
setarray .Debris[0],7049,757,756,6077,1010,1011,984,985;    // DEBRIS, STONES,ELUNIUM,ORIDECON,REFINE MATERIALS && ETC..
setarray .Scatter[0],1,2,3;                            // DEBRIS AMOUNT.
setarray .ScatArea[0],1,2,3;                            // SCATTER AREA.
setarray .SFXS[0],225,805,60;                            // MINING CAST
setarray .SFX[0],44,100,4,18,53,65,960,965,967,901,730,722,585,32,907,810,941,563;    // Mining Explosion.
set .Delay,5;                                    
end;
}

mina,302,356,0    duplicate(Usar Explosivos)    Usar Explosivos#2    4_crack
mina,368,333,0    duplicate(Usar Explosivos)    Usar Explosivos#3    4_crack
mina,112,378,0    duplicate(Usar Explosivos)    Usar Explosivos#4    4_crack
mina,126,299,0    duplicate(Usar Explosivos)    Usar Explosivos#5    4_crack
mina,61,360,0    duplicate(Usar Explosivos)    Usar Explosivos#6    4_crack
mina,171,241,0    duplicate(Usar Explosivos)    Usar Explosivos#7    4_crack
mina,131,142,0    duplicate(Usar Explosivos)    Usar Explosivos#8    4_crack
mina,28,121,0    duplicate(Usar Explosivos)    Usar Explosivos#9    4_crack
mina,51,238,0    duplicate(Usar Explosivos)    Usar Explosivos#10    4_crack
mina,163,371,0    duplicate(Usar Explosivos)    Usar Explosivos#11    4_crack
mina,206,389,0    duplicate(Usar Explosivos)    Usar Explosivos#12    4_crack
mina,143,81,0    duplicate(Usar Explosivos)    Usar Explosivos#17    4_crack
mina,257,319,0    duplicate(Usar Explosivos)    Usar Explosivos#18    4_crack

mina2,92,92,0    duplicate(Usar Explosivos)    Usar Explosivos#13    4_crack
mina2,84,55,0    duplicate(Usar Explosivos)    Usar Explosivos#14    4_crack
mina2,30,79,0    duplicate(Usar Explosivos)    Usar Explosivos#15    4_crack
mina2,62,40,0    duplicate(Usar Explosivos)    Usar Explosivos#16    4_crack

 

Erro 1 explosive_mining.png

Erro 2 explosive_mining.png

Edited by Emistry
codebox
  • 0
Posted
    set .@Debris,$Debris[rand(getarraysize($Debris))];
    set .@Scatter,$Scatter[rand(getarraysize($Scatter))];

change to

    set .@Debris,.Debris[rand(getarraysize(.Debris))];
    set .@Scatter,.Scatter[rand(getarraysize(.Scatter))];

 

  • Love 1

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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...