Jump to content


  • Posts

  • Joined

  • Last visited

1 Follower

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. I compensate it with ActionsPatch. Any constructive comment is welcome. When TIS corrects it please telle me so I can remove the patch.
  2. updateEndurance is not called during Walk-To actions (including modded ones) as a consequence no endurance is lost. xpUpdate.onPlayerMove is also not called. as a consequence no running /fitness /strength experience is gained. The problem stands in IsoPlayer.class updateInternal2 method. I am sure of that because : OnPlayerUpdate is called while OnPlayerMove is not called during walk to actions and both are called while moving with keyboard. I guess that one of the following conditions is true wich prevents the computation of movement consequences among wich is OnPlayerMove event. if (this.checkActionsBlockingMovement()) if (this.updateUseKey()) it could also be that the following condition is false if (this.stateMachine.getCurrent() != StaggerBackState.instance() && this.stateMachine.getCurrent() != FakeDeadZombieState.instance() && UIManager.speedControls != null)
  3. Can it done that the following static method returns IsoFire instance(success) or Null/Nil(failure) instead of void ? IsoFireManager.StartFire(cell, square, b, energy, life); It would open a great door to fire manipulation from Lua.
  4. Am I wrong or the intention is to use loot animation but report bandage event anyway ? see ISApplyBandage.lua function ISApplyBandage:start() if self.character == self.otherPlayer then self:setActionAnim(CharacterActionAnims.Bandage); self:setAnimVariable("BandageType", ISHealthPanel.getBandageType(self.bodyPart)); self.character:reportEvent("EventBandage"); else self:setActionAnim("Loot") self.character:SetVariable("LootPosition", "Mid") self.character:reportEvent("EventLootItem"); end
  5. Context: Minimal mods used (ModOptions, AutoMoveTo with cursor option on) Done Once before event registration floorSprite = IsoSprite.new() floorSprite:LoadFramesNoDirPageSimple('media/ui/FloorTileCursor.png') Done at each call of OnPostRender (square is a valid square and the value does not change currently -it may have change previously-) local r,g,b,a = 0.2,0.8,0.2,0.8 local x = square:getX() local y = square:getY() local z = square:getZ() print ("MyTestOnRender "..x.." "..y.." "..z.." ".. r.." ".. g.." ".. b.." ".. a); floorSprite:RenderGhostTileColor(x, y, z, r, g, b, a) context likely to have no link with the problem: - character & screen are moving - zoom level has been changed several times before. - floorSprite code is in lua/server (it seemed worse on client side but I had not enough samples to be sure) Current (B41.50 & B41.53) 1: the square expected at position x,y,z has a greenish overlay most of the time. the overlay seems to be flickering a bit. when it flickers, a ~same overlay with same or different size appears at unexpected positions on the screen (mostly top/right part of the screen). print ("MyTestOnRender "..x.." "..y.." "..z.." ".. r.." ".. g.." ".. b.." ".. a); indicates a constant value of x, y, and z. Expected 1: the square expected at position x,y,z has a greenish overlay ALL the time. Current 2: when the overlay is on the correct square, it seems to be floating (some pixels) around that correct square during character & screen movements. print ("MyTestOnRender "..x.." "..y.." "..z.." ".. r.." ".. g.." ".. b.." ".. a); associated time stamps are sometime close by 1ms sometime distant by ~150ms. Expected 2: the overlay stays exactly on the correct square.
  6. Context: Game started, screen is centered on the player. Mouse Cursor is placed on the top left of the screen (on a tree). Left click => IsoObject (first parameter of the calback) is the tree the mouse is on. Move to the top the character (and the screen) using keyboard control (no mouse movement). Current (B41.50 & B41.53): Left click => IsoObject is the same tree the mouse is not anymore on. Expected: Left click => IsoObject is the object the mouse is on. Note: this may explain some strange behaviors when trying to place objects precisely during building process.
  7. Hi tuliomir, I looked at the walkToAction in there and found it was using the action of WalkToTimedAction.lua That one requires a square as target. I found the Mouse:getX and getY functions from https://projectzomboid.com/modding/ Then at the same place I found IsoUtils.XToIso that I was not able to use properly. With luck they were used ~properly by DebugContextMenu.lua. Just the zoom management is wrong (I'd guess obsolete) and I was lucky to find it fast enough. That was it for the target square. I added a way to bypass the end of the current move action when we start the next and the result is here: https://steamcommunity.com/sharedfiles/filedetails/?id=2591232239
  8. Hi All, I updated KillCount mod for solo games having specific counters for vehicle kills and fire kills. It works with B41.52 and B41.50. I'd be happy to have your feedback, especially on how to count Zombies fall death but also on any improvement you would expect from such mod. Regards,
  9. Hi, I want to interact with dead zombie inventory. Decompiling IsoDeadBody and IsoZombie lead me to a dead end (but infortunately not to the dead corpse). Ideally I wanna do something like function MyFunction(theNewlyCreatedIsoDeadBodyInstance) --my fancy stuff end Events.OnIsoDeadBodyCreation.Add(MyFunction); Do you know how to get the equivalent of that ? Do you know how to access the collections of existing instances of IsoDeadBody ? I have trying doing my fancy stuff with the Zombie at it's death time (OnZombieDead / OnCharacterDeath) but I meet two problems: - I get no access to invisible objects (I only get attached objects and clothing). I want the other objects. - Modifications I apply on clothing are not applied on the dead body (reload corrects this as well as any item transfer with the body, but I am unable to force the refresh) Thanx for reading me
  10. Hi, In the decompiled java function of RecipeManager$RMRecipeSource.java (at the end of that post), this.itemLists.get(index) could still be called with index being -1. It occures when a mod uses multiple instances of an ingredient in a recipe, when this ingredient is available in too small quantity for completing the recipe and with the recipe selected. e.g. recipe Create My10Cherry { Cherry, Cherry, /*here is what can cause the error whith craft window open and that recipe selected if the player has only one cherry available*/ Result:My2CherryResult=1, Time:60.0, Category:Farming, } It does not occure with a correct definition of recipe, so I do not know if you wanna consider that as a bug. recipe Create My10Cherry { Cherry=2, Result:My2CherryResult=1, Time:60.0, Category:Farming, } I still guess the last line should not be called if index < 0 decompiled RecipeManager$RMRecipeSource.java void getAvailableItems(final RecipeManager.SourceItems sourceItems, final boolean b) { if (b) { for (int i = 0; i < this.itemLists.size(); ++i) { this.itemLists.get(i).getAvailableItems(sourceItems, b); } return; } int index = -1; for (int j = 0; j < this.itemLists.size(); ++j) { final RecipeManager.RMRecipeItemList list = this.itemLists.get(j); if (list.hasItems()) { if (sourceItems.selectedItem != null && list.indexOf(sourceItems.selectedItem) != -1) { index = j; break; } if (index == -1) { index = j; } } } this.itemLists.get(index).getAvailableItems(sourceItems, b); }
  11. Hi, HOW TO Here is the method I used so you can easily do it yourself with any mod compilation and for most PZ versions: 1/ Download Dump Events mod: https://steamcommunity.com/sharedfiles/filedetails/?id=2545161132 2/ Start PZ, go to main mod selection, activate Dump Events mod (+any mod you wanna include for your search), and go "back" to main menu. 3/ Open your console.log and look for the last occurrence of "print_OnMainMenuEnter. Events:". The event list will follow. Credits where it's due: based on bcUtils.dump from blindcoder. bcUtils mod source=https://steamcommunity.com/sharedfiles/filedetails/?id=503640135 EVENTS LIST for PZ B41.50 with (nearly) no active mod. OnGameBoot OnPreGameStart OnTick OnTickEvenPaused OnRenderUpdate OnFETick OnGameStart OnPreUIDraw OnPostUIDraw OnCharacterCollide OnKeyStartPressed OnKeyPressed OnObjectCollide OnNPCSurvivorUpdate OnPlayerUpdate OnZombieUpdate OnTriggerNPCEvent OnMultiTriggerNPCEvent OnLoadMapZones OnAddBuilding OnCreateLivingCharacter OnChallengeQuery OnFillInventoryObjectContextMenu OnPreFillInventoryObjectContextMenu OnFillWorldObjectContextMenu OnPreFillWorldObjectContextMenu OnRefreshInventoryWindowContainers OnMakeItem OnJoypadActivate OnWeaponHitCharacter OnWeaponSwing OnWeaponHitTree OnWeaponHitXp OnWeaponSwingHitPoint OnPlayerAttackFinished OnLoginState OnLoginStateSuccess OnCharacterCreateStats OnLoadSoundBanks OnObjectLeftMouseButtonDown OnObjectLeftMouseButtonUp OnObjectRightMouseButtonDown OnObjectRightMouseButtonUp OnDoTileBuilding OnDoTileBuilding2 OnDoTileBuilding3 OnConnectFailed OnConnected OnDisconnect OnConnectionStateChanged OnScoreboardUpdate OnMouseMove OnMouseDown OnMouseUp OnRightMouseDown OnRightMouseUp OnNewSurvivorGroup OnPlayerSetSafehouse OnLoad AddXP LevelPerk OnSave OnMainMenuEnter OnPreMapLoad OnPostFloorSquareDraw OnPostFloorLayerDraw OnPostTilesSquareDraw OnPostTileDraw OnPostWallSquareDraw OnPostCharactersSquareDraw OnCreateUI OnMapLoadCreateIsoObject OnCreateSurvivor OnCreatePlayer OnPlayerDeath OnZombieDead OnCharacterDeath OnCharacterMeet OnSpawnRegionsLoaded OnPostMapLoad OnAIStateExecute OnAIStateEnter OnAIStateExit OnAIStateChange OnPlayerMove OnInitWorld OnNewGame OnIsoThumpableLoad OnIsoThumpableSave ReuseGridsquare LoadGridsquare EveryOneMinute EveryTenMinutes EveryDays EveryHours OnDusk OnDawn OnEquipPrimary OnEquipSecondary OnClothingUpdated OnRainStart OnRainStop OnAmbientSound OnResetLua OnModsModified OnSeeNewRoom OnNewFire OnFillContainer OnChangeWeather OnRenderTick OnJoypadActivateUI OnDestroyIsoThumpable OnPostSave OnResolutionChange OnWaterAmountChange OnClientCommand OnServerCommand OnContainerUpdate OnObjectAdded OnObjectAboutToBeRemoved onLoadModDataFromServer OnGameTimeLoaded OnCGlobalObjectSystemInit OnSGlobalObjectSystemInit OnWorldMessage OnKeyKeepPressed SendCustomModData ServerPinged OnServerStarted OnLoadedTileDefinitions OnPostRender DoSpecialTooltip OnCoopJoinFailed OnServerWorkshopItems OnVehicleDamageTexture OnCustomUIKey OnCustomUIKeyPressed OnCustomUIKeyReleased OnDeviceText OnRadioInteraction OnLoadRadioScripts OnAcceptInvite OnCoopServerMessage OnReceiveUserlog OnAdminMessage OnGetDBSchema OnGetTableResult ReceiveFactionInvite AcceptedFactionInvite ViewTickets SyncFaction OnReceiveItemListNet OnMiniScoreboardUpdate OnSafehousesChanged RequestTrade AcceptedTrade TradingUIAddItem TradingUIRemoveItem TradingUIUpdateState OnGridBurnt OnPreDistributionMerge OnDistributionMerge OnPostDistributionMerge MngInvReceiveItems OnTileRemoved OnServerStartSaving OnServerFinishSaving OnMechanicActionDone OnClimateTick OnThunderEvent OnEnterVehicle OnSteamGameJoin OnTabAdded OnSetDefaultTab OnTabRemoved OnAddMessage SwitchChatStream OnChatWindowInit OnInitSeasons OnClimateTickDebug OnInitModdedWeatherStage OnUpdateModdedWeatherStage OnClimateManagerInit OnPressReloadButton OnPressRackButton OnHitZombie OnBeingHitByZombie OnSteamFriendStatusChanged OnSteamServerResponded OnSteamRefreshInternetServers OnSteamRulesRefreshComplete OnSteamServerResponded2 OnSteamServerFailedToRespond2 OnSteamWorkshopItemCreated OnSteamWorkshopItemNotCreated OnSteamWorkshopItemUpdated OnSteamWorkshopItemNotUpdated OnExitVehicle OnSwitchVehicleSeat
  • Create New...