buckaroobanzay / epic Goto Github PK
View Code? Open in Web Editor NEWepic -- Enhanced Programmer for Ingame Control
License: Other
epic -- Enhanced Programmer for Ingame Control
License: Other
when an unstash inventory is called from an abort callback, the inventory is not replaced. It is replaced if it is called from a @sympbol block. In my case, users can type "/spawn" to leave the arena, as well as type "epic_abort" During the main game, if the leave the area (with /spawn), it is detected by an inverse waypoint, and the cleanup function is called. That method restores teh cashed inventory. However, when players leave with an /epic_abort, their inventory is not replaced.
I am also trying to implement clearing the inventory of game items before returning the player's cashed inventory. That doesnt seem to work eaither (I was using a command block with /clearinv @player
in the pic above, the check armor block is used to continue the game if the armor inv is empty, else it will "bounce" the player with a teleport block and say "take off your armor first!"
What happens actually is that it allows the game to continue despite players having armor on. It is no different than a no-op block
Add an api that extends mobs_redo to add mobs that when they "catch" a player by getting within punch range, throw an epic event that can do something like start a level over or end the game. This will allow super-mario-esque enemies that must be avoided rather than "conqured", or, which, when they get you, cause a certain action with epic. Another application is that when you come near a mob, a function runs that gives you a prize or a key.
multiplayer related?
Using minetest 5.4.1
On a local game, using the unstash block does not seem to restore the inventory saved by a stash block
With a basic setup, a stash block, and unstash block, and a function block pointing into each - when the inventory is stashed by executing the stash block it is not restored when executing the unstash block.
I did a little logging to try and figure out why this was happening, it seems that the ctx.data
variable is empty when we would expect it to have the stashed data available at ctx.data.stashed_items
Stashing seems to work, it executes fine and logging it out shows that the list at ctx.data.stashed_items
is being added to, it seems to me that the context is not persisting through multiple calls properly.
This also happens when the local game is hosted as a server, not just singleplayer mode.
something with pretty pictures in markdown format
This happened on Damocles (Sam Nukem level 1).
highscore-issue
Perhaps with some example setups
I want to set it up so that a subgame grants fly for 10 min.
I set up an on_abort that revokes fly, but when I get the fly priv, then leave the game, then rejoin, I still have fly, and have it permenantly. This will be a way to get the fly priv permenantly if the bug is not fixed, so I can't to that right now.
2020-05-16 11:52:59: ACTION[Server]: [epic] on_execute_epic player=BuckarooBanzai main_pos=(-1090,-7,2026) state={
initialized = false,
data = {
},
step_data = {
},
stack = {
},
name = "function@(-1090,-7,2026)",
ip = {
y = -7,
x = -1090,
z = 2026
}
}
2020-05-16 11:52:59: ACTION[Server]: [epic] [executor] execute_player_state(BuckarooBanzai))
2020-05-16 11:52:59: ACTION[Server]: [epic] on_before_node_enter player=BuckarooBanzai pos=(-1090,-7,2026) node=epic:function
2020-05-16 11:52:59: ACTION[Server]: [epic] on_before_node_exit player=BuckarooBanzai pos=(-1090,-7,2026) node=epic:function
2020-05-16 11:52:59: ACTION[Server]: [epic] [executor] execute_player_state(BuckarooBanzai))
2020-05-16 11:52:59: ACTION[Server]: [epic] on_before_node_enter player=BuckarooBanzai pos=(-1091,-7,2026) node=epic:branch
2020-05-16 11:52:59: ACTION[Server]: [epic] [executor] execute_player_state(BuckarooBanzai))
2020-05-16 11:52:59: ACTION[Server]: [epic] on_before_node_check player=BuckarooBanzai pos=(-1091,-7,2026) node=epic:branch
2020-05-16 11:52:59: ACTION[Server]: [epic::branch] on_before_node_check player=BuckarooBanzai pos=(-1092,-7,2026) node=epic:deduct_inv
2020-05-16 11:52:59: ACTION[Server]: [epic::branch] on_before_node_check player=BuckarooBanzai pos=(-1092,-8,2026) node=epic:nop
2020-05-16 11:52:59: ACTION[Server]: [epic] on_before_node_exit player=BuckarooBanzai pos=(-1091,-7,2026) node=epic:branch
2020-05-16 11:52:59: ACTION[Server]: [epic] [executor] execute_player_state(BuckarooBanzai))
2020-05-16 11:52:59: ACTION[Server]: [epic] on_before_node_enter player=BuckarooBanzai pos=(-1092,-7,2026) node=epic:deduct_inv
2020-05-16 11:52:59: ACTION[Server]: [epic] [executor] execute_player_state(BuckarooBanzai))
2020-05-16 11:52:59: ACTION[Server]: [epic] on_before_node_check player=BuckarooBanzai pos=(-1092,-7,2026) node=epic:deduct_inv
2020-05-16 11:52:59: ACTION[Server]: [epic] on_before_node_exit player=BuckarooBanzai pos=(-1092,-7,2026) node=epic:deduct_inv
2020-05-16 11:52:59: ACTION[Server]: [epic] [executor] execute_player_state(BuckarooBanzai))
2020-05-16 11:52:59: ACTION[Server]: [epic] on_before_node_enter player=BuckarooBanzai pos=(-1093,-7,2026) node=epic:message
2020-05-16 11:52:59: ACTION[Server]: [epic] on_before_node_exit player=BuckarooBanzai pos=(-1093,-7,2026) node=epic:message
2020-05-16 11:52:59: ACTION[Server]: [epic] [executor] execute_player_state(BuckarooBanzai))
2020-05-16 11:52:59: ACTION[Server]: [epic] [executor] no more instructions in this branch @ (-1094,-7,2026) node: air
2020-05-16 11:52:59: ACTION[Server]: [epic] on_epic_exit player=BuckarooBanzai state={
When you place a send mapblock block and then rightclick it to set it up, the server crashes.
conditional: checks protection on a position
It would be nice to have a block that could set a whole area to a certain node. Also, one that swaps the position of two nodes, maintaining inventories and metadata with the new location.
2020-03-27 23:38:25: ERROR[Main]: ServerError: AsyncErr: environment_Step: Runtime error from mod 'mobs_monster' in callback environment_Step(): /data/world//worldmods/epic/log_executor.lua:12: attempt to index local 'player' (a nil value)
2020-03-27 23:38:25: ERROR[Main]: stack traceback:
2020-03-27 23:38:25: ERROR[Main]: /data/world//worldmods/epic/log_executor.lua:12: in function 'fn'
2020-03-27 23:38:25: ERROR[Main]: /data/world//worldmods/epic/executor_hooks.lua:13: in function 'run_hook'
2020-03-27 23:38:25: ERROR[Main]: /data/world//worldmods/epic/executor.lua:89: in function 'execute_player_state'
2020-03-27 23:38:25: ERROR[Main]: /data/world//worldmods/epic/executor.lua:130: in function 'func'
2020-03-27 23:38:25: ERROR[Main]: /usr/local/share/minetest/builtin/common/after.lua:20: in function 'globalstep'
2020-03-27 23:38:25: ERROR[Main]: ...//worldmods/monitoring/monitoring/builtin/globalstep.lua:29: in function <...//worldmods/monitoring/monitoring/builtin/globalstep.lua:20>
2020-03-27 23:38:25: ERROR[Main]: /usr/local/share/minetest/builtin/game/register.lua:429: in function </usr/local/share/minetest/builtin/game/register.lua:413>
Function calls epic, context-replacement
@BuckarooBanzai I don't think the kill counter is working, for stone monsters at least
players on my server can avoid the stashing of the inventory by using bags. This allows them to pull in items that allow cheating on the subgames
If you place the blocks with the green sides facing each other you can easily enter an infinite loop accidentally, cuasing the server to crash.
With my setup I placed a start block and an unstash block next to each other, on executing the start block the game enters an infinite loop and crashes.
The mod should either
With safer_lua
:
I would like a block that clears the current player's inventory. This would be useful for removing an epic's game items before returning the players stuff from a saved inventory.
the use case would be to use the stash inv to save a player's inventory, then have the player run around the gameboard collecting items as part of the game, such as diamonds, and when the game is finished, all items are taken away, and then the original inv is returned. that way subgame items can remain sub-game-specific
Co-Operation playing
on_check
fill_chest
, spawn_mob
and co to only one callA declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.