Jump to content

a91323

Members
  • Posts

    99
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by a91323

  1. 35 minutes ago, Kakaroto said:

    not a good way

    because per item have a bonus amount limit 

    pc.hpp

    #define MAX_PC_BONUS 10

     

     

    if items effect item id to be dropped when killing a monster Treasure Chests race (RC2_TREASURE)

    RC2_TREASURE,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1938,1939,1940,1941,1942,1943,1944,1945,1946,2452,2453,2454,2455,2456,2457,2458,2459,2460,2461,2462

    bonus2 bAddMonsterDropItem need write 60 times....

  2. I have tried several different variations of this with no luck. An I missing something to make this work or is it somehow broken?

     

    Peopleperson49

    try it

    prontera,156,176,5	script	Voguale#RoUG	929,{
    	if(getgmlevel()<20) { mes "[Voguale]"; mes "Hi!"; close; }
    	deletearray $@mobid[0],getarraysize($@mobid);
    	monster "prontera",156,176,"Poring",1002,1;
    	set .GID,$@mobid[0];
            setunitdata .GID,UMOB_MAXHP,200000;
    	setunitdata .GID,UMOB_HP,200000;
    	end;
    }
    
    • Upvote 1
  3.  

    setarray .@item_id, 501,502,503,504,505,506,507,508,509,510;
    for (@i=0; @i< 5; @i++)
    {
      set .@ind, rand(0,getarraysize(.@item_id));
      getitem .@item_id[.@ind], 1;
      deletearray .@item_id[.@ind],1;
    }

     

     

    i tried it but when the rand value return to previews deletearray value it return 0 and give error

     

    because

    .@item_id≠@item_id

    and

    set @ind, rand(0,getarraysize(.@item_id)-1);

    deletearray <array name>[<first value>],<how much to delete>;
    prontera,155,125,4	script	test	4_m_genie,{
    	setarray .@item_id[0],501,502,503,504,505,506,507,508,509,510;
    	for(.@i=0; .@i<5;.@i++){
    		.@pass = 0;
    		// random item
    		.@item = .@item_id[rand(0,getarraysize(.@item_id)-1)];
    		if(getarraysize(.@del) != 0){
    			for(.@j=0; .@j<getarraysize(.@del);.@j++){
    				if(.@del[.@j]==.@item)	// repeat
    					break;
    				if(.@j == (getarraysize(.@del)-1))
    					.@pass = 1;
    			}
    		} else {
    			.@pass = 1;
    		}			
    		if(.@pass == 1){
    			getitem .@item,1;
    			// record gived
    			.@del[.@i] = .@item;
    		} else {
    			.@i -= 1;
    		}
    	}
    	end;
    }
    
  4. Hi rAthena,

     

                                                                                                

     

    Question :

    - How can a npc script give 5 different items randomly in a array at the same-time.

     

                                                                                                

     

    Example :

    - setarray .@item_id, 501,502,503,504,505,506,507,508,509,510;

     

    can someone help me?

     

                                                                                                

     

    Thank you in advance  /thx

    prontera,155,125,4	script	test	4_m_genie,{
    	setarray .@item_id[0],501,502,503,504,505,506,507,508,509,510;
    	for(.@i=0; .@i<5;.@i++){
    		.@pass = 0;
    		while(1){
    			// random item
    			.@item = .@item_id[rand(0,getarraysize(.@item_id)-1)];
    			if(getarraysize(.@del) != 0){
    				for(.@j=0; .@j<getarraysize(.@del);.@j++){
    					if(.@del[.@j]==.@item)	// repeat
    						break;
    					if(.@j == (getarraysize(.@del)-1))
    						.@pass = 1;
    				}
    			} else {
    				break;
    			}			
    			if(.@pass == 1)
    				break;
    		}
    		getitem .@item,1;
    		// record gived
    		.@del[.@i] = .@item;
    	}
    	end;
    }
    
  5. no test

    case IT_ARMOR:
    			switch (id->equip){
    				case 256:
    				case 512:
    				case 1:
    					// Global armor
    					drop->item_data.refine = rnd() % 9 + 1; // Add random refine
    					if (rnd() % 1000 < 100) { // 10% Chance
    						drop->item_data.card[0] = 4112; // Marduk Card
    						drop->item_data.card[1] = 4799; // HP500 (enhance stone)
    						drop->item_data.card[2] = 4802; // SP150 (enhance stone)
    						drop->item_data.card[3] = 4807; // Atk_Speed1 (enhance stone)
    					}
    					break;
    			}
    			break;
    
×
×
  • Create New...