Jump to content

Selerie

Members
  • Posts

    13
  • Joined

  • Last visited

Posts posted by Selerie

  1. 	mes "Monster ID: "+getmonsterinfo(.@mob_id,MOB_NAME)+"'";
    	if (getmobdrops(.@mob_id)) {	// 'getmobdrops' returns 1 on success
    		// immediately copy global temporary variables into scope variables,
    		// since we don't know when 'getmobdrops' will get called again for
    		// another mob, overwriting your global temporary variables
    		.@count = $@MobDrop_count;
    		copyarray .@item[0],$@MobDrop_item[0],.@count;
    		copyarray .@rate[0],$@MobDrop_rate[0],.@count;
    
    		mes getmonsterinfo(.@mob_id,MOB_NAME) + " - " + .@count + " drops found:";
    		for( .@i = 0; .@i < .@count; .@i++ ) {
    			.@menu$ = .@menu$ + .@item[.@i] + " (" + getitemname(.@item[.@i]) + ") " + .@rate[.@i]/100 + ((.@rate[.@i]%100 < 10) ? ".0":".") + .@rate[.@i]%100 + "%";
    		}
    		.@menu$ = .@menu$ + ":";
    	} else {
    		mes "Unknown monster ID.";
    	}
    	.@part = .@count[select(.@menu$)];

    Can someone help me separate the menu instead of 1 line?

    screenrathenaPRE000.jpg

  2. May i request a script for this NPC?

    1.) An NPC that lets you input a mob ID

    2.) Shows a menu of that mob's drop item IDs

    3.) After you pick the desired drop item ID.

    4.) NPC will guarantee you that item after killing 100 said mob.

  3. L_dungeon:
    	callfunc "QWS_Darray";
    	freeloop(1);
    	set .@menu$,"";
    	for(set .@i,0; .@i<35; set .@i,.@i+1)	// Expected maximum is 35
    		set .@menu$,.@menu$+@Dmenulist$[.@i]+":";
    	freeloop(0);
    	set @DWMenu,select(.@menu$);
    
    	if (@Dmenuref[@DWMenu-1] == 57005) goto L_end; // 57005='dead' in hex
    	set @DwarpMenu, (@Dmenuref[@DWMenu-1]);
    	callfunc "QWS_DLarray";
    
    	next;
    	mes "[Warpra]";
    	mes "Please select where you want to go:";
    	freeloop(1);
    	set .@menu$,"";
    	for(set .@i,0; .@i<18; set .@i,.@i+1)	// Expected maximum is 18
    		set .@menu$,.@menu$+@DWLmenulist$[.@i]+":";
    	freeloop(0);
    	set @DWLMenu,select(.@menu$);
    
    	if (@DWLmenuref[@DWLMenu-1] == 57005) goto L_end; // 57005='dead' in hex
    
    	set @Darrayref, @DWLmenuref[@DWLMenu-1];
    	set @warpprice, @pDprice[@Dmenuref[@DWMenu-1]]+(getd(@pDfee$[@Dmenuref[@DWMenu-1]])*(@DDepth[@Darrayref]));
    
    	if(Zeny<@warpprice) callsub L_Short_on_zeny,1;
    	set Zeny, Zeny-(@warpprice);
    	if ($QW_KPoint == 1) set RESRVPTS, RESRVPTS + (@warpprice/16);
    	warp @DGat$[@Darrayref],@DXcoords[@Darrayref],@DYcoords[@Darrayref];
    	close2;
    	set Zeny, Zeny+@pTprice[@Tmenuref[@DWMenu-1]];
    	end;

    Even with the Dungeon depth is set to 0, it still shows a menu of choosing a dungeon.

    for eg.  [Unlocked Dungeons] --> [Toy Factory Dungeon] -->  [Dungeon Level 1]

    Please help me remove the option of [Dungeon Level 1] and automatically warp at the entrance when choosing [Toy Factory Dungeon]. just like how the Town options work.

  4. 		for (.@i=0; .@i < @inventorylist_count; .@i++) {
    			if( @inventorylist_attribute[.@i] ){
    				.@items[.@broken] = @inventorylist_id[.@i];
    				.@menu$ = .@menu$ + getitemname(@inventorylist_id[.@i]) + ":";
    				.@broken++;
    			}
    		}
    		if (!.@broken) {
    			mes "["+ .@npc_name$ +"]";
    			mes "Oh wow, this is incredible!";
    			mes "You must take very good care of your things. None of your items are damaged!";
    		}
    		next;
    		.@select = select(.@menu$) - 1;
    		mes "["+ .@npc_name$ +"]";
    		mes "You are trying to repair the item "+getitemname(.@items[.@select]);
    		next;
    		if( select( "Yes","No" ) == 2 ) end;
    	!!!	repair (Help with the Formula of the specific/selected broked id?)
    		mes "["+ .@npc_name$ +"]";
    		mes "Okay! All done. Now, try to be a little more careful. Items have lives too you know.";
    		close;

    I need help in identifying the correct formula in repairing a selected broken item from the menu.

    I tried...
            

    Quote

    .@choice = .@broken - 1;
            repair (.@choice - getarraysize(.@broken));

    but it's not quite right.. the repaired item is the wrong selection...  Anyhelp is appreciated.

  5. Please help me with a query_sql command.

    Basically a command variable that randomly select a monster  from mob_db  that has a card ID (so that colored plants and mushrooms will not be selected) to hunt for the current week. 

    e.g

    .motw$ = (query_sql... command here.);

    announce "The monster of the week is " + .motw$, 0;

     

    Any guidance is much appreciated. Thanks

  6. I got the Identifier NPC to apply a 1st RandOpt once the item is identified..
    now im stuck how to enchant a 2nd RandOpt with 30% chance. Any Help will be appreciated...

    getinventorylist;
    	for(.@i = 0; .@i < @inventorylist_count; .@i++) { 
    		if (!@inventorylist_identify[.@i]) {
    			if (getiteminfo(@inventorylist_id[.@i],5) == 16){	//Unidentified Armor
    				set .@opt,F_rand(3,4,5,6,7,8,9,10,11,12);	 	//1st ROA
    				if(.@opt == 9 || .@opt == 10) set .@val,rand(3,7);	//Values
    				else if(.@opt == 11 || .@opt == 12) set .@val,rand(1,20);
    				else set .@val,rand(1,4);
    				set .@indx,0;  		//IT WORKS UP UNTIL HERE... 
    				
    				//HOW TO APPLY THIS ONE THOUGH?
                        if(rand(100)<=30){ // 30% chance to apply 2nd Enchant
    					set .@opt,F_rand(1,2,17,19,20,21,26,27,28,29,30,31,32,33,34);
    					if(.@opt == 1) set .@val,rand(1,500);
    					if(.@opt == 2) set .@val,rand(1,100);
    					if(.@opt == 17 || .@opt == 19) set .@val,rand(1,20);
    					if(.@opt == 20 || .@opt == 21) set .@val,rand(1,10);
    					else set .@val,rand(1,20);
    					set .@indx,1;
    				}
    				
    			}
    			delitem2 @inventorylist_id[.@i],1,0,0,0,0,0,0,0;
    			getitem3 @inventorylist_id[.@i],1,1,0,0,0,0,0,0,.@opt,.@val,.@indx;

     

  7. So I made it to work!! But only for the Armor type atm.
    Can someone help me Optimize it more and help me how to add a 2nd enchant??

    getinventorylist;
    for(.@i = 0; .@i < @inventorylist_count; .@i++) { 
    	if (!@inventorylist_identify[.@i]) {
    		if (getiteminfo(@inventorylist_id[.@i],5) == 16){ 	//Unidentified Armor
    			set .@opt,F_rand(3,4,5,6,7,8,9,1,2,11,12); 		//1st enchant ID
    			
    			if(.@opt == 1 || .@opt == 2) set .@val,rand(3,7);//~1st enchant VALUES
    			else if(.@opt == 11) set .@val,rand(1,40);		//~
    			else if(.@opt == 12) set .@val,rand(1,20);	//~
    			else set .@val,rand(1,4); 				//~
    			
    			set .@indx,1;	//param
    		}
    		delitem2 @inventorylist_id[.@i],1,0,0,0,0,0,0,0;
    		getitem3 @inventorylist_id[.@i],1,1,0,0,0,0,0,0,.@opt,.@val,.@indx;
    	}
    }
    end;
  8. Is it possible to enchant a Random Option to an item after its identified by an NPC or using a magnifier?

    for ex. a Poring drop an unidentified "knife" and I'll use a magnifier recognizing it as a "physical weapon category".. once it's identified it now has a 1-2 random option based on that category?

    this was posted by Emistry to keep a random option once identified.. I would like some help with producing a random option once identified.. Any help will be very much appreciated..

    getinventorylist;
    for(.@i = 0; .@i < @inventorylist_count; .@i++) {
    	
    	for (.@r = 1; .@r <= 5; .@r++) {
    		.@random_bonus_id_array[.@r] = getd("inventorylist_option_id"+.@r+"["+.@i+"]");
    		.@random_bonus_value_array[.@r] = getd("inventorylist_option_value"+.@r+"["+.@i+"]");
    		.@random_bonus_param_array[.@r] = getd("inventorylist_option_parameter"+.@r+"["+.@i+"]");
    	}
    	
    	if (!@inventorylist_identify[.@i]) {
    		delitem3 @inventorylist_id[.@i], 1, 0, @inventorylist_refine[.@i], @inventorylist_attribute[.@i], @inventorylist_card1[.@i], @inventorylist_card2[.@i], @inventorylist_card3[.@i], @inventorylist_card4[.@i], .@random_bonus_id_array, .@random_bonus_value_array, .@random_bonus_param_array;
    		getitem3 @inventorylist_id[.@i], 1, 1, @inventorylist_refine[.@i], @inventorylist_attribute[.@i], @inventorylist_card1[.@i], @inventorylist_card2[.@i], @inventorylist_card3[.@i], @inventorylist_card4[.@i], .@random_bonus_id_array, .@random_bonus_value_array, .@random_bonus_param_array;
    		.@count++;
    	}
    }
    if (.@count)
    	dispbottom .@count +" items identified.";

     

×
×
  • Create New...