function list

This is a moderated forum that collects tutorials, guides, and references for creating Transcendence extensions and scripts.
Post Reply
User avatar
Betelgeuse
Fleet Officer
Fleet Officer
Posts: 1920
Joined: Sun Mar 05, 2006 6:31 am

just a list of current functions, please tell me if they are functions from in the xml or if I am missing any, I want to start a project describing them (tell me if you want to help)

ok now I am putting * by the ones that are done. This doesn't mean they can't be made better it is more to prevent redoing someone elses work.

a txt version of what I have currently done is available here

A refined, searchable and generally nice looking version is available here at bimbel's site.

*add
*and
*append
*apply
*armGetHitPoints
*armGetName
*armGetRepairCost
*armGetRepairTech
*armIsRadiationImmune
atmAddEntry
atmAtomTable
atmDeleteEntry
atmList
atmLookup

*block

*cat
*count

*dbgOutput
*divide

*enum
*enumwhile
*eq
errblock
*eval

fncHelp
*for

*geq
*gr

*if
intAmmoBoxOpen
intArmorEnhanceStatus
intArmorRepairAll
intAsteroidOnMining
intAutoInstall
intBarricadeUse
intBlackMarketBuyPrice
intBlackMarketOnDestroy
intBlackMarketOnInit
intBlackMarketPromotion
intBlackMarketSellPrice
intBushidoArmorEnhancement
intBushidoWeaponEnhancement
intBuyItems
intCommonwealthCrime
intCommonwealthOnDestroy
intCommonwealthOnInit
intComputeBuyPrice
intComputeSellPrice
intConsumeItem
intCorporateCrime
intCorporateGenerateEnhancement
intCorporateOnDestroy
intCorporateOnInit
intEnhanceWeaponUse
intFieldCrystalUse
intFleetCreateWingmen
intFleetCrime
intFleetDisperseWingmen
intFleetOnInit
intFleetPromotion
intHPEnhancement1
intHPEnhancement2
intHPEnhancement3
intInstallDevicePrep
intItemEnhanceStatus
intMakayevArmorEnhancement
intMakayevWeaponEnhancement
intMassString
intRandomMessage
intRasiermesserArmorEnhancement
intRasiermesserWeaponEnhancement
intRingerBuyMargin
intRingerCrime
intRingerInstallDevicePrep
intRingerOnDestroy
intRingerOnInit
intRingerSellMargin
intSellItems
intSetCompatibleFuel
intShowContractDeliveryScreen
intTaikonBuyMargin
intTeratonBuyMargin
intTeratonGetLevelCurve
intTeratonGetValue
intTeratonMuggin
intTeratonOnDestroy
intTeratonSellMargin
intZoanthropeOnObjDestroyed
intZoanthropeOnOrderChanged
*isatom
iserror
*isfunction
*isint
*item
*itmAtCursor
*itmCreate
*itmCreateByName
*itmCreateRandom
*itmEnumTypes
*itmGetActualPrice
*itmGetArmorInstalledLocation
itmGetArmorType
*itmGetCategory
*itmGetCharges
*itmGetCount
*itmGetDamageType
*itmGetFrequency
itmGetImageDesc
*itmGetInstallCost
*itmGetLevel
*itmGetMass
*itmGetMaxAppearing
*itmGetName
*itmGetPrice
*itmGetTypeData
*itmGetUNID
*itmGetUseScreen
*itmHasModifier
*itmHasReference
*itmIsDamaged
*itmIsEnhanced
*itmIsInstalled
*itmIsKnown
*itmMatches
*itmSetEnhanced
*itmSetKnown
*itmSetReference

*lambda
*leq
link
*list
*lnkAppend
*lnkRemove
*lnkRemoveNil
*lnkReplace
*loop
*ls

*modulus
*multiply

*not

