Jump to content

NKCYBER

Members
  • Posts

    7
  • Joined

  • Last visited

Posts posted by NKCYBER

  1. 2 hours ago, sader1992 said:

    if you want to add different item to each monster , than the fact that they are Demi human is somewhat useless , just edit the monsters drop in the database

    if the same item for all the Demi human monsters than use this bonus with OnPCStatCalcEvent

    bonus2 bDropAddRace,r,x;    Adds x% to player's drop rate when killing a monster with race r.

    i want creat  script  evevt  attack all monster Race Demi - Human   drop rate  give item  event   

     

    samsple  

    -    script    KillmonsterAutoDrop    -1,{
    end;

    OnNPCKillEvent:
    if(rand(1,100) < 5) getitem 671,1;
    end;
    }

     

  2. 20 hours ago, BeWan said:

    @NKCYBER you can edit the points and the item.

    
    prontera,150,150,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],0,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

     

    Thank you sir ♥♥
×
×
  • Create New...