Script v1.7.1.0
- AI
- Animals
- Contracts
- Debug
- Economy
- Effects
- Events
- Farms
- GUI
- Handtools
- I3d
- Materials
- Misc
- Objects
- Placeables
- Player
- Player
- PlayerModelManager
- PlayerPickUpObjectEvent
- PlayerSetFarmAnswerEvent
- PlayerSetFarmEvent
- PlayerSetHandToolEvent
- PlayerStateActivateObject
- PlayerStateAnimalFeed
- PlayerStateAnimalInteract
- PlayerStateAnimalPet
- PlayerStateAnimalRide
- PlayerStateBase
- PlayerStateCrouch
- PlayerStateCycleHandtool
- PlayerStateDrop
- PlayerStateFall
- PlayerStateIdle
- PlayerStateJump
- PlayerStateMachine
- PlayerStatePickup
- PlayerStateRun
- PlayerStateSwim
- PlayerStateThrow
- PlayerStateUseLight
- PlayerStateWalk
- PlayerStyle
- PlayerSwitchedFarmEvent
- PlayerTeleportEvent
- PlayerThrowObjectEvent
- PlayerToggleLightEvent
- Shop
- Sounds
- Specializations
- Triggers
- Utils
- Vehicles
- Weather
Engine v1.7.1.0
- AI
- Animation
- Camera
- Entity
- Fillplanes
- General
- I3D
- Input
- Lighting
- Math
- Network
- Node
- Overlays
- Particle System
- Physics
- Rendering
- Scenegraph
- Shape
- Sound
- Spline
- String
- Terrain Detail
- Text Rendering
- Tire Track
- XML
- general
Foundation Reference
PlayerStateAnimalRide
ParentPlayerStateBaseFunctions
activate
DescriptionActivate method.Definition
activate()Code
47 | function PlayerStateAnimalRide:activate() |
48 | PlayerStateAnimalRide:superClass().activate(self) |
49 | g_currentMission:fadeScreen(1, self.timeFadeToBlack, self.endFadeToBlack, self) |
50 | g_inputBinding:setContext(PlayerStateAnimalRide.INPUT_CONTEXT_EMPTY, true, false) |
51 | end |
animalRaycastCallback
DescriptionRaycast to check if animal husbandry has been detectedDefinition
animalRaycastCallback(float dt)Arguments
float | dt | delta time in ms |
65 | function PlayerStateAnimalRide:animalRaycastCallback(hitObjectId, x, y, z, distance) |
66 | local husbandryId, visualId = getAnimalFromCollisionNode(hitObjectId) |
67 | |
68 | if husbandryId ~= 0 then |
69 | local husbandry = g_currentMission.husbandries[husbandryId] |
70 | if husbandry ~= nil and husbandry:getSupportsRiding(visualId) and husbandry:getCanBeRidden(visualId) and g_currentMission.accessHandler:canFarmAccess(self.player.farmId, husbandry) then |
71 | self.testedHusbandryInfo = {husbandryId=husbandryId, visualId=visualId} |
72 | return true |
73 | end |
74 | end |
75 | return false |
76 | end |
endFadeToBlack
DescriptionDefinitionendFadeToBlack()Code
55 | function PlayerStateAnimalRide:endFadeToBlack() |
56 | local husbandry = g_currentMission.husbandries[self.testedHusbandryInfo.husbandryId] |
57 | if husbandry ~= nil then |
58 | husbandry:addRideable(self.testedHusbandryInfo.visualId, self.player) |
59 | end |
60 | end |
getRideableName
DescriptionDefinitiongetRideableName()Code
80 | function PlayerStateAnimalRide:getRideableName() |
81 | local rideableName = "" |
82 | if self.testedHusbandryInfo ~= nil then |
83 | local husbandry = g_currentMission.husbandries[self.testedHusbandryInfo.husbandryId] |
84 | if husbandry ~= nil then |
85 | rideableName = husbandry:getAnimalName(self.testedHusbandryInfo.visualId) |
86 | end |
87 | end |
88 | return rideableName |
89 | end |
isAvailable
DescriptionCheck if we can ride animal.Definition
isAvailable()Return Values
bool | returns | true if player can ride an animal |
33 | function PlayerStateAnimalRide:isAvailable() |
34 | local cameraX, cameraY, cameraZ = localToWorld(self.player.cameraNode, 0.0, 0.0, 0.0) |
35 | local dirX, dirY, dirZ = localDirectionToWorld(self.player.cameraNode, 0.0, 0.0, -1.0) |
36 | local collisionMask = 268435456 -- bit 28 |
37 | self.testedHusbandryInfo = nil |
38 | raycastClosest(cameraX, cameraY, cameraZ, dirX, dirY, dirZ, "animalRaycastCallback", self.castDistance, self, collisionMask) |
39 | if self.testedHusbandryInfo ~= nil then |
40 | return true |
41 | end |
42 | return false |
43 | end |
new
DescriptionCreating instance of state.Definition
new(table player, table stateMachine)Arguments
table | player | instance of player |
table | stateMachine | instance of the state machine manager |
table | instance | instance of object |
21 | function PlayerStateAnimalRide:new(player, stateMachine) |
22 | local self = PlayerStateBase:new(player, stateMachine, PlayerStateAnimalRide_mt) |
23 | |
24 | self.testedHusbandryInfo = nil |
25 | self.castDistance = 1.5 -- in m |
26 | self.timeFadeToBlack = 250 |
27 | return self |
28 | end |