*objAddItem
*objAddRandomItems
*objAddSubordinate
objCanAttack
*objCharge
objClearIdentified
*objCommunicate
*objCredit
*objDepleteShields
*objDestroy
*objEnumItems
*objFireEvent
*objGateTo
*objGetArmorDamage
*objGetArmorName
*objGetArmorType
*objGetBalance
*objGetBuyPrice
*objGetCargoSpaceLeft
*objGetCombatPower
*objGetDamageType
*objGetData
*objGetDestiny
*objGetDistance
*objGetGlobalData
*objGetID
*objGetInstalledItemDesc
*objGetItems
*objGetMaxPower
*objGetName
*objGetNearestStargate
*objGetObjRefData
*objGetOrderGiver
*objGetPos
*objGetSellPrice
*objGetShieldLevel
*objGetSovereign
*objGetStaticData
*objGetStaticDataForStationType
*objGetTarget
*objGetVisibleDamage
*objHasAttribute
*objHasItem
*objIncData
*objIncVel
*objIsAbandoned
*objIsDeviceSlotAvailable
*objIsEnemy
objIsIdentified
*objIsKnown
*objIsShip
*objIsUnderAttack
*objJumpTo
*objLowerShields
*objMakeParalyzed
*objMoveTo
*objProgramDamage
*objRegisterForEvents
*objRemoveItem
*objRepairArmor
*objSendMessage
*objSetData
*objSetGlobalData
objSetIdentified
*objSetKnown
*objSetName
*objSetObjRefData
*objSetSovereign
*objUnregisterForEvents
*or

*plyCharge
*plyClearShowHelpRefuel
*plyComposeString
*plyCredit
*plyDestroyed
*plyGetCredits
*plyGetInsuranceClaims
*plyGetRedirectMessage
*plyIncreaseDominaRel
*plyIncreaseOracusRel
*plyInsure
*plyIsInsured
*plyMessage
*plyRedirectMessage

*random
*rollDice

*scrEnableAction
*scrExitDock
*scrGetCounter
*scrGetInputText
*scrGetItem
*scrGetItemListCursor
scrGetListEntry
*scrIsFirstOnInit
scrRefreshItemListCursor
*scrRemoveitem
*scrSetActionLabel
*scrSetCounter
*scrSetDesc
*scrSetInputText
*scrSetListFilter
*scrShowPane
*scrShowScreen
*set
*setq
*shpAddEnergyField
*shpCancelOrders
*shpCanInstallArmor
*shpCanInstallDevice
*shpCanRemoveDevice
*shpConsumeFuel
*shpDamageArmor
*shpDamageItem
*shpDecontaminate
*shpEnhanceItem
*shpEnhanceSRS
*shpFixBlindness
*shpGetArmor
*shpGetArmorCount
*shpGetArmorMaxHitPoints
*shpGetClass
*shpGetDirection
*shpGetFuelLeft
*shpGetGlobalData
*shpGetItemCharges
*shpGetOrder
*shpGetShieldDamage
*shpGetShieldItemUNID
*shpGetShieldMaxHitPoints
*shpInstallArmor
*shpInstallAutopilot
*shpInstallDevice
*shpInstallTargetingComputer
*shpIsAutopilotInstalled
*shpIsFuelCompatible
*shpIsRadiationImmune
*shpIsRadioactive
*shpIsSRSEnhanced
*shpIsTargetingComputerInstalled
*shpMakeBlind
*shpMakeRadioactive
*shpOrder
*shpOrderAttack
*shpOrderDock
*shpOrderEscort
*shpOrderFollow
*shpOrderGate
*shpOrderGoto
*shpOrderGuard
*shpOrderHold
*shpOrderLoot
*shpOrderMine
*shpOrderPatrol
*shpOrderWait
*shpRechargeItem
*shpRechargeShield
*shpRefuelFromItem
*shpRemoveDevice
*shpRepairItem
shpSetCommandCode
*shpSetController
*shpSetGlobalData
*sovSetDisposition
*staClearFireReconEvent
*staClearReconned
*staGetDockedShips
*staGetGlobalData
*staGetImageVariant
*staGetStructuralHP
*staGetSubordinates
*staGetType
*staIsEncountered
*staIsReconned
*staSetActive
*staSetFireReconEvent
*staSetGlobalData
*staSetImageVariant
*staSetInactive
*staSetStructuralHp
*strCapitalize
*strFind
*subst
*subtract
*switch
symAddEntry
symDeleteEntry
symList
symLookup
*sysAddEncounterEvent
*sysAddEncounterEventAtDist
*sysAddObjRecurringTimerEvent
*sysAddObjTimerEvent
*sysCancelTimerEvent
*sysCreateEffect
*sysCreateMarker
*sysCreateShip
*sysCreateStation
*sysCreateWeaponFire
*sysFindObject
*sysGetData
*sysGetLevel
*sysGetName
*sysGetNavPathPoint
*sysGetNode
*sysGetObjectByName
*sysGlobals
*sysPoolUsage
*sysSetData
*sysStopTime
*sysTicks
*sysVectorAdd
*sysVectorDistance
*sysVectorDivide
*sysVectorMultiply
*sysVectorPolarOffset
*sysVectorRandom
*sysVectorSubtract

