Jump to content

Eivohr

Members
  • Posts

    71
  • Joined

  • Last visited

Posts posted by Eivohr

  1.  

     

    nagpatch naman, pero bakit nakikita nila apple. pero sakin ok naman ung item n ginawa ko.

     

    bka may kulang sa mga ginawa mo about adding custom item to patch...

     

    inlclude mu sa patch ung updated na lua files(with ur custom items) mo...bka dun ang problema...

     

     

    ska ask ko lang kung panung diff ang ginawa mo sa client mo..?? kung "load lua before files" ska ung "Read data folder First" kung may check yan mga yan?..... /hmm

    ano po ung "load lua before files" at "read data folder first". meron ba kayo screen shot paano dapat tama mg-thor and upload ng custom?

    sorry for late reply ngaun lang me nag internet...ahahahah....... by the way  ung "load lua before files" ska ung "read data folder first" aun ung sa diff patcher mo.... hndi sa thor patcher mo ang problem sa pag diff patch ng  client mo...duon mu sesetup ung "Client" mo... which is this

    example this is ur client 2012-04-10aRagexeRE.exe (Recomended Client by judas) para ma diff mu sya gagamit ka ng diff patcher example Shin's Diff patcher..

     

     

     

     

    diffpatching.png

     

     

     

    Explanasyon at kung paano:

    1. Open Shin's diff patcher

    2. piliin mu ung WeeDiffGenerator v1.02  ung may box sa baba tas may lalabas na "Auto-select recomended Patches?" click mo ung yes...

    3. Kung iyong mapapasin ung may cirle na green sa taas aun ung "LOAD LUA BEFORE LUB" na ibig sabhin una nyang babasahing ung LUA files mo then ung lub mo..... 

    4. eto ung nka cirle sa taas which is "READ DATA FOLDER First" ibig sabhin ung "DATA" Folder mu muna ang babasahin nya... bago ung  ".grf" files mu..

     

     

     

    ang nang yayari sa client mo hndi nya nababasa ung nasa "data/lua files/lua files514/lua files/data info"(latest kRO folder Structure) folder mo...

    kung ang pag ka setup ng client mo(via Diff Patch) e may check ung dlwang tinukoy ko sa taas...ibig sbhin nyan....tuwing gagamitin mu ung client na pinatch mu(diff patched) babasahin nya muna ung nasa "DATA" folder mo bagu nya babasahin ung mga .grf mong files tas sa "load lua Before lub" naman babasahin nya ung ".lua" sunod ung ".lub

    luaandlub.png

    dun nagkaka roon na problema...kc binabasa nya muna ung ".lub" bago ung edited mo accessoryid.lua and accname.lua mo... which mean binabalewala nya ung .lua files mu.. sa lub sya nakabase....

     

     

     

    TAKE NOTE!

     

    kung nka set up ung client mo sa "READ DATA FOLDER FIRST"....ibig sabhin lahat ng patch mu na pinapasok mo sa ".grf"(custom grf) mo....hndi sya ang priority nyang basahin kundi ung nasa "DATA" folder mo so uncheck mo un kung gusto mo bashin muna ng clent mo ung ".grf"(custom grf) mo.....

    Salamat dito, malaking tulong sakin ito, lalo n noob tlaga ako mga ganyan. salamat ng marami. God Bless you^^

  2. nagpatch naman, pero bakit nakikita nila apple. pero sakin ok naman ung item n ginawa ko.

     

    bka may kulang sa mga ginawa mo about adding custom item to patch...

     

    inlclude mu sa patch ung updated na lua files(with ur custom items) mo...bka dun ang problema...

     

     

    ska ask ko lang kung panung diff ang ginawa mo sa client mo..?? kung "load lua before files" ska ung "Read data folder First" kung may check yan mga yan?..... /hmm

    ano po ung "load lua before files" at "read data folder first". meron ba kayo screen shot paano dapat tama mg-thor and upload ng custom?

  3. Bakit po nung na-upload ko na sa patch/data sa cpanel ung .thor , tapos ngpatch ako, then hnd ng extract ung ginawa kong custom item sa gravity.ro/data directory ko. kaya nung chineck ko ingame ung item. nung naclick ko biglang error. cannot find:sprite:¾ÆÀÌÅÛ

    Please help.

    ...check mo muna kung nag papatch ba talga....or check mo kung sa sa /data/ folder ba nilalagay ung mga pinapatch mo..

    nagpatch naman, pero bakit nakikita nila apple. pero sakin ok naman ung item n ginawa ko.

  4. 1st Step:

    go to:

    data\texture\À¯ÀúÀÎÅÍÆäÀ̽º\collection

    add your sprite for Example:

    Blood_Helm.jpg Blood_Helm

    >

    data\texture\À¯ÀúÀÎÅÍÆäÀ̽º\item

    Blood_Helm-1.jpgBlood_Helm

    2nd Step:

    go to data

    Open

    idnum2itemdesctable

    17000#

    Str + 10

    Class :^777777 Headgear^000000

    Defense :^777777 0^000000

    Equipped on :^777777 Lower^000000

    Required Level :^777777 ??^000000

    Weight :^777777 10^000000

    Applicable Job :^777777 Every Job^000000

    #

    idnum2itemdisplaynametable

    17000#Blood Helm# //<---------------- In game name

    idnum2itemresnametable

    17000#Blood_Helm#

    3rd Step:

    Pumunta sa

    data/sprite/¾ÆÀÌÅÛ

    dito mo ilagay ang Drop Item file

    Ang file para sa drop ay dalawa

    Blood_Helm and Blood_Helm.spr

    4th Step:

    Pumunta sa

    data\sprite\¾Ç¼¼»ç¸®\¿©

    at ilagay ang mga sumusunod na file Ang sign na to "¿©" ay pang Female Character.

    ¿©_Blood_Helm and ¿©_Blood_Helm.spr

    5th Step:

    Pumunta sa

    data\sprite\¾Ç¼¼»ç¸®\³²

    at ilagay ang mga sumusunod na file Ang sign na to "³²" ay pang Male Character.

    ³²_Blood_Helm and ³²_Blood_Helm.spr

    6th Step:

    go to data\lua files\datainfo

    Open accessoryid.lua as Notepad

    ACCESSORY_BLOOD_HELM = 1001,

    Open accname.lua as notepad

    [ACCESSORY_IDs.ACCESSORY_BLOOD_HELM] = "_BLOOD_HELM",

    and also config mo sa server go to db/item_db2.txt at the last line ng notepad

    for example

    17000,Blood_Helm,Blood Helm,5,20,,100,,1,,1,0xFFFFFFFF,7,2,256,,10,1,1001,{},{},{}

    <----Makikita mo sa huling # na 1001 yan ang View ID na nilagay mo sa accessoryid.lua

    Sana nkatulong po ako.. :)

     

    After po nito, ano gagawin para mapatch ung custom item? Can you make another step by step procedure until the item successful done? (Video is Better) Thanks po.

  5. Thanks po, Kapag ng-convert ba ako ng .thor from data eh kasama po ba ung mga ibang dating custom item sa file or ung ginawa ko lng.

    Yung thorpatcher pack, may exe dun the thor generator. Yun ang gamitin mo kung thor patcher ang gamit mo

    Thanks po. Kapag ng-convert ba ako ng .thor from data eh kasama po ba ung mga ibang dating custom item sa file or ung ginawa ko lng.

  6. @Snow, Thanks and sorry I'm new in running my server. because my scripter who does all this thing is quit. So I need to stand my own. BTW, I need to Download all of that? Because I make new sprite item (it's my first time ^^) and I need to upload it to so that we can patch it. my server is Eamod, eathena svn.

    what patcher do you use?

    http://rathena.org/w...tegory:Patchers

    @Snow, Thanks and sorry I'm new in running my server. because my scripter who does all this thing is quit. So I need to stand my own. BTW, I need to Download all of that? Because I make new sprite item (it's my first time ^^) and I need to upload it to so that we can patch it. my server is Eamod, eathena svn.

  7. @ROWar Thank you very much.

    BTW, can you explain this. How can make the itemask not tradable, not drop, not storage.

    like this: 1+2=3 . So the ItemMask is "3"

    Item Restrictions

    Look on your db folder for a file called item_trade.txt and open it

    Now, the pattern for a flag is:

    Item ID, TradeMask, GM-Level Override

    • Item ID: the ID of your item.
    • TradeMask: Testrictions the item will have, such as being dropped, stored or traded. These values can be combined to achieve multiple effects.

    1:Item can't be dropped

    2:Item can't be traded (nor vended)

    4:Item can only be traded with wedded partner

    8:Item can't be sold to NPCs

    16:Item can't be placed in the cart

    32:Item can't be placed in the storage

    64:Item can't be placed in the guild storage

    • GM-Level Override: This is the minimum GM level a player must have to avoid these restrictions.

    and how can I can i upload the sprite in the server so that when they can patch it.

  8. try this?

    @Emistry, the breaker 3.0 doesn't work. Npc was spawn but I click to open the message. nothing happen. i try to @reloadscript but the same doesn't work. What can i do?

    First, I change the spawn location. I add in my Scripts directory. then @loadnpc npc/custom/Scripts/<emp breaker test name>.

    @reloadscript

    By the way, can you make it the emp life will be 500,000 also emp in the woe. or teach me how to do that?

    For the Emp in WOE

    Open db/mob_db.txt search

    // ID,Sprite_Name,kROName,iROName,LV,HP,SP,EXP,JEXP,Range1,ATK1,ATK2,DEF,MDEF,STR,AGI,VIT,INT,DEX,LUK,Range2,Range3,Scale,Race,Element,Mode,Speed,aDelay,aMotion,dMotion,MEXP,MVP1id,MVP1per,MVP2id,MVP2per,MVP3id,MVP3per,Drop1id,Drop1per,Drop2id,Drop2per,Drop3id,Drop3per,Drop4id,Drop4per,Drop5id,Drop5per,Drop6id,Drop6per,Drop7id,Drop7per,Drop8id,Drop8per,Drop9id,Drop9per,DropCardid,DropCardper
    1288,EMPELIUM,Emperium,Emperium,90,68430,0,0,0,1,60,71,40,50,1,17,80,50,26,20,10,12,0,8,26,0x120,300,1288,288,384,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    

    68430 are the HP

    For your NPC emp breaker, I suggest to do a duplicate ID of the emperium, otherwise you will always have an error on mapserv (you can't spawn an emperium outside a castle normally). To do this, 3 steps :

    1/ Open db/mob_avail.txt and add

    2500,1288,0
    

    2/ Open db/mob_db2.txt and add

    2500,EMPELIUM,Emperium,Emperium,90,68430,0,0,0,1,60,71,40,50,1,17,80,50,26,20,10,12,0,8,26,0x120,300,1288,288,384,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    

    3/ Open your NPC file EmpTest Breaker ladder then search and replace 1288 (ID emperium) by 2500 (ID duplicate)

    Or you can take Emistry's Emperium Breaker it should work for eathena (not Breaker Room 3.0 which is better btw)

    @Capuche. thanks, but nothing spawn the emp. I dont know why. But the life of emp is work. thanks BTW.

  9. I just re-test and it works for me on eathena. Can you explain what you do or post if you have any error ?

    First, I change the spawn location. I add in my Scripts directory. then @loadnpc npc/custom/Scripts/<emp breaker test name>.

    It,s spawn in the right place. I enter in the rooms <all room i check it.> (mapflag as it is <restricted 7>. Definitely, when I enter in the room definitely the announce for emp test breaker will show then count. But it doesn't show like that. so no announce & no Emp Spawn inside the room.

    By the way, can you make it the emp life will be 500,000 also emp in the woe. or teach me how to do that?

  10. 
    pvp_n_4-5	mapflag	restricted	7
    
    prontera,127,212,0	script	Emperium Breaker Test	1288,{
    
    set .@gm, getgmlevel();
    explode( .@b$, $empbrk_record$, "|" );
    
    // Display records
    // ---------------
    mes "^FF0000~~ Emperium Breaker Test ~~^000000";
    mes "Breaker Top 5 :";
    if( !getarraysize( .@b$ ) )
    	mes "^777777*empty*^000000";
    for( set .@i, 0; .@i < getarraysize( .@b$ ); set .@i, .@i + 1 )
    	mes "^777777"+ ( .@i + 1 ) +"- ^5050A0"+ .@b$[ .@i ] +"^000000"+ callsub( L_time_, $empbrk_record[ .@i ] );
    
    if( empbrk_record ) {
    	mes "______________________________";
    	set .@rec$, callsub( L_time_, empbrk_record );
    	mes "Your Own Record:"+ .@rec$;
    }
    next;
    
    mes "^FF0000~~ Emperium Breaker Test ~~^000000";
    mes "Would you like to try a new record?";
    if( empbrk_record ) {
    	mes "______________________________";
    	mes "Your Own Record:"+ .@rec$;
    }
    next;
    
    menu "^777777~ Yes^000000", -, ( empbrk_record ? "^777777~ Reset my record^000000" : "" ), L_resc,
    	( .@gm > 98 && $empbrk_record$ != "" ? "^777777~ [ GM ] Reset all^000000" : "" ), L_reset, ( .@gm > 98 ? "^777777~ [ GM ] Reset Rooms^000000" : "" ), L_emptyrooms, "^777777~ Exit^000000", L_exit;
    deletearray .arena$;
    
    // Area arena for getareausers
    // ---------------------------
    setarray .@A1, 94,128,105,139;
    setarray .@A2, 60,94,71,105;
    setarray .@A3, 94,60,105,71;
    setarray .@A4, 128,94,139,105;
    
    mes "^FF0000~~ Emperium Breaker Test ~~^000000";
    for( set .@i, 1; .@i <= 4; set .@i, .@i + 1 ) {
    	if ( getareausers("pvp_n_4-5", getd( ".@A"+ .@i +"[ 0 ]" ), getd( ".@A"+ .@i +"[ 1 ]" ), getd( ".@A"+ .@i +"[ 2 ]" ), getd( ".@A"+ .@i +"[ 3 ]" ) ) )
    		mes "Emp n° ^0000DF"+ .@i +" ^FF0000 <Busy>^000000";
    	else {
    		mes "Emp n° ^0000DF"+ .@i +" ^00A000 <Free>^000000";
    		set .arena$[ .@i -1 ],"^0000DFRoom n°"+ .@i +"^000000";
    	}
    }
    next;
    
    getmapxy( @mpempbrk$, @empbrkx, @empbrky, 0 );
    // menu arena
    // ----------
    set .@a, select( .arena$[0], .arena$[1], .arena$[2], .arena$[3], "Quit" );
    if( .@a == 5 ) close;
    
    // x, y for user warp / arena ; x1, y1, x2, y2...
    // ----------------------------------------------
    setarray .@xy[ 2 ], 99, 128, 68, 99, 100, 68, 130, 99;
    
    // select arena is empty ?
    // -----------------------
    if ( !getareausers("pvp_n_4-5", getd( ".@A"+ .@a +"[ 0 ]" ), getd( ".@A"+ .@a +"[ 1 ]" ), getd( ".@A"+ .@a +"[ 2 ]" ), getd( ".@A"+ .@a +"[ 3 ]" ) ) ) {
    	warp "pvp_n_4-5", .@xy[ .@a * 2 ], .@xy[ .@a * 2 + 1 ];
    	killmonster "pvp_n_4-5","EmpBrk#"+ .@a +"::OnThisMobDeath";
    	donpcevent "EmpBrk#"+ .@a +"::OnEmpBreak";
    	sc_end SC_ALL;
    }
    else
    	mes "Room is now BUSY";
    close;
    
    // reset top 5
    // -----------
    L_reset:
    mes "^FF0000~~ Emperium Breaker Test ~~^000000";
    mes "Are you sure to reset official record ?";
    
    if( select( "Yes", "No" ) -1 ) close;
    mes "All records had been reset.";
    set $empbrk_record, 0;
    set $empbrk_record$, "";
    close;
    
    // reset your record ( + reset record if in top 5 )
    // ------------------------------------------------
    L_resc:
    mes "^FF0000~~ Emperium Breaker Test ~~^000000";
    mes "Are you sure to reset your record?";
    if( select( "Yes", "No" ) -1 ) close;
    if( $empbrk_record$ != "" ) {
    	explode( .@b$, $empbrk_record$, "|" );
    	for( set .@i, 0; .@i < getarraysize( .@b$ ); set .@i, .@i + 1 )
    		if( .@b$[ .@i ] == strcharinfo(0) ) {
    			deletearray .@b$[ .@i ], 1;
    			deletearray $empbrk_record[ .@record ], 1;
    		}
    	set $empbrk_record$, implode( .@b$, "|" );
    }
    mes "Your record has been reset.";
    set empbrk_record, 0;
    close;
    
    // warp all people out of arena
    // ----------------------------
    L_emptyrooms:
    mapwarp "pvp_n_4-5","prontera",0,0;
    L_exit:
    close;
    
    // return time of record ( min sec ms )
    // ------------------------------------
    L_time_:
    set .@time, getarg(0);
    set .@m, .@time / 60000;
    set .@time, .@time - ( .@m * 60000 );
    set .@s, .@time /1000;
    set .@time, .@time - ( .@s * 1000 );
    set .@text$, " ^000080"+ .@m +"^000000m ^000080"+ .@s +"^000000s ^000080"+ .@time +"^000000ms";
    return .@text$;
    }
    
    
    pvp_n_4-5,99,125,0	script	EmpBrk#1	-1,2,1,{
    OnTouch:
    killmonster "pvp_n_4-5", strnpcinfo(0) +"::OnThisMobDeath";
    
    mes "^FF0000~~ Emperium Breaker Test ~~^000000";
    mes " ";
    mes "You cannot exit from small square.";
    close2;
    stopnpctimer;
    set getd( "$@someonegotin"+ strnpcinfo(2) ), 0;
    warp .map_npc$, .x_npc, .y_npc;
    end;
    
    // Spawn emp
    // ---------
    OnEmpBreak:
    copyarray .@xy[ 0 ], getd( ".xy" + strnpcinfo(2) +"[ 0 ]" ), 6;
    
    sleep 3000;
    if ( !getareausers("pvp_n_4-5", .@xy[ 0 ], .@xy[ 1 ], .@xy[ 2 ], .@xy[ 3 ] ) ) end;
    areaannounce "pvp_n_4-5", .@xy[ 0 ], .@xy[ 1 ], .@xy[ 2 ], .@xy[ 3 ],"Let's ready to break the Emperium",0;
    sleep 5000;
    if ( !getareausers("pvp_n_4-5", .@xy[ 0 ], .@xy[ 1 ], .@xy[ 2 ], .@xy[ 3 ] ) ) end;
    for( set .@i, 5; .@i > 0; set .@i, .@i - 1 ) {
    	areaannounce "pvp_n_4-5", .@xy[ 0 ], .@xy[ 1 ], .@xy[ 2 ], .@xy[ 3 ], (.@i +""),0;
    	sleep 1000;
    }
    
    if ( !getareausers("pvp_n_4-5", .@xy[ 0 ], .@xy[ 1 ], .@xy[ 2 ], .@xy[ 3 ] ) ) end;
    areaannounce "pvp_n_4-5", .@xy[ 0 ], .@xy[ 1 ], .@xy[ 2 ], .@xy[ 3 ],"GO!!!",0;
    monster "pvp_n_4-5", .@xy[ 4 ], .@xy[ 5 ],"Emperium",1288,1,"EmpBrk#"+ strnpcinfo(2) +"::OnThisMobDeath";
    initnpctimer;
    end;
    
    
    OnThisMobDeath:
    copyarray .@xy[ 0 ], getd( ".xy" + strnpcinfo(2) +"[ 0 ]" ), 6;
    stopnpctimer;
    set .@time, getnpctimer( 0,"EmpBrk#"+ strnpcinfo(2) );
    
    if ( .@time < empbrk_record || !empbrk_record ) {
    	areaannounce "pvp_n_4-5", .@xy[ 0 ], .@xy[ 1 ], .@xy[ 2 ], .@xy[ 3 ],"New Own Record!!!",0;
    	set empbrk_record, .@time;
    }
    
    // set top 5 record ; GM level > 50 excluded
    // -----------------------------------------
    if( getgmlevel() < 50 ) {
    	if ( .@time < $empbrk_record[ 0 ] && !$empbrk_record[ 0 ] ) {
    		areaannounce "pvp_n_4-5", .@xy[ 0 ], .@xy[ 1 ], .@xy[ 2 ], .@xy[ 3 ],"New Official Record!!!",0;
    		announce strcharinfo(0)+" is now the NO. 1 Emperium Breaker!!",0;
    	}
    	explode( .@b$, $empbrk_record$, "|" );
    	if( $empbrk_record$ == "" )
    		set .@no_mark, 1;
    	else {
    		for( set .@i, 0; .@i < 5; set .@i, .@i + 1 ) {
    			if( .@b$[ .@i ] == strcharinfo(0) ) {
    				if( .@time < $empbrk_record[ .@i ] ) {
    					deletearray .@b$[ .@i ], 1;
    					deletearray $empbrk_record[ .@i ], 1;
    					set .@no_mark, 1;
    				}
    				else
    					set .@no_mark, 0;
    				break;
    			}
    			else if( .@time < $empbrk_record[ .@i ] || !$empbrk_record[ .@i ] )
    				set .@no_mark, 1;
    		}
    	}
    }
    if( .@no_mark ) {
    	for( set .@i, 0; .@i < 5; set .@i, .@i + 1 )
    		if ( .@time < $empbrk_record[ .@i ] || !$empbrk_record[ .@i ] ) {
    			if( .@i != 4 ) {
    				copyarray .@b$[ .@i+1 ], .@b$[ .@i ], 4 - .@i;
    				copyarray $empbrk_record[ .@i+1 ], $empbrk_record[ .@i ], 4 - .@i;
    				set .@b$[ .@i ], strcharinfo(0);
    				set $empbrk_record[ .@i ], .@time;
    			}
    			else {
    				set .@b$[ getarraysize( .@b$ ) -1 ], strcharinfo(0);
    				set $empbrk_record[ getarraysize( .@b$ ) -1 ], .@time;
    			}
    			set $empbrk_record$, implode( .@b$, "|" );
    			break;
    		}
    }
    set .@m, .@time / 60000;
    set .@time, .@time - (.@m * 60000);
    set .@s, .@time /1000;
    set .@time, .@time - (.@s * 1000);
    
    areaannounce "pvp_n_4-5", .@xy[ 0 ], .@xy[ 1 ], .@xy[ 2 ], .@xy[ 3 ],"Your time is "+ .@m +"m "+ .@s +"s "+ .@time +"ms",0;
    sleep 2000;
    // Debug : warp 20 min later if afk
    // --------------------------------
    OnTimer1200000:
    areawarp "pvp_n_4-5", .@xy[ 0 ], .@xy[ 1 ], .@xy[ 2 ], .@xy[ 3 ], .map_npc$, .x_npc, .y_npc;
    stopnpctimer;
    end;
    
    OnInit:
    getmapxy( .map_npc$, .x_npc, .y_npc, 1, "Emperium Breaker Test" );
    // set area for announce + x, y to spawn emp
    // -----------------------------------------
    switch( strnpcinfo(2) ) {
    	case 1:
    		setarray .xy1, 94, 128, 105, 139, 100, 134;
    		break;
    	case 2:
    		setarray .xy2, 60, 94, 71, 105, 65, 99;
    		break;
    	case 3:
    		setarray .xy3, 94, 60, 105, 71, 99, 65;
    		break;
    	case 4:
    		setarray .xy4, 128, 94, 139, 105, 134, 99;
    }
    end;
    }
    
    pvp_n_4-5,74,99,0	duplicate(EmpBrk#1)	EmpBrk#2	-1,1,2
    pvp_n_4-5,100,74,0	duplicate(EmpBrk#1)	EmpBrk#3	-1,1,2
    pvp_n_4-5,125,100,0	duplicate(EmpBrk#1)	EmpBrk#4	-1,1,2
    
    

    Thanks, but why the emp doesn't spawn? can you fix it? ^^

  11. Hello Guys! There is someone have script of Donation Shop NPC using Proof of Donation and also Credits to PODS exchanger and a npc that GM only give the code of a player in NPC who donate to redeem it. Thanks in advacne.

    By The my server is Eathena SVN. I hope the script is working on it ^^

  12. [ Update ] : Updated Refine Function Script :

    Description :

    It is a Function Script for Refine Equipment without Failure Rate. The script are now able to use indenpendently in a NPC or an Item. Which mean, you can create multiple or numerous NPC Script + Items Script for Refining in your server. All of the Setting are independent..will not affect each others.

    This Script will be able to answer / solve those below problems.

    Please make me 1 100% Refiner +1 until +7.......

    Please make me 1 100% Refiner +1 until + 10 .......

    Please make me a Refine Ticket .....

    and so on......


    The BitMask Table :

    //--- Bitmasks ----
    // 1 - Top Headgear
    // 2 - Armor
    // 4 - Left Hand
    // 8 - Right Hand
    // 16 - Garment
    // 32 - Shoes
    // 64 - Left Accessory
    // 128 - Right Accessory
    // 256 - Middle Headgear
    // 512 - Lower Headgear

    If you want to allow the refine on those part....then just put in the Number ( for Single Part Refiner ) or Add in all the Number ( for Multiple Part Refiner )

    For Example :

    A Refiner that can refine Top Headgear Only ( BitMask = 1 )

    A Refiner that can refine Both Left / Right Accessory Only ( BitMask = 126 + 64 = 190 )

    A Refiner that can refine Armor / Garment / Shoes Only ( BitMask = 2 + 16 + 32 = 50 )

    and etc.....


    Function Script Calling :

    callfunc( "RefineFunc",<itemID>,<BitMasks>,<MaxRefine>,<CheckEquip>,<RefineMode> );

    Explaination on Each Argument :

    // itemID -> Item that will be used.
    // BitMask -> Refer to above bitmask table.
    // MaxRefine -> What is the Max Refine. [ Can Bypass Default Server Max Refine ]
    // CheckEquip -> Check Equipments is Refineable or not. [ 0 = Disable / 1 = Enable ]
    // RefineMode -> +1 / Max Refine. [ 0 = +1 Refine / 1 = Max Refine ]


    Sample Script :

    Use as Item ( Refine Ticket ) :

    501,Red_Potion,Red Potion,11,50,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc( "RefineFunc",501,63,10,1,1 ); },{},{}

    Caution : Change Item Type to 11

    Use as NPC Script ( Custom 100% Refiner ) :

    prontera,155,181,5 script Refiner 757,{
    callfunc( "RefineFunc",501,63,10,1,1 );
    }
    

    You can create as many NPC / Items for refine as you want to...

    just make sure youprovide the correct Settings.

    With this script, you can create several NPC that can allow users to refine items 100% success using certain items and different max refine level.

    So, that your server wont need to focus on using 1 NPC. You can make 1 NPC for refine +5 / +6 / +7 using Elunium without fail, then you can further the refine to +8 / +9 using another NPC with different Items, and lastly +10 another NPC. It is all up to you.

    Refine Function [ Version 4 ]

    Changelog :

    • [ Version 1 ] - Cleaner and Compact than previous version.
    • [ Version 2 ] - Enable simple Customization on script.
    • [ Version 3 ] - Fixed some mistake typo and bug.
    • [ Version 4 ] - More Customized and able to apply on Multi NPC / Items with Independent Settings.

    Scripts : View Download

    Please spend your time to read all the things i have write / mentioned in the post before you asking any questions.

    if got bug / problems please do report to me. ani_heh.gif

    @emistry, can you convert it into eathena SVN. I need also this one. Thanks.

×
×
  • Create New...