1
Mods / Re: [client + server] js ve mods pathfind - to cryofall c#scripts - Rev1.123 STABLE
« on: Yesterday at 10:08:04 am »
2023may30 - at 10:08:04am - bump. release 1.123 STABLE.
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
var character = data.GameObject;
var currentStats = data.PublicState.CurrentStats;
ServerCharacterAiHelper.ProcessAggressiveAi(
character,
targetCharacter: ServerCharacterAiHelper.GetClosestTargetPlayer(character),
isRetreating: currentStats.HealthCurrent < currentStats.HealthMax / 3,
isRetreatingForHeavyVehicles: this.AiIsRunAwayFromHeavyVehicles,
distanceRetreat: 7,
distanceEnemyTooClose: 1,
distanceEnemyTooFar: 3.5,
movementDirection: out var movementDirection,
rotationAngleRad: out var rotationAngleRad);
this.ServerSetMobInput(character, movementDirection, rotationAngleRad);
ServerCharacterAiHelper.ProcessRetreatingAi(character, distnpctoplayersqrt, out var movementDirection, out var rotationAngleRad);
var character = data.GameObject;
var currentStats = data.PublicState.CurrentStats;
ServerCharacterAiHelper.ProcessAggressiveAi(
character,
targetCharacter: ServerCharacterAiHelper.GetClosestTargetPlayer(character),
isRetreating: currentStats.HealthCurrent < currentStats.HealthMax / 3,
isRetreatingForHeavyVehicles: this.AiIsRunAwayFromHeavyVehicles,
distanceRetreat: 7,
distanceEnemyTooClose: 1,
distanceEnemyTooFar: 1.4,
movementDirection: out var movementDirection,
rotationAngleRad: out var rotationAngleRad);
this.ServerSetMobInput(character, movementDirection, rotationAngleRad);
<ray>
<width>0.65</width>
<textures>
<texture>
<diffuse>projectiles/beam_fx-mod1.png</diffuse>
<color>1.0;0;0;1.0</color>
<speed>1</speed>
</texture>
<texture>
<diffuse>projectiles/beam_fx-black.png</diffuse>
<color>1.0;0;0;1.0</color>
<speed>0.5</speed>
</texture>
</textures>
<particles>
<!--
<particle>
<color>0.0;1.0;0.0;1.0</color>
<density>5</density>
<size>0.2</size>
<diffuse>projectiles/particle_01.png</diffuse>
</particle>
-->
</particles>
</ray>
function AIIsPlayerCargoFull(playerID)
{
for (var i = 0; i < 1; i++) {
var totalSizeOfPlayerStorage = 0;
var initialQuantityOfItemsInPlayerStorage = 0;
var emptySpaceToRemovePlayer = 0;
var PlayerContainerID = items.GetGameObjectContainerId(playerID);
var itemsInCargoOfPlayer = items.GetItemsAndCargo(PlayerContainerID);
if (itemsInCargoOfPlayer != null) {
if (itemsInCargoOfPlayer.length > 0) {
if (itemsInCargoOfPlayer[0] != null) {
for (var i = 0; i < itemsInCargoOfPlayer.length; i++) {
initialQuantityOfItemsInPlayerStorage += itemsInCargoOfPlayer[i].quantity;
}
}
else {
initialQuantityOfItemsInPlayerStorage = 0;
}
}
else {
initialQuantityOfItemsInPlayerStorage = 0;
}
}
else {
initialQuantityOfItemsInPlayerStorage = 0;
}
items.AddItem(PlayerContainerID, "goods_emptyspace", 100000);
var itemsInCargoOfPlayerAfterAddingEmptySpace = items.GetItemsAndCargo(PlayerContainerID);
if (itemsInCargoOfPlayerAfterAddingEmptySpace != null) {
if (itemsInCargoOfPlayerAfterAddingEmptySpace.length > 0) {
if (itemsInCargoOfPlayerAfterAddingEmptySpace[0] != null) {
for (var i = 0; i < itemsInCargoOfPlayerAfterAddingEmptySpace.length; i++) {
totalSizeOfPlayerStorage += itemsInCargoOfPlayerAfterAddingEmptySpace[i].quantity;
}
}
else {
totalSizeOfPlayerStorage = 0;
}
}
else {
totalSizeOfPlayerStorage = 0;
}
}
else {
totalSizeOfPlayerStorage = 0;
}
var emptySpaceToRemovePlayer = totalSizeOfPlayerStorage - initialQuantityOfItemsInPlayerStorage;
items.RemoveCargo(PlayerContainerID, "goods_emptyspace", emptySpaceToRemovePlayer);
if (emptySpaceToRemovePlayer > 1) {
var someData = { swtc: 0, space: emptySpaceToRemovePlayer };
return someData;
}
else {
var someData = { swtc: 1, space: emptySpaceToRemovePlayer };
return someData;
}
}
}
function AIIsPlayerCargoFull(playerID)
{
var value = ship.GetTotalCargoAmount(playerID);
var somefinalcval = ship.GetFinalCacheValue(playerID, "cargo_capacity");
var emptyspace = somefinalcval - value;
if (value < somefinalcval)
{
var someData = { swtc: 0, space: emptyspace };
return someData;
}
else
{
var someData = { swtc: 1, space: emptyspace };
return someData;
}
}
/*
Script can contain following functions:
OnUpdateCache - called when device is equipped or initialized, or some values are changed
OnStart - called when device is activated (for all)
OnFrame - called every frame (only for "per frame" mode)
OnFinished - called when device effect should be applied (only for "per frame" and "on complete")
*/