Spellhold Studios: scient - Viewing Profile

Jump to content

Welcome to Spellhold Studios!

Welcome to Spellhold Studios!

Though guests are able to post in many forums here on Spellhold Studios, as well as download from most categories in the Download Manager, registering provides a great number of advantages over lurking anonymously! In order to post in all forums and download from all categories, send and receive private conversations and participate more fully in the Spellhold Studios community, Register Now or Sign In.

scient's Profile

Group:
Modder
Active Posts:
885 (1.52 per day)
Most Active In:
PS:T Fixpack (176 posts)
Joined:
07-August 08
Profile Views:
2,467
Last Active:
User is offline Yesterday, 05:30 PM
Currently:
Offline

Latest Visitors

  • Photortr86 Icon
    Today, 03:48 AM
  • PhotoQwinn Icon
    11 Feb 2010 - 01:05
  • PhotoYakkuz Icon
    06 Feb 2010 - 12:19
  • Photovyeh Icon
    02 Feb 2010 - 22:15
  • PhotoTalan Icon
    20 Jan 2010 - 08:15
Icon   scient has not set their status

Topics I've Started

  1. action script function info

    Posted 24 Jan 2010

    I figured I'd start a new topic rather than cluttering up "known issues" thread with long lists. This is mainly for informational purposes based on work I've been doing marking up two main switches used for all action script functions (ACTION.IDS/internal engine). I've been slowly moving all my notes into an IDA db from messy txt with goal of making something which I could post. But for now, if anyone is interested in particular offset of any of these functions just let me know.

    So, there are two main switches which get passed action id and it then looks up in a table code location for action function. There are some cases you'll see duplicates in two switches (Wait, WaitRandom) where switch in one function is calling 2nd switch which does the actual action. Also, "action_default" are for those actions which don't exist in current switch. This is mainly when action code is only in one switch so it skips over it in other one.

    Also, note about my abbreviations. The double underscore ("__") denotes separate script functions which overload same function. In some cases to short length I dropped off first part of action name. So action_RunAwayFrom__Ex__NoInterrupt translates to RunAwayFrom, RunAwayFromEx, and RunAwayFromNoInterrupt, all of which use same function.

    Here is ordered list of PST's action.ids with blank action id's added for "missing".

    Quote

    PST:
    0 NoAction()
    1 ActionOverride(O:Actor*,A:Action*)
    2 AddWayPoint(P:WayPoint*)
    3 Attack(O:Target*)
    4
    5 BackStab(O:Target*)
    6
    7 CreateCreature(S:NewObject*,P:Location*)
    8 Dialogue(O:Object*)
    9 DropItem(S:Object*,P:Location*)
    10 Enemy()
    11 EquipItem(S:Object*)
    12
    13 FindTraps()
    14 GetItem(S:Object*,O:Target*)
    15 GiveItem(S:Object*,O:Target*)
    16 GiveOrder(O:Object*,I:Order*Order)
    17 Help()
    18 Hide()
    19 JoinParty()
    19 JoinPartyEx(I:JoinGroup*Boolean)
    20 LayHands(O:Target*)
    21 LeaveParty()
    22 MoveToObject(O:Target*)
    22 MoveToObjectEx(O:Target*,I:Timeout*)
    23 MoveToPoint(P:Point*)
    24 Panic()
    25 PickPockets(O:Target*)
    26 PlaySound(S:Sound*)
    27 ProtectPoint(P:Target*,I:Range*)
    28 RemoveTraps(O:Trap*)
    29 RunAwayFrom(O:Creature*,I:Time*AITime)
    29 RunAwayFromEx(O:Creature*,I:Time*AITime,I:NoAttacks*Boolean)
    30 SetGlobal(S:Name*,S:Area*,I:Value*)
    30 GlobalSet(S:Name*,S:Area*,I:Value*)
    31 Spell(O:Target*,I:Spell*Spell)
    32
    33 Turn()
    34 UseItem(S:Object*,O:Target*)
    35
    36 Continue()
    37 FollowPath()
    38 Swing()
    39 Recoil()
    40 PlayDead(I:Time*)
    41
    42
    43
    44
    45
    46
    47 Formation(O:Leader*,P:Offset*)
    48 JumpToPoint(P:Target*)
    49 MoveViewPoint(P:Target*,I:ScrollSpeed*Scroll)
    50 MoveViewObject(O:Target*,I:ScrollSpeed*Scroll)
    51 ClickLButtonPoint(P:Target*,I:ScrollSpeed*Scroll)
    52 ClickLButtonObject(O:Target*,I:ScrollSpeed*Scroll)
    53 ClickRButtonPoint(P:Target*,I:ScrollSpeed*Scroll)
    54 ClickRButtonObject(O:Target*,I:ScrollSpeed*Scroll)
    55 DoubleClickLButtonPoint(P:Target*,I:ScrollSpeed*Scroll)
    56 DoubleClickLButtonObject(O:Target*,I:ScrollSpeed*Scroll)
    57 DoubleClickRButtonPoint(P:Target*,I:ScrollSpeed*Scroll)
    58 DoubleClickRButtonObject(O:Target*,I:ScrollSpeed*Scroll)
    59 MoveCursorPoint(P:Target*,I:ScrollSpeed*Scroll)
    60 ChangeAIScript(S:ScriptFile*,I:Level*Scrlev)
    61 StartTimer(I:ID*,I:Time*)
    62 SendTrigger(O:Target*,I:TriggerNum*)
    63 Wait(I:Time*)
    64 UndoExplore()
    65 Explore()
    66 DayNight(I:TimeOfDay*Time)
    67 Weather(I:Weather*Weather)
    68 CallLightning(O:Target*)
    69 VEquip(I:item*)
    70 NIDSpecial1()
    71 NIDSpecial2()
    72 NIDSpecial3()
    73 NIDSpecial4()
    74 NIDSpecial5()
    75 NIDSpecial6()
    76 NIDSpecial7()
    77 NIDSpecial8()
    78 NIDSpecial9()
    79 NIDSpecial10()
    80 NIDSpecial11()
    81 NIDSpecial12()
    82 CreateItem(S:ResRef*,I:Usage1*,I:Usage2*,I:Usage3*)
    83 SmallWait(I:Time*)
    84 Face(I:Direction*)
    85 RandomWalk()
    86 SetInterrupt(I:State*Boolean)
    87 ProtectObject(O:Target*,I:Range*)
    88 Leader(P:Point*)
    89 Follow(P:Point*)
    90 MoveToPointNoRecticle(P:Point*)
    91 LeaveArea(S:Area*,P:Point*,I:Face*)
    92 SelectWeaponAbility(I:WeaponNum*,I:AbilityNum*)
    93
    94 GroupAttack(O:Target*)
    95 SpellPoint(P:Target*,I:Spell*Spell)
    96 Rest()
    97 UseItemPoint(S:Item*,P:Target*,I:Ability*)
    98 AttackNoSound(O:Target*)
    99
    100 RandomFly()
    101
    102 MoraleSet(O:Target*,I:Morale*)
    103 MoraleInc(O:Target*,I:Morale*)
    104 MoraleDec(O:Target*,I:Morale*)
    105 AttackOneRound(O:Target*)
    106 Shout(I:ID*)
    107 MoveToOffset(P:Offset*)
    108 EscapeArea()
    109 IncrementGlobal(S:Name*,S:Area*,I:Value*)
    110 LeaveAreaLUA(S:Area*,P:Point*,I:Face*)
    111 DestroySelf()
    112 UseContainer()
    113 ForceSpell(O:Target*,I:Spell*Spell)
    114 ForceSpellPoint(P:Target*,I:Spell*Spell)
    115 SetGlobalTimer(S:Name*,S:Area*,I:Time*GTimes)
    116 TakePartyItem(S:Item*)
    117 TakePartyGold(I:Amount*)
    118 GivePartyGold(I:Amount*)
    119 DropInventory()
    120 StartCutScene(S:CutScene*)
    121 StartCutSceneMode()
    122 EndCutSceneMode()
    123 ClearAllActions()
    124 Berserk()
    125 Deactivate(O:Object*)
    125 DeactivateEx(O:Object*,I:RenderMode*Boolean)
    126 Activate(O:Object*)
    127 CutSceneId(O:Object*)
    128 AnkhegEmerge()
    129 AnkhegHide()
    130 RandomTurn()
    131 Kill(O:Object*)
    132 VerbalConstant(O:Object*,I:Constant*soundOff)
    133 ClearActions()
    134 AttackReevaluate(O:Target*,I:ReevaluationPeriod*)
    135 LockScroll()
    136 UnlockScroll()
    137 StartDialog(S:DialogFile*,O:Target*)
    138 SetDialog(S:DialogFile*)
    139 PlayerDialog(O:Target*)
    140 GiveItemCreate(S:ResRef*,O:Object*,I:Usage1*,I:Usage2*,I:Usage3*)
    141 GivePartyGoldGlobal(S:Name*,S:Area*)
    142 UseDoor()
    143 OpenDoor(O:Object*)
    144 CloseDoor(O:Object*)
    145 PickLock(O:Object*)
    146 Polymorph(I:AnimationType*Animate)
    146 PolymorphEx(I:AnimationType*Animate,I:RangeModes*)
    147 RemoveSpell(I:Spell*Spell)
    148 BashDoor(0:Object*)
    149 EquipMostDamagingMelee()
    150 StartStore(S:Store*,O:Target*)
    151 DisplayString(O:Object*,I:StrRef*)
    152 ChangeAIType(O:Object*)
    153 ChangeEnemyAlly(O:Object*,I:Value*EA)
    154 ChangeGeneral(O:Object*,I:Value*General)
    155 ChangeRace(O:Object*,I:Value*Race)
    156 ChangeClass(O:Object*,I:Value*Class)
    157 ChangeSpecifics(O:Object*,I:Value*Specific)
    158 ChangeGender(O:Object*,I:Value*Gender)
    159 ChangeAlignment(O:Object*,I:Value*Align)
    160 ApplySpell(O:Target*,I:Spell*Spell)
    161 IncrementChapter(S:RESREF*)
    162 ReputationSet(I:Reputation*)
    163 ReputationInc(I:Reputation*)
    164 AddexperienceParty(I:XP*)
    164 Addpartyexperience(I:XP*)
    165 AddexperiencePartyGlobal(S:Name*,S:Area*)
    166 SetNumTimesTalkedTo(I:Num*)
    167 StartMovie(S:ResRef*)
    168
    169 DestroyItem(S:Object*,O:Target*,I:All*Boolean)
    170
    171 CreatePartyGold(I:Amount*)
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181 ReallyForceSpell(O:Target*,I:Spell*Spell)
    181 ReallyForceSpellLevel(O:Target*,I:Spell*Spell,I:CastLevel*)
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200 SetAnimState(O:Object*,I:Anim*AnimStat)
    201 SetGlobalTint(I:Red*,I:Green*,I:Blue*)
    202 IncrementGlobalOnce(S:Name1*,S:Area1*,S:Name2*,S:Area2*,I:Val*)
    203 IncrementKillStat(I:StatID*Killstat)
    204 FadeToBlack()
    205 FadeFromBlack()
    206 Plunder(O:Target*)
    207 SavePlace()
    208 ReturnToSavedPlace()
    209 SetTextColor(I:TextColor*Color)
    210 FloatMessage(O:Object*,I:StrRef*)
    211 FloatMessageFixed(P:Location*,I:StrRef*)
    212 FloatMessageRnd(O:Object*,S:Pool*)
    213 FloatMessageFixedRnd(P:Location*,S:Pool*)
    214 KillFloatMessage(O:Object*)
    215 FaceObject(O:Object*)
    216 FullHeal(O:Object*)
    217 PermanentStatChange(O:Object*,I:StadID*Stats,I:Delta*Delta,I:Modifier*)
    218 PlaySequence(I:Anim*AnimStat)
    219 WaitRandom(I:MinTime*,I:MaxTime*)
    220 StartRandomTimer(I:ID*,I:MinTime*,I:MinTime*)
    221 DestroyPartyGold(I:Amount*)
    222 DestroyPartyItem(S:Object*,I:All*Boolean)
    223 TransformItem(S:OldObject*,O:Creature*,S:NewObject*,I:Charge1*,I:Charge2*,I:Charge3*)
    224 TransformPartyItem(S:OldObject*,S:NewObject*,I:Charge1*,I:Charge2*,I:Charge3*)
    225 FollowCreature(O:Target*)
    226 GenerateModronMaze()
    227 GlobalBAND(S:Name*,S:Area*,I:Value*)
    228 GlobalBOR(S:Name*,S:Area*,I:Value*)
    229 GlobalSHR(S:Name*,S:Area*,I:Value*,I:ShiftIn*Boolean)
    230 GlobalSHL(S:Name*,S:Area*,I:Value*,I:ShiftIn*Boolean)
    231 GlobalMAX(S:Name*,S:Area*,I:Value*)
    232 GlobalMIN(S:Name*,S:Area*,I:Value*)
    233 GlobalSetGlobal(S:Name1*,S:Area1*,S:Name2*,S:Area2*)
    234 GlobalAddGlobal(S:Name1*,S:Area1*,S:Name2*,S:Area2*)
    235 GlobalSubGlobal(S:Name1*,S:Area1*,S:Name2*,S:Area2*)
    236 GlobalANDGlobal(S:Name1*,S:Area1*,S:Name2*,S:Area2*)
    237 GlobalORGlobal(S:Name1*,S:Area1*,S:Name2*,S:Area2*)
    238 GlobalBANDGlobal(S:Name1*,S:Area1*,S:Name2*,S:Area2*)
    239 GlobalBORGlobal(S:Name1*,S:Area1*,S:Name2*,S:Area2*)
    240 GlobalSHRGlobal(S:Name1*,S:Area1*,S:Name2*,S:Area2*,I:ShiftIn*Boolean)
    241 GlobalSHLGlobal(S:Name1*,S:Area1*,S:Name2*,S:Area2*,I:ShiftIn*Boolean)
    242 GlobalMAXGlobal(S:Name1*,S:Area1*,S:Name2*,S:Area2*)
    243 GlobalMINGlobal(S:Name1*,S:Area1*,S:Name2*,S:Area2*)
    244 BitSet(S:Name*,S:Area*,I:Bit*Bits)
    245 BitClear(S:Name*,S:Area*,I:Bit*Bits)
    246 ForceAIScript(S:ScriptFile*,O:Target*,I:Level*Scrlev)
    247 ExploreMapChunk(P:Center*,I:Radius*,I:Mode*)
    248 RunToPoint(P:Point*)
    249 RunToPointNoRecticle(P:Point*)
    250 RandomRun()
    251 RunningAttack(O:Target*)
    252 RunningAttackNoSound(O:Target*)
    253 RunToObject(O:Target*)
    254
    255 RunFollow(P:Point*)
    256 RunToSavedLocation()
    257
    258
    259 Damage(O:Target*,I:Delta*Delta,I:Modifier*)
    260 GlobalXOR(S:Name*,S:Area*,I:Value*)
    261 GlobalXORGlobal(S:Name*,S:Area*,S:Name2*,S:Area2*)
    262 ChangeColor(I:Range*ClownRge,I:Color*ClownClr)
    263 PlaySequenceTimed(I:Anim*AnimStat,I:Seconds*)
    264 BuyStuff(S:Item*,I:Qty*,I:Price*)
    265 IncrementProficiency(O:Target*,I:SlotNum*WProf,I:Modifier*)
    266 FloatRebus(O:Target*)
    267 StartSong(I:Song*Songs,P:Where*,I:How*SongFlag)
    268 SetFaction(O:Object*,I:Value*Faction)
    268 ChangeFaction(O:Object*,I:Value*Faction)
    269 SetTeam(O:Object*,I:Value*Team)
    269 ChangeTeam(O:Object*,I:Value*Team)
    270 ForceAttack(O:Object*,O:Target*)
    271 ForceFacing(O:Object*,I:Dir*)
    272 ChangeDialog(O:Object*,S:ResRef*)
    273 SetInternal(O:Object*,I:Index*Internal,I:Value*)
    274 IncInternal(O:Object*,I:Index*Internal,I:Value*)
    275 PlaySequenceGlobal(S:Label*,S:Scope*,I:Anim*AnimStat,I:EndAnim*AnimStat)
    276 SetDoorLocked(O:Object*,I:Locked*Boolean)
    277 IncrementExtraProficiency(O:Target*,I:Modifier*)
    278 ActivatePortalCursor(O:Object*,I:Value*)
    279 EnablePortalTravel(O:Object*,I:Value*)
    280 SetSavedLocation(P:Where*,I:Face*)
    281 TeleportParty(S:Area*,P:Point*,I:Face*)
    282 StopMoving()
    283 SetMazeEasier()
    284 SetMazeHarder()
    285 FixEngineRoom()
    286 SetCorpseEnabled(S:Name*,I:State*)
    287 DebugOutput(S:Message*)
    288 SetNamelessDeath(I:AreaNum*,P:Dest*,I:State*Animstat)
    289 SetNamelessDeathParty(P:Dest*,I:Reserved*)
    290 SetNamelessDisguise(I:DisguiseNum*Disguise)
    291 SinisterPoof(S:BamResRef*,P:Location*,I:Itterations*)
    292 StickySinisterPoof(S:BamResRef*,O:Object*,I:Itterations*)
    293 SetNamelessClass(I:Value*Class)
    294 ForceLeaveAreaLUA(S:Area*,O:Object*,I:Xpos*,I:Ypos*,I:Facing*)
    295 CreateCreatureAtFeet(S:ResRef*)
    296 RestParty(I:SuggestedDream*,I:HP*,I:Renting*)
    297 ResetFogOfWar()
    298 DisableSpriteDither()
    299 EnableSpriteDither()
    300 DisableFogDither()
    301 EnableFogDither()
    302 SetNoOneOnTrigger(O:Trigger*)
    303 TimedMoveToPoint(P:Point*,I:Time*)
    304 ForceUseContainer(O:User*)
    305 FullHealEx(O:Object*)
    306 GiveExperience(O:Object*,I:Amount*)
    307 TransformItemAll(S:OldObject*,O:Creature*,S:NewObject*,I:Charge1*,I:Charge2*,I:Charge3*)
    308 TransformPartyItemAll(S:OldObject*,S:NewObject*,I:Charge1*,I:Charge2*,I:Charge3*)
    309 QuitGame(I:Value*MovVal,I:Value*MovVal,I:Value*MovVal)
    310 StartCutSceneEx(S:CutScene*,I:Value*)
    311 GeneratePartyMember(P:Location*,I:Value*Specific)
    312 PlaySoundNotRanged(S:Sound*)
  2. Quick Load

    Posted 4 Jan 2010

    I'm currently working on adding in functionality of "Quick Load" into PST engine based on BG1. I've already got the raw functionality working (Quick Save became Quick Load :P) it's just a matter of setting up keyboard listening/mapping via engine. So, my question to anyone interested is what the default hotkey should be? Qwinn suggested F9 since that seems to be fairly common for quick load in a lot of games. Note, if I can get it working correctly those who really want to will be able to remap this key. I'm just looking for input as default. Well, maybe not from inside PST itself because I'm not sure how much needs to be modified to add stuff into keyboard mapping screen. But I plan to make it so it can be defined in keymap.ini.

    I thought this would be a nice convenience feature. :)

My Information

Age:
Age Unknown
Birthday:
Birthday Unknown
Gender:

Contact Information

E-mail:
Private

Friends

scient hasn't added any friends yet.

Comments

scient has no profile comments yet. Why not say hello?