Jump to content

GM Takumirai

Members
  • Posts

    592
  • Joined

  • Last visited

Community Answers

  1. GM Takumirai's post in Promotional Code NPC was marked as the answer   
    Script Name : Information Center
    - Script Created By : ManiacSociety
    - Helper : Emistry & Kenpachi
    MYSQL FUNCTION :
    Edit Lines :
    Functions :
    - MySQL
    - In Game Donation
    Game Master :
    - Only administrator are allowed to add,delete,edit and view codes.
    - Code Generate (No need to enter code automatic)
    Normal Player :
    - Enter Code
    Process :
    - GM will add the generated code and will automatically added to the database.
    - If theres a donator and you wanted to give the codes you have to give the verification code and they have to activate it, once the VC is verified and correct the npc will automatically give the generated or promotion code.
    - If the player receive the code already they have to enter the code and direct to the shop.
    (WARNING)
    - Edit shop 1 code = 1 items chosen (Much better to use box instead of items.)
    If you have problem with that kindly post here.
    And also please wait for mysql commands im fixing what you have to add.
    http://pastebin.com/QBYjjrjj
    - Note this is not mine
    - and i don't know if this is going to work
    - copyright goes to the maker
  2. 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~
  3. 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
  4. 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]!=@bought_nameid) for(set @i,1; 1; set @i,@i+1) if(.Shop[@i]==@bought_nameid) { set .i,@i; callsub Quest_Setup; } for(set @i,1; !@e; set @i,@i+1) if(.Shop[@i]==@bought_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.
  5. 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...