Jump to content

hoolbast

Members
  • Posts

    13
  • Joined

  • Last visited

Posts posted by hoolbast

  1. On 10/15/2022 at 9:49 PM, Emistry said:

    find the successrefitem(...) script commands

    and add these

    sd->inventory.u.items_inventory[i].option[index].id = id;
    sd->inventory.u.items_inventory[i].option[index].value = value;
    sd->inventory.u.items_inventory[i].option[index].param = param;

    set the index, id, value, param to whatever random item bonus you want.

    This is not a group 

    group = id in item_randomopt_group.yml

    example.

    if  id->equip == EQP_ARMOR  random group 101

    if  id->equip == EQP_SHIELD random group 102

  2. change progressbar other players see 

     

    Quote

    *progressbar "<color>",<seconds>;

    This command works almost like sleep2, but displays a progress bar
    above the head of the currently attached character (like cast bar).
    Once the given amount of seconds passes, the script resumes. If the
    character moves while the progress bar progresses, it is aborted and
    the script ends. The color format is in RGB (RRGGBB). The color is
    currently ignored by the client and appears always green.

    NOTE:
    Ragexe clients are known to randomly crash if a message window is still open.
    If possible make sure to close all message windows before triggering the progressbar command.

     

  3. How to change Charm bonus items in inventory to custom storage where storage doesn't get bonus but custom storage gets bonus.

     

    *openstorage2 <storage_id>,<mode>{,<account_id>};
    
    Just like the 'openstorage' command, except this command can open additional storages
    by the specified <storage_id>. For <storage_id>, please read the conf/inter_server.yml
    for storage groups.
    
    Values for <mode> are:
    	STOR_MODE_NONE : Player only can read the storage entries.
    	STOR_MODE_GET  : Player can get items from the storage.
    	STOR_MODE_PUT  : Player can put items in the storage.
    
    Example:
    	if (vip_status(VIP_STATUS_ACTIVE)) {
    		mes "I will open your Premium storage.";
    		mes "Thank you for using our service.";
    		close2;
    		openstorage2 1,STOR_MODE_GET|STOR_MODE_PUT;
    	} else {
    		mes "Sorry, your Premium status is expired.";
    		mes "Storage will be opened but you can't put any item into it.";
    		close2;
    		openstorage2 1,STOR_MODE_GET;
    	}
    	end;
  4. how to all party mamber say  "Hey" 

    if( !getcharid(1) || getcharid(3) != getpartyleader( getcharid(1),1 ) ){
    mes "Only Party Leader can click me.";
    close;
    }
        setpcblock PCBLOCK_NPC, true;
        npctalk "Hollow", "", bc_area;
        sleep2 2000;
        unittalk getcharid(0), ""+strcharinfo(0)+" : Hey";
        sleep2 2000;
        npctalk "What can I help you with?", "", bc_area;
        specialeffect 563;
        setpcblock PCBLOCK_NPC, false;
        end;
    }

  5. I Want Change Item And Point 

    morocc,132,98,5    script    Bring Shopping    122,{
        mes "[Item Trader]";
        mes "Hi, "+strcharinfo(0)+"!";
        mes "What can I do for you?";
        next;
        switch(select(" > Information: > Trade in Items: > Point shop (^0055FF"+getd(.Points$)+"^000000): > Leave")) {
        case 1:
            mes "[Item Trader]";
            mes "Do you find that you've got";
            mes "useless Items lying around?";
            mes "I'll be glad to take them off";
            mes "your hands!";
            next;
            mes "[Item Trader]";
            mes "I'll give you ^0055FF"+.Points[0]+" Point"+((.Points[0] == 1)?"":"s")+"^000000 for normal Item each"; 
            mes "Item you give me, and";
            mes "^0055FF"+.Points[1]+" Points^000000 for Items.";
            mes "You can trade those points";
            mes "for items later on.";
            mes "How does that sound?";
            emotion ET_MONEY;
            close;
        case 2:
            mes "[Item Trader]";
            mes "Select the Items you";
            mes "want to trade in.";
            if (.Level) {
                mes " ";
                mes "They must be dropped";
                mes "by monsters of level";
                mes .Level+" and above.";
            }
            deletearray @sold_nameid[0],getarraysize(@sold_nameid);
            callshop "item_shopp",2;
            npcshopattach "item_shopp";
            end;
        case 3:
            mes "[Item Trader]";
            mes "You have ^0055FF"+getd(.Points$)+"^000000 Point"+((getd(.Points$) == 1)?".":"s.");
            callshop "item_shopp",1;
            npcshopattach "item_shopp";
            end;
        case 4:
            mes "[Item Trader]";
            mes "*yawn*";
            mes "See you later!";
            emotion ET_SLEEPY;
            close;        
        }
    
    OnSellItem:
        mes "Items to sell:";
        mes "-----------------------------------";
        for(set .@i,0; .@i<getarraysize(@sold_nameid); set .@i,.@i+1)
            if (@sold_nameid[.@i] > 4000 && @sold_nameid[.@i] < 4700) {
                if (.Level) {
                    query_sql("SELECT `LV` FROM `mob_db` WHERE `DropItemid` = "+@sold_nameid[.@i],.@lv);
                    if (.@lv < .Level) {
                        dispbottom getitemname(@sold_nameid[.@i])+" is under the minimum level.";
                        continue;
                    }
                }
                set .@Item_id[getarraysize(.@Item_id)], @sold_nameid[.@i];
                set .@Item_amt[getarraysize(.@Item_amt)], @sold_quantity[.@i];
                set .@item, compare(.ITEM$,""+@sold_nameid[.@i]);
                mes ((.@item)?"  ^FF0000":"  ^777777")+@sold_quantity[.@i]+"x "+getitemname(@sold_nameid[.@i])+"^000000";
                set .@Item_total, .@Item_total+(@sold_quantity[.@i]*((.@item)?.Points[1]:.Points[0]));
            }
        deletearray @sold_nameid[0], getarraysize(@sold_nameid);
        deletearray @sold_quantity[0], getarraysize(@sold_quantity);
        if (!.@Item_id) {
            mes "  ^777777(none)^000000";
            emotion ET_SWEAT;
            close;
        }
        mes " ";
        mes "---------- Total: ^0055FF"+.@Item_total+" pt.^000000 -------";
        next;
        if(select(" > ^0055FFComplete trade...^000000: > ^777777Cancel^000000") == 2) {
            mes "[Item Trader]";
            mes "Oh, okay...";
            emotion ET_SCRATCH;
            close;
        }
        for(set .@i,0; .@i<getarraysize(.@Item_id); set .@i,.@i+1)
            delitem .@Item_id[.@i],.@Item_amt[.@i];
        setd .Points$, getd(.Points$)+.@Item_total;
        mes "[Item Trader]";
        mes "All done!";
        emotion ET_DELIGHT;
        close;
    
    OnBuyItem:
        for(set .@i,0; .@i<getarraysize(@bought_nameid); set .@i,.@i+1)
            for(set .@j,0; .@j<getarraysize(.Shop); set .@j,.@j+2)
                if (@bought_nameid[.@i] == .Shop[.@j]) {
                    set .@cost, .@cost+(.Shop[.@j+1]*@bought_quantity[.@i]);
                    break;
                }
        if (.@cost > getd(.Points$)) {
            mes "[Item Trader]";
            mes "You don't have enough Points.";
            emotion ET_HUK;
        }
        else {
            mes "Items purchased:";
            mes "-----------------------------------";
            for(set .@i,0; .@i<getarraysize(@bought_nameid); set .@i,.@i+1) {
                getitem @bought_nameid[.@i], @bought_quantity[.@i];
                mes "  ^777777"+@bought_quantity[.@i]+"x "+getitemname(@bought_nameid[.@i])+"^000000";
            }
            mes " ";
            mes "---------- Total: ^0055FF"+.@cost+" pt.^000000 -------";
            setd .Points$, getd(.Points$)-.@cost;
            emotion ET_MONEY;
        }
        deletearray @bought_nameid[0], getarraysize(@bought_nameid);
        deletearray @bought_quantity[0], getarraysize(@bought_quantity);
        close;
    
    OnInit:
        //waitingroom "Item Trader",0;
        set .Level,0;           // Minimum monster level to trade corresponding Items.  
        set .Points$,"#Item_Points";    // Variable to store points.
        setarray .Shop[0],        // Item Shop items: <ID>,<point cost>
        512,10; 
        setarray .Points[0],1,1,1,1;    // Points per <normal Item>,<Item> 
        set .ITEM$,            // List of Items.
        "2504,2311"+
        "2403,2103";
    
        
        npcshopdelitem "item_shopp",909;
        for(set .@i,0; .@i<getarraysize(.Shop); set .@i,.@i+2)
            npcshopadditem "item_shopp",.Shop[.@i],.Shop[.@i+1];
        end;
    }
    -    shop    item_shopp    -1,909:-1

     

×
×
  • Create New...