Jump to content

Euphy

Members
  • Posts

    2997
  • Joined

  • Last visited

  • Days Won

    72

Posts posted by Euphy

  1. Currently, an additional EXP boost can be granted with the 'bonus_script' command implemented in 99098c1. As stated elsewhere, a full VIP system is in the works.

    Renaming the topic to "VIP System" to make it easier to find.

    • Upvote 1
  2. I'm rejecting this for obvious reasons (intellectual property; images have hardcoded items; we're not supplying 42 cutins for a custom script). Feel free to repost in script releases/requests, though.

  3. Alternately, see 'countbound':

    *countbound({<bound type>})

    This function will return the number of bounded items in the character's

    inventory, and sets an array @bound_items[] containing all item IDs of the

    counted items. If a bound type is specified, only those items will be counted.

    For a list of bound types see 'getitembound'.

    Example:

    	mes "You currently have "+countbound()+" bounded items.";
    	next;
    	mes "The list of bounded items include:";
    	for(set .@i,0; .@i<getarraysize(@bound_items); set .@i,.@i+1)
    		mes getitemname(@bound_items[.@i]);
    	close;
    
  4. Not too hard of a concept, but the execution will take some work on your part.

    • Trigger 'loadevent' flag on every map, and when loading set a character variable indicating that the character has been to the map.
    • Before warping, check if the variable is set for the destination map.

    The first part could be relatively efficiently accomplished with an SQL table, since you don't want to store tons of permanent character variables.  My suggestion:

    • Store an array of temporary character variables consisting of loaded map names OnPCLoadMapEvent.
    • Query the array into an SQL table OnPCLogoutEvent, so that you only need to run this operation once.

    The other way is, of course, to use a table of map indexes and potentially write an algorithm to fit all loaded maps into a single permanent character string variable, but I personally wouldn't go through that much effort for this.

  5. If you want account-based quests, replace the permanent character variables with account variables. If you want all characters to be able to take quests simultaneously, replace all account variables with permanent character variables. In both cases, remove this check:

    		if (#Mission_Count) {

    mes "You've started a mission";

    mes "on another character.";

    close;

    }

  6. NPC variables (.var) are shared across all duplicate NPCs, so they'll be set in every instance. This is rarely what you want.

    If mobcount() won't work for you, you can try using instance variables ('var) to store data, but be sure to initialize them as necessary - they won't be reset when executing @reloadscript.

  7. This is how it's calculated:

    if (getequippercentrefinery(.@part) > rand(100) || getequippercentrefinery(.@part) > rand(100)) {
    That means that it's (essentially) doubling the original refine rate, or more technically giving you two attempts at the original rate. You can edit or add conditions as you'd like.
×
×
  • Create New...