*unvGetTick
*unvUNID

vecSetElement
vecVector
Last edited by Betelgeuse on Sun Feb 24, 2008 9:59 am, edited 73 times in total.
Crying is not a proper retort!
Apemant
Commonwealth Pilot
Commonwealth Pilot
Posts: 94
Joined: Mon Dec 03, 2007 12:51 pm

They are built in functions from the .exe, there are no lambda functions from the .xml here. At the first glance, I don't see objJumpTo, how did you compile this list?

Yes, I'd like to help, I know how some of these functions work, but it would be GREAT if we had some quick reference list where you could find any answer. Right now I have to search the .xml files where a function is used to deduce it's format and purpose.

It would be even better if we could somehow influence George to give us more of these great script functions. :lol: The other day I wanted to make a nice afterburner effect but I just couldn't find a way to retrieve the current velocity vector of my ship. I could only find the angle where the ship is turned, but where it is GOING, and at what SPEED - I couldn't find.
User avatar
Betelgeuse
Fleet Officer
Fleet Officer
Posts: 1920
Joined: Sun Mar 05, 2006 6:31 am

I made it with brute force :D Basically went through the xmls and found anything that looked like a function.

objJumpTo is used with the jumpdrive small jumps.
(objJumpTo obj posVector)
basically move obj to the end of posVector from its current position

What kind of format do you think would work best for this?
Crying is not a proper retort!
Apemant
Commonwealth Pilot
Commonwealth Pilot
Posts: 94
Joined: Mon Dec 03, 2007 12:51 pm

Betelgeuse wrote:I made it with brute force :D Basically went through the xmls and found anything that looked like a function.
Hmm you could have looked into the .exe with a hex editor as well. :twisted:
But yes, I guess George wouldn't make a function if he didn't need it in some of the scripts, so...

Betelgeuse wrote:objJumpTo is used with the jumpdrive small jumps.
(objJumpTo obj posVector)
basically move obj to the end of posVector from its current position
I know what it does, I just noticed it wasn't in your list.

Betelgeuse wrote:What kind of format do you think would work best for this?


Depends. You plan to post it here or to some website?

EDIT: BTW, it would be nice if he had descriptions of various xml elements as well. What are the possible elements within an <Effect> elements in a weapon? Which attributes work for the <Flare> elements within that effect? And so on.
User avatar
Betelgeuse
Fleet Officer
Fleet Officer
Posts: 1920
Joined: Sun Mar 05, 2006 6:31 am

Links would be very helpful but fansites have a bad habit of dieing.
Posting here should be fine for now and then someone can base the site off of that (maybe even george once he is ready to start documenting stuff)

events and attributes belong in different threads :D

ps: oh I thought I put in objJumpTo thanks
Crying is not a proper retort!
Apemant
Commonwealth Pilot
Commonwealth Pilot
Posts: 94
Joined: Mon Dec 03, 2007 12:51 pm

