Jump to content

SpiritD

Members
  • Posts

    75
  • Joined

  • Last visited

Posts posted by SpiritD

  1. 16 hours ago, Quesooo said:

    how to make it on inventory item only

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

    • Upvote 1
  2. 25 minutes ago, Quesooo said:

    yeah something like that

    example on the script the npc have list of weapons inside it > dagger / stelleto / katar / axe / staff / bow / etc. and then when you talk to npc the npc will said i can trade different weapon to jellopy what weapon would you like to be exchange for?>

     

    then after choosing the weapon in the list the weapon choosen will gone and it becomes jellopy ;)

    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.

    • Love 1
  3. 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.

  4. On 10/7/2017 at 11:37 AM, Quesooo said:

    can i request a npc that sell for a currency of gold coins ( 7720 )

    limit of 5 items

    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

     

    On 10/7/2017 at 11:37 AM, Quesooo said:

    every week the npc change the items inside it

    You will have to change this manually.

    On 10/7/2017 at 11:37 AM, Quesooo said:

    also npc have message on the top of his head said " NEW ITEM ARRIVED"

    Sorry, idk how to do this yet /swt2 

    • Like 1
  5. 4 hours ago, Jonald said:

    how about my 1 kiel effect with no expert ring?

    oh okay, change this line

    	if(isequippedcnt(2703) == 1 && isequippedcnt(4404) == 1) {

    to this

    	if(isequippedcnt(4404) == 1 || isequippedcnt(2703) == 1 && isequippedcnt(4404) == 1) {

     

  6. No no no no... you're doing it wrong /heh 

     

    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)

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

  8. 7 minutes ago, Jonald said:

    The problem is my kiel + er combo failed to work i equipped 1 er 1 kiel its working -70% after cast delay thats my script

    
    2703,Expert_Ring,Expert Ring,4,30000,,100,,0,,1,0xFFFFFFFF,7,2,136,,0,0,0,{ if ( isequippedcnt(4403) >= 2 && isequippedcnt(2703) < 2 ) bonus bDelayRate, -70 / isequippedcnt(4403); else bonus bDelayRate, -30; bonus bUseSPrate,5; },{},{}

     

    You don't need a combo for -70%...

    kiel card = bonus bDelayRate,-30; (each)
    expert ring = bonus bDelayRate,-5; bonus bUseSPrate,5; (each)

  9. 7 minutes ago, Jonald said:

    I dont have 2 slotted headgears in my server. Yep -70% only works if equip by 2 expert ring and 2 kiel

    Ohhh nevermind about the 2-slot headgear. So you have 2 Kiel and 2 expert ring equipped and it's -70%? That's normal...

  10. 4 minutes ago, Jonald said:

    only one kiel should take effect even wearing 2-3 kiels

    ... 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%?

  11. 20 hours ago, Jonald said:

    hi can you help with kiel + expert ring combo

    only 1 kiel working but if you equip 2 er 2 kiel = 70% nodelay but doesnt work with 1 er 1kiel or 2kiel or 1 kiel 1er 1 sprint ring

    I'm sorry but I do not understand. Could you explain again in as much detail as you can?

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

  13. On 9/23/2017 at 1:25 PM, clold157 said:

    I'm also trying to create 1 npc like this, but mine is pretty simple, just like normal npc shop.

    I have this npc, but it does not buy, nor does it sell, nor does it count the rate

     

      Reveal hidden contents

    //============================================================

    // shop to insert items into:
    -    shop    dyn_shop1    -1,501:50.

    prontera,181,200,4    script    Dynamic Shop    123,{
        callshop "dyn_shop1",0;
        npcshopattach "dyn_shop1";
        end;

    OnSellItem:
        // Stores the amount of tax the clan can withdraw.
        set $taxes1, $taxes1+@price*10;
        mes "Imposto Coletado.";
        end;

    OnBuyItem:
        // Stores the amount of tax the clan can withdraw.
        set $taxes1, $taxes1+@price*10;
        //mes "Tax collected successfully!";
        dispbottom "Tax "+$taxes1+",";
        end;

    OnInit:
        //npcshopitem "dyn_shop1", 501,40,502,200;
        npcshopitem "dyn_shop1", 611,40,1750,1,501,50,502,200,503,550,504,1200,506,40,645,800,656,1500,601,60,602,300,1065,100,2239,10000;
        $@rpotsleft = 10;
        $@opotsleft = 10;
        end;
    }

    prontera,181,198,6    script    tax collector#1    952,{
        
        mes "[taxes]";
        mes "You have: "+$taxes1+" Zenys to collect";
        next;
        mes "Would you like to collect this money now?";
        if(select("Coletar","Não") == 2) close;
        mes "Tax collected successfully";
        set Zeny, Zeny+$taxes1;
        set $taxes1, 0;
        close;
    }

     

    could anyone help me with this?

    thanks

    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.

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