Supported In: | ||
---|---|---|
C | D/S/W | W-CD |
? | ? | ? |
The scripting command SetVar has the opcode (0x1B).
Arguments
- Byte - Variable ID
- Byte - New Value
- Byte - New Value [optional]
- Byte - New Value [optional]
- Byte - New Value [optional]
Description
Sets a game variable. Variables can be character (race, sex, or temporary age) or party (gold, gems, or date/time) specific. Most variables take a single byte, but some take two or four. Note the chart below. The variable is applied to the currently selected character (for example, by WhoWill or SetChar) or to all if selected character is 0 or 8.
Notes
For those arguments that take 2 or 4 values, watch the endianess. ie, 0x10 0xA0 0x86 0x01 = 0x0186A0 Experience = 100'000 Experience. Also, the set_nothings can probably be expanded and implemented in future games, if needed.
Type | Arguments | Description |
---|---|---|
0x00 | 1 | set_nothing |
0x01 | 1 | set_nothing |
0x02 | 1 | set_nothing |
0x03 | 1 | setSex |
0x04 | 1 | setRace |
0x05 | 1 | setClass |
0x06 | 1 | set_nothing |
0x07 | 1 | set_nothing |
0x08 | 1 | setCurHp |
0x09 | 1 | setCurSp |
0x0A | 1 | setAcTemp2 |
0x0B | 1 | setLevelTemp |
0x0C | 1 | setAgeTemp |
0x0D | 1 | set_nothing |
0x0E | 1 | set_nothing |
0x0F | 1 | set_nothing |
0x10 | 4 | setExperience |
0x11 | 1 | setEpPoison |
0x12 | 1 | *unknown* |
0x13 | 1 | set_nothing |
0x14 | 1 | set_nothing |
0x15 | 1 | set_nothing |
0x16 | 1 | set_nothing |
0x17 | 1 | set_nothing |
0x18 | 1 | set_nothing |
0x19 | 2 | setMinutes |
0x1A | 1 | set_nothing |
0x1B | 1 | set_nothing |
0x1C | 1 | set_nothing |
0x1D | 1 | set_nothing |
0x1E | 1 | set_nothing |
0x1F | 1 | set_nothing |
0x20 | 1 | set_nothing |
0x21 | 1 | set_nothing |
0x22 | 4 | setGold |
0x23 | 2 | setGems |
0x24 | 1 | set_nothing |
0x25 | 1 | setMgtTemp |
0x26 | 1 | setIntTemp |
0x27 | 1 | setPersTemp |
0x28 | 1 | setEndTemp |
0x29 | 1 | setSpdTemp |
0x2A | 1 | setAccTemp |
0x2B | 1 | setLuckTemp |
0x2C | 1 | set_nothing |
0x2D | 1 | setMgtBase |
0x2E | 1 | setIntBase |
0x2F | 1 | setPersBase |
0x30 | 1 | setEndBase |
0x31 | 1 | setSpdBase |
0x32 | 1 | setAccBase |
0x33 | 1 | setLuckBase |
0x34 | 1 | setChFireBase |
0x35 | 1 | setChElecBase |
0x36 | 1 | setChColdBase |
0x37 | 1 | setChPoisBase |
0x38 | 1 | setChEnrgBase |
0x39 | 1 | setChMagBase |
0x3A | 1 | setChFireTemp |
0x3B | 1 | setChElecTemp |
0x3C | 1 | setChColdTemp |
0x3D | 1 | setChPoisTemp |
0x3E | 1 | setChEnrgTemp |
0x3F | 1 | setChMagTemp |
0x40 | 1 | setLevelBase |
0x41 | 1 | setFood |
0x42 | 1 | set_nothing |
0x43 | 1 | set_nothing |
0x44 | 1 | set_nothing |
0x45 | 1 | setLevitate |
0x46 | 1 | setLight |
0x47 | 1 | setEpFire |
0x48 | 1 | setEpElec |
0x49 | 1 | setEpCold |
0x4A | 1 | setEpPoison |
0x4B | 1 | set_nothing |
0x4C | 1 | *unknown* |
0x4D | 1 | setAcTemp |
0x4E | 1 | set_nothing |
0x4F | 1 | setWizardEyeOn |
0x50 | 1 | set_nothing |
0x51 | 1 | set_nothing |
0x52 | 1 | set_nothing |
0x53 | 1 | *unknown* |
0x54 | 1 | setDirection |
0x55 | 1 | setYear |
0x56 | 1 | set_nothing |
0x57 | 1 | set_nothing |
0x58 | 1 | set_nothing |
0x59 | 1 | set_nothing |
0x5A | 1 | set_nothing |
0x5B | 1 | set_nothing |
0x5C | 1 | set_nothing |
0x5D | 1 | set_nothing |
0x5E | 1 | setWalkOnWater |
TODO: What do 0x12, 0x4C, 0x53 set?
Event Opcodes
| ||||||||||
|