Mafia's Code: Difference between revisions
imported>Bumcheekcity m →Items |
imported>Bumcheekcity mNo edit summary |
||
Line 35: | Line 35: | ||
Both of these are boolean variables. | Both of these are boolean variables. | ||
==Iteracting with the Player== | |||
===A Yes/No dialogue box=== | |||
<p><pre> | |||
if ( !InputFieldUtilities.confirm( "Are you sure you want to drink without ode?" ) ) | |||
{ | |||
return false; | |||
} | |||
</pre></p> | |||
===Is the Script being run unattended?=== | |||
If Mafia is being run from the command line, or similar, a user may not be able to see, let alone answer, dialogue boxes. In this case: | |||
<p><pre> | |||
StaticEntity.isHeadless() | |||
</pre></p> | |||
returns ''true'' if the user can not respond to dialogue boxes. |
Revision as of 17:18, 1 February 2010
Character
Under Hardcore or Ronin
KoLCharacter.canInteract();
This function returns true if the character is out of Hardcore or Ronin, false otherwise. It is essentially used to check mall access.
Items
Check if we have a certain Item
We can either use:
InventoryManager.hasItem( final int itemId ) InventoryManager.hasItem( final int itemId, boolean shouldCreate ) InventoryManager.hasItem( final AdventureResult item ) InventoryManager.hasItem( final AdventureResult item, final boolean shouldCreate ) InventoryManager.hasItem( 1650, true ); InventoryManager.hasItem( ItemPool.MILK_OF_MAGNESIUM, true );
Essentially the top three overloaded functions call the bottom function, telling it NOT to create the item.
Setting "shouldCreate" to true will NOT create the item, instead it will find out if you COULD create the item.
hasItem() will return true if you have the item, or could create it and specify shouldCreate to be true.
The Item Pool
The Item Pool, at /objectpool/itempool/ItemPool.java is primarily a list of items, mapped to their item number. Its purpose is to make code more readable. ItemPool.UNDERWORLD_ACORN is much more obvious than "4274".
Effects
See if we are under the effects of Ode or Got Milk
KoLConstants.activeEffects.contains( ItemDatabase.ODE ); KoLConstants.activeEffects.contains( ItemDatabase.MILK );
Both of these are boolean variables.
Iteracting with the Player
A Yes/No dialogue box
if ( !InputFieldUtilities.confirm( "Are you sure you want to drink without ode?" ) ) { return false; }
Is the Script being run unattended?
If Mafia is being run from the command line, or similar, a user may not be able to see, let alone answer, dialogue boxes. In this case:
StaticEntity.isHeadless()
returns true if the user can not respond to dialogue boxes.