Jump to content

GM Takumirai

Members
  • Posts

    592
  • Joined

  • Last visited

Community Answers

  1. GM Takumirai's post in How to make a Custom OBB, or OCA was marked as the answer   
    - this is already been answered
    here's the step
    open ra/db/item_db2.txt
    make a new item -
    25500,Custom_Box,Custom Box,2,10000,,200,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem groupranditem(IG_whatever),1; },{},{}
    next step is
    open ra/db/const.txt
    Find IG_Advanced_Weapons_Box 61
    below add this
    IG_whatever 63 //IG_whatever must be same in the item_db2.txt script command
    next step
    open ra/db/item_group_db.txt
    import: db/item_whatever.txt - put this
    next step
    make a new script named
    item_whatever.txt - place this in ra/db/
    next step
    open item_whatever.txt - in ra/db/item_whatever.txt
    //Explanation 63 - is the number you input in const.txt
    // - 1111 - this is the itemID
    // - 9 - this is the rate
    63,1111,9
    63,<Item ID>,<Rate>
    next step
    open ra/src/map/itemdb.h
    find this part
    #define MAX_ITEMGROUP #62
    the number is 62 where in const.txt the max group number is 62 - but you add another item group..
    - just add + 1 in 62 so make it
    #define MAX_ITEMGROUP #63
    Viola you are done~
  2. GM Takumirai's post in the script about skill "NC_MADOLICENCE" was marked as the answer   
    http://rathena.org/board/topic/63144-how-to-know-if-a-player-has-a-specific-skill/page__p__99652#entry99652
  3. GM Takumirai's post in [Solve] vending machine/merchant npc script? was marked as the answer   
    You can use the Dynamic Shop NPC Made by Lunar

    //Made by Lunar //Version 1.6 //6.1.09 - shop quest_shop -1,501:50 prontera,147,173,5, script Dynamic Shop NPC 899,{ set @i,0; mes "[shop Quest NPC]"; mes "Which item do you wish to obtain?"; mes "Select only one."; callshop "quest_shop",1; npcshopattach "quest_shop"; end; OnBuyItem: if(.BuildQuest) { for(set .e,0; !compare(getarg(.e+1),"Zeny"); set .e,.e+2) {} npcshopadditem "quest_shop",getarg(.e+2),getarg(.e)*compare(getarg(.e+1),"SZeny"); setarray .Shop[.i],getarg(.e+2); set .i,.i+1; goto Quest_Setup; } if(.Shop[@i][email protected]_nameid) for(set @i,1; 1; set @i,@i+1) if(.Shop[@i][email protected]_nameid) { set .i,@i; callsub Quest_Setup; } for(set @i,1; [email protected]; set @i,@i+1) if(.Shop[@i][email protected]_nameid) { set @e,1; set .i,@i; callsub Quest_Setup; } mes "[shop Quest NPC]"; mes "I require the following:"; for(set @i,0; !compare(getarg(@i+1),"Zeny"); set @i,@i+2) mes "^FF0000" + ((countitem(getarg(@i))>=getarg(@i+1))? "^00FF00":"") + "" + getarg(@i+1) + " " + getitemname(getarg(@i)) + " [" + countitem(getarg(@i)) + "/" + getarg(@i+1) + "]"; if(getarg(@i)) mes "^FF0000" + ((Zeny>=getarg(@i))? "^00FF00":"") + "" + getarg(@i) + " Zeny"; mes "^000000In exchange, I will give you:^0000FF"; for(set @i,@i+2; getarg(@i+1,0); set @i,@i+2) mes getarg(@i+1) + " " + getitemname(getarg(@i)); switch(select("Exchange:" + (((((getiteminfo(@bought_nameid,5) & 1) || (getiteminfo(@bought_nameid,5) & 256) || (getiteminfo(@bought_nameid,5) & 512)) && @equip==0))? "Preview Item":"") + ":No thanks")) { case 1: for(set @i,0; !compare(getarg(@i+1),"Zeny"); set @i,@i+2) if(countitem(getarg(@i)) < getarg(@i+1)) { next; mes "You have " + countitem(getarg(@i)) + " " + getitemname(getarg(@i)) + ", while I require " + getarg(@i+1) + "."; mes "Please obtain ^FF0000" + (getarg(@i+1)-countitem(getarg(@i))) + " more " + getitemname(getarg(@i)) + "^000000."; close; } if(Zeny < getarg(@i)) { next; mes "You do not have enough Zeny."; mes "Please obtain ^FF0000" + (getarg(@i)-Zeny) + " more Zeny^000000."; close; } for(set @i,0; !compare(getarg(@i+1),"Zeny"); set @i,@i+2) delitem getarg(@i),getarg(@i+1); set Zeny,Zeny-getarg(@i); for(set @i,@i+2; getarg(@i+1,0); set @i,@i+2) getitem getarg(@i),getarg(@i+1); if (compare(getarg(@i,0),"announce")) announce strcharinfo(0) + " has just obtained " + getitemname(@bought_nameid) + "!",bc_all; close; case 2: set @bottomview, getlook(3); set @topview, getlook(4); set @midview, getlook(5); addtimer 1000, strnpcinfo(3)+"::On_Leave"; set @equip,getiteminfo(@bought_nameid, 5); set @view, getiteminfo(@bought_nameid, 11); if(@equip != -1 && @view > 0) { if(@equip & 1) atcommand "@changelook 3 " + @view; if(@equip & 256) atcommand "@changelook 1 " + @view; if(@equip & 512) atcommand "@changelook 2 " + @view; } next; goto OnBuyItem; case 3: close; } On_Leave: atcommand "@changelook 1 " + @topview; atcommand "@changelook 2 " + @midview; atcommand "@changelook 3 " + @bottomview; set @equip,0; set @view,0; set @topview,0; set @midview,0; set @bottomview,0; end; OnInit: npcshopitem "quest_shop",0,0; set .BuildQuest,1; set .i,1; Quest_Setup: switch(.i) { default: set .BuildQuest,0; set .e,0; set .i,0; end; case 1: callsub OnBuyItem,50,"SZeny",501,1,"announce"; case 2: callsub OnBuyItem,502,1,0,"SZeny",502,1; case 3: callsub OnBuyItem,502,1,1000,"Zeny",504,1,501,1; case 4: callsub OnBuyItem,923,20,1000,"SZeny",2284,1,501,1,"announce"; } }
    Walking through a setup:
    Requirements:
    4 Pencil Cases [iD: 738]
    2 Slick Paper [iD: 7111]
    10000 Zeny
    Reward:
    1 The Paper Card [iD: 4172]
    So, let's pretend this is your 5th quest, you'd start off as such:
    CODE
    case 5: callsub OnBuyItem,
    Next, you would add in the first requirement: 4 Pencil Cases [iD: 738]:
    CODE
    case 5: callsub OnBuyItem,738,4,
    Next, you would add in the second requirement: 2 Slick Papers [iD: 7111]:
    CODE
    case 5: callsub OnBuyItem,738,4,7111,2,
    That is the last of your item requirements, so lets add the Zeny Requirement now: 10000 Zeny:
    CODE
    case 5: callsub OnBuyItem,738,4,7111,2,10000,"Zeny",
    Now, you add the prize: 1 The Paper Card [iD: 4172]:
    CODE
    case 5: callsub OnBuyItem,738,4,7111,2,10000,"Zeny",4172,1
    Now to make sure the server reads this is a line, you need to end the line with a semi-colon (";"):
    CODE
    case 5: callsub OnBuyItem,738,4,7111,2,10000,"Zeny",4172,1;
    We have just created a custom quest.
  4. GM Takumirai's post in Job Changer w/ 3rd Jobs. was marked as the answer   
    Try this 3rd job changer and breeder for mounts. Credits to the maker of the script..
    jobchanger.txt
    breeder.txt
×
×
  • Create New...

Important Information

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