Multiplayer Add-on Platformer fix clean bug
Multiplayer Add-on Platformer » Devlog
Found a bug in a clean script. Until I update this asset you can manually fix this by replacing htme_clean_signed_packets with this:
/// @description htme_clean_signed_packets(client_ip_port); /// @param client_ip_port function htme_clean_signed_packets(argument0) { /* ** Description: ** PRIVATE "METHOD" OF obj_htme! That means this script MUST be called with obj_htme! ** ** Cleans the players signed packet buffers and ds maps ** ** Usage: ** ip:port string ip:port combination as stored as key in the player map. ** or "" to clean all ** ** Arguments: ** <none> ** ** Returns: ** <nothing> ** */ // Check if clean specific target if argument0!="" { // Clean target sPcountOUT buffers var target_outmap = ds_map_find_value(self.sPcountOUT,argument0); if (!is_undefined(target_outmap)) { if ds_exists(target_outmap, ds_type_map) { // Loop again until complete empty while (!ds_map_empty(target_outmap)) { // Delete buffer var the_key=ds_map_find_first(target_outmap); // Skip counter value if the_key!="n" { buffer_index=ds_map_find_value(target_outmap,the_key); if !is_undefined(buffer_index) { buffer_delete(buffer_index); } } ds_map_delete(target_outmap,the_key); } // Destroy map itself ds_map_destroy(target_outmap); } } // Delete outmap ref ds_map_delete(self.sPcountOUT,argument0); // Clean target sPcountIN ds_priority and buffers var target_inmap = ds_map_find_value(self.sPcountIN,argument0); if (!is_undefined(target_inmap)) { if ds_exists(target_inmap, ds_type_map) { // Get ds_priority var target_ds_priority=target_inmap[? "buffs"]; if !is_undefined(target_ds_priority) { // This will loop through all buffers in target_ds_priority while !ds_priority_empty(target_ds_priority) { // Delete buffer var buffer_index=ds_priority_delete_min(target_ds_priority); if !is_undefined(buffer_index) { buffer_delete(buffer_index); } } // Destroy ds priority ds_priority_destroy(target_ds_priority); } // Destroy map itself ds_map_destroy(target_inmap); } } // Delete inmap ref ds_map_delete(self.sPcountIN,argument0); } else { // Clean all sPcountOUT buffers var key=ds_map_find_first(self.sPcountOUT); for(var ii=0; ii<ds_map_size(self.spcountout); ii+="1)" {="" var="" target_outmap="ds_map_find_value(self.sPcountOUT,key);" if="" (!is_undefined(target_outmap))="" ds_exists(target_outmap,="" ds_type_map)="" loop="" again="" until="" complete="" empty="" while="" (!ds_map_empty(target_outmap))="" delete="" buffer="" the_key="ds_map_find_first(target_outmap);" skip="" counter="" value="" the_key!="n" buffer_index="ds_map_find_value(target_outmap,the_key);" !is_undefined(buffer_index)="" buffer_delete(buffer_index);="" }="" ds_map_delete(target_outmap,the_key);="" destroy="" map="" itself="" ds_map_destroy(target_outmap);="" outmap="" ref="" ds_map_delete(self.spcountout,key);="" get="" next="" key="" in="" key);="" clean="" all="" spcountin="" ds_priority="" and="" buffers="" for(var="" ii="0;" ii<ds_map_size(self.spcountin);="" target_inmap="ds_map_find_value(self.sPcountIN,key);" (!is_undefined(target_inmap))="" ds_exists(target_inmap,="" target_ds_priority="target_inmap[?" "buffs"];="" !is_undefined(target_ds_priority)="" this="" will="" through="" !ds_priority_empty(target_ds_priority)="" ds="" priority="" ds_priority_destroy(target_ds_priority);="" ds_map_destroy(target_inmap);="" inmap="" ds_map_delete(self.spcountin,key);="" <="" pre=""> </ds_map_size(self.spcountout);></nothing></none>
Get Multiplayer Add-on Platformer
Buy Now$36.99 USD or more
Multiplayer Add-on Platformer
Status | Released |
Category | Assets |
Author | The any Key |
Tags | GameMaker, Multiplayer |
More posts
- Multiplayer Add-on Platformer fix clean bugDec 29, 2021
- Multiplayer Add-on Platformer GMS2 fixOct 02, 2020
- Multiplayer Add-on Platformer UpdateSep 01, 2018
- Platformer add-on 1.2.7 UpdateMar 21, 2018
- Platformer add-on 1.2.6 UpdateMar 08, 2018
- Platformer engine 1.2.5 UpdateAug 25, 2017
- New version 1.1.5Jul 16, 2017
Leave a comment
Log in with itch.io to leave a comment.