Jump to content

SpiritD

Members
  • Posts

    75
  • Joined

  • Last visited

Everything posted by SpiritD

  1. --------------------------------------- *isequipped(<id>{,<id>{,<id>{,<id>}}}) This function will return 1 if the invoking character has all of the item IDs given equipped (if card IDs are passed, then it checks if the cards are inserted into slots in the equipment they are currently wearing). Theoretically there is no limit to the number of items that may be tested for at the same time. If even one of the items given is not equipped, 0 will be returned. // (Poring,Santa Poring,Poporing,Marin) if (isequipped(4001,4005,4033,4196)) mes "Wow! You're wearing a full complement of possible poring cards!"; // (Poring) if (isequipped(4001)) mes "A poring card is useful, don't you think?"; The function was meant for item scripts to support the cards released by Gravity in February 2005, but it will work just fine in normal NPC scripts. --------------------------------------- make a check to see if the item ID is equipped. If it is, end the script. If not, proceed as normal.
  2. I'm not sure what you mean
  3. MAP_NAME,X,Y,Z script Weapon for Jellopy#spiritD NPC_ID,{ mes "Would you like to trade 1 weapon for 5-10 Jellopy?"; switch(select("Bow:Dagger:Axe:Sword:Etc")){ case 1: if(countitem(1701) > 0) { delitem 1701,1; getitem 909,rand(5,10); end; } if(countitem(1702) > 0) { delitem 1702,1; getitem 909,rand(5,10); end; } case 2: case 3: case 4: } I have intentionally left most of the "meat" of the script unfinished. You should be able to understand how to fill it in. If you are not sure what to do, please compile a list of item names and IDs that you would like the trader to accept.
  4. Just so I understand fully... You want to trade your equip for random amount of a specific item? example: trade 1 Knife -> random amount of Jellopy?
  5. This request is very simple on the scripting side of it as all a script will do is take/give the appropriate items. The majority of the work will come from you adding your custom item (voucher) and adding the item to the mob's drop table (mob_db). Once you do this, let us know what your voucher item ID is and we can script the exchange NPC.
  6. MAP_NAME,X,Y,Z script Gold Coin Shop#spiritD NPC_ID,{ mes "Would you like to buy?"; switch(select("No thanks:Yes please")){ case 1: close; case 2: callshop "goldCoinShop",1; } } - itemshop goldCoinShop -1,7720,501:1,502:2,503:3,504:4,505:5 You will have to change this manually. Sorry, idk how to do this yet /swt2
  7. oh okay, change this line if(isequippedcnt(2703) == 1 && isequippedcnt(4404) == 1) { to this if(isequippedcnt(4404) == 1 || isequippedcnt(2703) == 1 && isequippedcnt(4404) == 1) {
  8. No no no no... you're doing it wrong step 1: remove Kiel card item script (make Kiel card do nothing on it's own) step 2: add the function to your script_custom.conf (this has the logic to control the combo) step 3: change your Expert Ring item script back to normal (it doesn't work anyway) step 4: add the line I posted to item_combo_db.txt (this will activate the Kiel card + expert Ring combo)
  9. add it like a normal custom script (do not put in item_db)
  10. Still looking for some code on this. I tried this code (below) but it gives errors.
  11. first of all remove the Kiel Card script from item_db.txt ... this new script will replace it item_combo_db.txt 4403:2703,{ callfunc "expertKielNum",@num; bonus bDelayRate,@num; } then add this script somewhere function script expertKielNum { if(isequippedcnt(2703) == 1 && isequippedcnt(4404) == 1) { return -30; } if(isequippedcnt(2703) == 2 && isequippedcnt(4404) == 2) { return -60; } else { return 0; } } Haven't tested it because it's hard to test something like this... maybe one of the more experienced scripters can check it out if it doesn't work
  12. You don't need a combo for -70%... kiel card = bonus bDelayRate,-30; (each) expert ring = bonus bDelayRate,-5; bonus bUseSPrate,5; (each)
  13. so I don't understand what's the problem???
  14. Ohhh nevermind about the 2-slot headgear. So you have 2 Kiel and 2 expert ring equipped and it's -70%? That's normal...
  15. ... Kiel card goes on Headgear and there are no 2-slotted headgears unless you add it custom. Therefore you cannot have 2 Kiel card on at once I thought? What are you trying to achieve, -70%? And you're saying with the items above, you do NOT get that -70%?
  16. I'm sorry but I do not understand. Could you explain again in as much detail as you can?
  17. Personally I like Ragnahosting. It was difficult in the beginning but once you're all set up they're very reliable. /plug
  18. I can modify this script to suit my needs. Thank you!
  19. Hey guys, looking for a script like so: A. Player has 10 junk cards in inventory (5x Poring, 1x Lunatic, 4x Fabre for example) B. Player selects X cards to trade for a random card (please put the reward card IDs in an array that I can edit) B2. Three different NPC - one for 3x cards, one for 5x cards, and one more for 10x cards. The random prize card will be "better" with the more cards Here's the inspiration for the idea if anyone is familiar with it: http://megaman.wikia.com/wiki/Chip_Trader
  20. I suggest you make your own thread and follow the format by explaining what exactly you are trying to do (I will probably end up re-writing the script). Otherwise, you should post the script in the "Script Support" section so people will test and attempt to fix your existing script.
  21. I think you need an updated client (like 2013+) for this.
  22. You have to set up your coordinates and your prizes item ID. Otherwise, this should work well MAP,X,Y,Z script MVP Points#spiritD SPRITE,{ if (#MVPPoint < 1){ mes "You don't have any MVP Points."; close; } mes "You have "+#MVPPoint+" MVP Points."; mes "Would you like to purchase items?"; switch(select("No thanks:Yes please")){ case 1: close; case 2: switch(select("Cancel:1 VIP Ticket (20 pts):Old Card Album (10 pts):50k Zeny (1 pt)")){ case 1: close; case 2: if (#MVPPoint >= 20) { #MVPPoint = #MVPPoint - 20; getitem <YOUR_ITEM>,1; //VIP TICKET end; } else { mes "You don't have enough points"; close; } case 3: if (#MVPPoint >= 10) { #MVPPoint = #MVPPoint - 10; getitem <YOUR_ITEM>,1; //OLD CARD ALB end; } else { mes "You don't have enough points"; close; } case 4: if (#MVPPoint >= 1) { #MVPPoint = #MVPPoint - 1; Zeny = Zeny + 50000; end; } else { mes "You don't have enough points"; close; } } } } - script MonsterKill -1,{ OnNPCKillEvent: if( getmonsterinfo(killedrid, MOB_MVPEXP) ){ set #MVPPoint,#MVPPoint+1; dispbottom "Gained 1 MVP Points. Total : "+ #MVPPoint +" MVP Points."; } }
×
×
  • Create New...