Betelgeuse wrote:Links would be very helpful but fansites have a bad habit of dieing.
Posting here should be fine for now and then someone can base the site off of that (maybe even george once he is ready to start documenting stuff)
Ok. But how to arrange such posts? If all the descriptions were put in a single post, it would be gargantuan in size. Maybe split it in several posts and update them incrementally? What do you think.
User avatar
Betelgeuse
Fleet Officer
Fleet Officer
Posts: 1920
Joined: Sun Mar 05, 2006 6:31 am

spitting them up is what we are going to be forced to do anyway because I think there is post length limits. Plus we want room to format it nicely. :D The things I want in there are (not in this format)
function name
argument list
what it returns
Description
Simple example
list of other functions that are related to what it returns (if reasonable)

How should they be sorted by what they do (ie math functions together) or by name?
Crying is not a proper retort!
Apemant
Commonwealth Pilot
Commonwealth Pilot
Posts: 94
Joined: Mon Dec 03, 2007 12:51 pm

Betelgeuse wrote: How should they be sorted by what they do (ie math functions together) or by name?
Hmm both ways have their usage.. if you already know the function but just aren't sure about the format, then by name is better... but if you look for 'some' function which do something you want, you probably don't know its name, so then sort by type would be better. A hard one to decide...

Maybe it would be best to make it 'by name' and then also have 'related functions' like you suggested?
User avatar
Betelgeuse
Fleet Officer
Fleet Officer
Posts: 1920
Joined: Sun Mar 05, 2006 6:31 am

Maybe it would be best to make it 'by name' and then also have 'related functions' like you suggested?
Sounds good.
Crying is not a proper retort!
User avatar
bimbel
Militia Lieutenant
Militia Lieutenant
Posts: 181
Joined: Wed Jul 05, 2006 8:22 am
Location: Germany
Contact:

Betelgeuse wrote: How should they be sorted by what they do (ie math functions together) or by name?
I would say for this a website would be much more suited than a forums post! There would be no need to get one sorting because with a simple database you can sort by 'any' String! And displying the whole would be easier aswell!

As for the bad habit of fan sites dieing. You could simply creat backups which could be moved to another Server (there are enough free plans suitable) on demand!

Lately there are many Ideas which get my curiosity (like ttech's mod repo or this one)!
User avatar
Betelgeuse
Fleet Officer
Fleet Officer
Posts: 1920
Joined: Sun Mar 05, 2006 6:31 am

hmm how about this lets put it on a website but allow people to download the html files in a pack so they can use them offline.
Crying is not a proper retort!
User avatar
Periculi
Fleet Officer
Fleet Officer
Posts: 1282
Joined: Sat Oct 13, 2007 7:48 pm
Location: Necroposting in a forum near you

Wouldn't it be more helpful to break it up into what you want to do? Like a section on Topology and how to mod into Trans.xml, a section on System building and calling functions to set up <On Create> events and other fun stuff, a section on Items, with subdivided sections to deal with <Invoke>. So you get the functions and tags and some guidelines on what is possible in the various game object types.

There is already a huge list of functions posted, but just grouping everything together and listing the names of things doesn't help us mod- so practical examples and specifics would be more to my liking.
User avatar
Betelgeuse
Fleet Officer
Fleet Officer
Posts: 1920
Joined: Sun Mar 05, 2006 6:31 am

well the list of functions isn't helpful right now (and missing many functions) that is why we are going to document them.
This isn't a general how to mod project its more of a scripting reference. Different projects can document events, attributes, and whatever else we can think of.
Crying is not a proper retort!
kaypy
Commonwealth Pilot
Commonwealth Pilot
Posts: 58
Joined: Wed Apr 25, 2007 6:42 am

If you want a list of all the built in functions, start from

http://www.neurohack.com/transcendence/ ... .php?t=872

and go
(help 'a)
(help 'b)
etc etc
User avatar
Ttech
Fleet Admiral
Fleet Admiral
Posts: 2767
Joined: Tue Nov 06, 2007 12:03 am
Location: Traveling in the TARDIS
Contact:

kaypy wrote:If you want a list of all the built in functions, start from

http://www.neurohack.com/transcendence/ ... .php?t=872

and go
(help 'a)
(help 'b)
etc etc

cool. Thanks
Image
Image
Post Reply