Jump to content
Emistry

Utility: DotA Runes

Recommended Posts

File Name: DotA Runes

File Submitter: Emistry

File Submitted: 29 Jul 2012

File Category: Utilities

Content Author: Emistry


I believe most of you have heard of this or seen this before in DotA ( Defend of the Ancient )
Well, this script work alike with the Runes System you seen in the DotA.

It will give players a Buff / Bonus Randomly .

Video Preview :



Configuration :
OnInit:	// Runes Duration in Seconds	set .duration,60;	// Name of Each Runes.	setarray .name$[0],		"Double Damage",	//	2 x ATK Rate		"Invisibility",		//	Cloaking		"Regeneration",		//	HP / SP Regeneration		"Self Clone",		//	Create 2 Clones		"Unlimit Haste";	//	Improve Movement Speed	// npc sprite switching if any.	setarray .npc_sprite,		112,		113,		114,		115,		116;			// Random Coordinate where NPC will Shown Again	setarray .CoordinateX[0],150,155;	setarray .CoordinateY[0],175,175;


Add in more cases if you add extra Buff / Bonus. ( make sure edit the .names$ Array also )

	switch( .runes ){		case 0:			// 2x ATK / MATK			sc_start SC_INCATKRATE,( .duration * 1000 ),100;			sc_start SC_INCMATKRATE,( .duration * 1000 ),100;			break;		case 1:			// Invisible			skill "AS_CLOAKING",10,1;			sc_start SC_CLOAKING,( .duration * 1000 ),10;			break;		case 2:			// Restore			sc_start4 SC_REGENERATION,( .duration * 1000 ),-10,1,0,0;			break;		case 3:			// Clone			getmapxy( [email protected]$,[email protected],[email protected],0,strcharinfo(0) );			clone [email protected]$,[email protected],[email protected],"",getcharid(0),getcharid(0),"",1,.duration;			clone [email protected]$,[email protected],[email protected],"",getcharid(0),getcharid(0),"",1,.duration;			break;		case 4:			// Haste			sc_start SC_SpeedUp1,( .duration * 1000 ),0;			break;		default: end;	}



Click here to download this file

Link to comment
Share on other sites

/http://rathena.org/board/topic/57784-request-dota-runes/page__fromsearch__1

pvp_n_2-5,99,100,5    script    Runes    757,1,1,{
dispbottom "Walkthrough to get Runes.";
end;

OnTouch:
    switch( .runes ){
        case 0:
            // 2x ATK / MATK
            sc_start SC_INCATKRATE,( .duration * 1000 ),100;
            sc_start SC_INCMATKRATE,( .duration * 1000 ),100;
            break;
        case 1:
            // Invisible
            skill "AS_CLOAKING",10,1;
            sc_start SC_CLOAKING,( .duration * 1000 ),10;
            break;
        case 2:
            // Restore
            sc_start4 SC_REGENERATION,( .duration * 1000 ),-10,1,0,0;
            break;
        case 3:
            // Clone
            getmapxy( [email protected]$,[email protected],[email protected],0,strcharinfo(0) );
            clone [email protected]$,[email protected],[email protected],"",getcharid(0),getcharid(0),"",1,.duration;
            clone [email protected]$,[email protected],[email protected],"",getcharid(0),getcharid(0),"",1,.duration;
            break;
        case 4:
            // Haste
            sc_start SC_SpeedUp1,( .duration * 1000 ),0;
            break;
        default: end;
    }
    announce "[Rune]  "+strcharinfo(0)+" gained "+.name$[.runes]+".",bc_self,0x00FF00;
    hideonnpc .npc_name$;
    delwaitingroom;
    .runes = -1;
    attachnpctimer;
    initnpctimer;
    specialeffect2 EF_PROVIDENCE;
    end;
    
OnTimer6000:
    sc_end SC_CLOAKING;
    sc_end SC_REGENERATION;
OnTimerQuit:
    stopnpctimer;
    callsub( OnAssign );
    end;

OnAssign:
    .random = rand( .coordinate_size );
    movenpc .npc_name$,.CoordinateX[ .random ],.CoordinateY[ .random ];
    hideoffnpc .npc_name$;
    if( .runes < 0 ) 
        .runes = rand( .rune_size );
    if( .npc_sprite[.runes] )
        setnpcdisplay( .npc_name$,.name$[.runes],.npc_sprite[.runes] );
    delwaitingroom;
    waitingroom "   "+.name$[.runes],0;
    return;

OnInit:
    // Runes Duration in Seconds
    set .duration,60;

    // Name of Each Runes.
    setarray .name$[0],
        "Double Damage",    //    2 x ATK Rate
        "Invisibility",        //    Cloaking
        "Regeneration",        //    HP / SP Regeneration
        "Illusion",        //    Create 2 Clones
        "Haste";    //    Improve Movement Speed

    // npc sprite switching if any.
    setarray .npc_sprite,
        117,
        117,
        117,
        117,
        117;
        
    // Random Coordinate where NPC will Shown Again
    setarray .pvp_n_2-5,95,100;
    setarray .pvp_n_2-5,103,100;
    
    .rune_size = getarraysize( .name$ );
    .coordinate_size = getarraysize( .CoordinateX );
    .npc_name$ = strnpcinfo(0);
    callsub( OnAssign );
    end;
}

Hello sir im using ur script , but theres a problem that npc always show up for 5 sec , and i wanted it to make 2min per runes like dota timer .

and also only Double Damage runes show up .

the image i attached is the error i got on putty . can u help me fix this sir ?

Capture.PNG

Edited by Cyro
use code box instead of quote when you are pasting a script/code
Link to comment
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
Reply to this topic...

×   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...

Important Information

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