Download File 8 Ball Pool Script (v1).lua [PATCHED]
An error will halt your script's execution when it happens. That means that when an error is thrown, some elements of your script might break entirely. For example, if your gamemode has a syntax error which prevents init.lua from executing, your entire gamemode will break.
Download File 8 Ball pool script (v1).lua
This function is non-blocking (asynchronous), which means that even in a netgame, the game will not "pause" while all players are downloading the file. Instead, the script will continue to run as normal, except the callback will not be called immediately, but will instead wait for an undetermined amount of time (bandwidth, network latency, etc.) before finally calling the callback. Keep this in mind when setting variables with values found in the file, as those variables will not be updated until an indeterminate amount of time in the future.
Your source directory must, at minimum, contain one Lua script called main.lua. This script can source other scripts if necessary via the import statement. The Playdate runtime uses import instead of the standard Lua require function, and it behaves a little differently: All files imported from main.lua (and imported from files imported from main.lua, and so on) are compiled into a single pdz file, and import runs the code from the file only once. A second import call from anywhere in the pdz will do nothing.
Optional, but if present, will be used as the pattern for the wrapping paper on newly-downloaded games that have yet to be unwrapped. The image dimensions should be 400 x 240 pixels. (Template files are available to help you design the wrapping-paper art for your game. This functionality can be tested in the simulator by selecting "Wrap Current Game" from the Playdate menu.)
Sapp 10.0 (2017.02.19.)Fix: Fixed a Halo bug that combo messages (double kill, triple kill, killtacular) weren't announced after 16 minutes of the start of the game.Improvement: Message of the day is now synchronized instantly to the players using the sv_motd command.New: motd [message] command: displays/sets the Message of the day without requiring a file. It is also synchronized instantly to the players.New: reload_gametypes command: After using this command, you can use new gametypes added to the savegames folder without restarting the server.New: save_respawn_time [boolean] command: If enabled, respawn time is also saved when a player leaves. This disables players to evade team kill penalty with simply rejoining the game.New: gravity [value] command to change the gravity. It will be synchronised with Anticheat and HAC2 clients only. Note that default gravity value is 0.003565.New: sj_level [level(-1-5)] command: This is the unified command that replaces disable_sj and sj_admin_level commands. -1 means sightjacking is enabled for everyone, 5 means it's disabled.New: $ticks variable that returns the number of ticks elapsed since the game start (1 sec = 30 ticks).New: chat_message [color r g b [a]] command that displays a colored chat message for the player for HAC2 users.New: rcon_message [color r g b [a]] command that displays a colored rcon message for the player for HAC2 users.New: hud_message command that displays a message on the HUD for the player in the "blue text" field for HAC2 users.New: play_sound command that plays the selected sound for the given player if he is a HAC2 user. See Lua scripting section for the list of possible sounds and the corresponding indexes (soon).New: hud_color [red] [green] [blue] command that sets the HUD color for HAC2. See Lua scripting section for more information (soon).New: spawn_object_location [rotation] [MetaID] command to spawn an object to a given location.New: add_var command that adds a custom variable.New: del_var command that deletes a cusotm variable.New: set_var [value player index] command that changes a custom variable. See Lua scripting section for more information (soon).New: lua_api_version and sapp_version global values in the Lua API.New: Lua event is raised when an object is stick to a player: function OnStick(PlayerIndex, VictimPlayerIndex, Object, VictimObject, Where), PlayerIndex is the index of the player who stick the another player (victim), VictimPlayerIndex is the index of the player who got stick, Object is the memory address of the object that was stick to the victim, VictimObject is the object of the victim that was stick (note that it can be a vehicle too), Where is the index of the body part of the victim's object.New: An event is now raised on assist: event_assistImprovement: Commands from Sapp's init.txt now won't be in the command history unless they are default Halo commands.Improvement: Stats saved of left players with the save_scores command now won't be deleted at reload, however they will be deleted at map reset.Improvement: Player's speed, health, and shield now won't be reset to 1 at reload/unload. God and lag mode is still reset.Fix: Timed custom commands started form the init.txt now won't have output in the console. Such say commands will also have the prefix set with the msg_prefix command instead of the admin_prefix.Fix: rand Lua API command now won't crash if the minimum and the maximum value is the same. It will simply return the given value.
New: Default Halo commands will have output even if they are executed from the chat, password and rcon_password command were removed due to being deprecated now. New: Some naughty commands will work without the "me" expression. For example "kill" is equal to "kill me" now. This only works if there are no other arguments or they are optional. New Command: setadmin, it will make players admin for the current session. Level must be between -1 and 4. Set level to -1 to delete their admin level. Fix: mapcycle_begin and map_spec commands will disable mapvote now. Fix: Improved reload command that fixes some bugs that happened after executing it. New: V2 admins will be automatically logged in at the first time they execute an rcon command with their password, also if sapp_rcon is disabled (not recommended), anyone will be able to login with the default rcon password, use the chat as rcon and not getting kicked for being afk or having high ping. Note that now sapp_rcon must be enabled for the login command to work as the same way as before for the V2 admins, otherwise it will try to compare the password entered to the default rcon password. New Commands: stfu and unstfu that blocks/unblocks every server and rcon message to you which is generated by events or scripts. New Command: mapvote_begin, that will launch the game with a randomly chosen mapvote from the first max_votes options. Fix: Some other small fixes with the mapcycle and mapvote. Fix: Some Prefs command threw error messages if they were enabled already.Change: wdel command now deletes the current weapon from the players hand if you specify 0 as the second argument, if you only specify the player index (or 5 as the second argument), it will still delete every weapon.Change: The boost and the teleport commands will be more instant now.Change: The $score variable now also works with slayer gametypes.Fix: Sometimes Sapp counted a player as dead, and therefore some player commands didn't work with him.Fix: Improved the way Halo kills the players when they quit, now they shouldn't stuck in the server on some modded maps where fall damage is 0. Improvement: The main loop timer (defined with the custom_sleep command), therefore the pings, the timed events and the Lua timers will be more accurate and effective now.Improvement: Added thread-pool and memory-pool for Sapp to reduce overhead with lot of events and scripts.Improvement: Lot of other optimizations to reduce overhead at (Lua) event callbacks. Lua API:Change: Now only the syntax checking will run at Sapp load, the main chunk will be only called at the lua_load command. New: Added 2 global values; halo_type that contains either "PC" or "CE" and pid that contains the Process ID. New: Added rprint function that lets you to send rcon messages to the player. New: Added intersect function that checks for collisions form a given point and a vector. First 3 is the starting coordinates, second 3 is the vector, 7th (optional) is the ObjectID to ignore, usually this belongs to a player who's camera vectors you use. Don't forget to multiply the camera vector's coordinates by about 1000 otherwise the intersect won't "reach" anything. Returns values are success,x,y,z,object_hit. success is true if there were an intersection, otherwise false. x, y, z are the coordinates of the intersection, object_hit is the ObjectID if something was hit, otherwise 0xFFFFFFFF.New: Added lookup_tag Lua function that returns the address of the tag entry and has two variants, lookup_tag(MetaID) and lookup_tag(type, name). The tag entry has the following structure (Class0 is the 4 letter type): struct Tag_Entry DWORD Class0; DWORD Class1; DWORD Class2; DWORD MetaIndex; char* TagName; void* TagStruct; BYTE Unknown[8]; ; Change: execute_command is updated and now takes 2 other optional arguments. Example: execute_command("kill", PlayerIndex, true). The command will be executed as the "PlayerIndex" player were executing it, true means that you will get the output of the command in the "EVENT_ECHO" callback that will be described below. Now it also returns a boolean, false if the command was unknown, wrong or "can't be used now", otherwise true.New: Added execute_command_sequence function that executes commands separated by semicolons (like the events and the custom commands), it works in the same way as the execute_command except it has no return value.Fix: Rotation will work with everything now with the spawn_object function (and also with the spawn command), and not only with vehicles.Fix: The to_real_index command returned wrong converted index if the supported index was invalid.Change: The assign_weapon function now returns a boolean if it was successful or not.Change: The spawn_object function now returns 0xFFFFFFFF as ObjectID on an error. Change: The camo function now takes the time in ticks instead of seconds (1 second = 30 ticks).Improvement: The optimized the get_var function, now it should have much less overhead. New Lua events:"EVENT_COMMAND" that runs whenever a player executes a command. Example: function OnCommand(PlayerIndex, Command, Enviroment, Password), where PlayerIndex and Command are obvious, Enviroment: 0: console, 1: rcon, 2: chat, Password is the password used in the rcon, otherwise a nil. This event is executed before Sapp checks for admin permissions, and the command will be blocked if the function returns false (same as EVENT_CHAT). 041b061a72