#in online, how can i transfer animations and image_xscale

2 messages · Page 1 of 1 (latest)

heavy pagoda
#

so i was using this tutorial and was wondering how could a show the image_xscale and sprite index of other players

heres the players online part of the step code:

// Create buffer with position
var buffer = buffer_create(6, buffer_fixed, 1);

buffer_write(buffer, buffer_u8, DATA.PLAYER_UPDATE);
buffer_write(buffer, buffer_u8, playerID);
buffer_write(buffer, buffer_s16, x);
buffer_write(buffer, buffer_s16, y);

// Send position to server
if (!oController.is_server) {
network_send_packet(oController.server, buffer, buffer_get_size(buffer));
}
// Send position to clients
else {
// Loop through clients list
for (var i=0; i<ds_list_size(oController.clients); i++) {
// Get socket
var soc = oController.clients[| i];

    // Skip if server itself
    if (soc < 0) continue;
    
    // Send
    network_send_packet(soc, buffer, buffer_get_size(buffer));
}

}

// Delete buffer
buffer_delete(buffer);

#

and heres the async of oControler:
/// @description
var type = async_load[? "type"];

// Connected
if (type == network_type_connect) {
var socket = async_load[? "socket"];

// Send player info
var buffer = buffer_create(2, buffer_fixed, 1);
    
buffer_write(buffer, buffer_u8, DATA.INIT_DATA);
buffer_write(buffer, buffer_u8, ds_list_size(clients));
    
network_send_packet(socket, buffer, buffer_get_size(buffer));
buffer_delete(buffer);
    
// Create player instance
var plr = instance_create_layer(random(room_width), random(room_height), "Instances", oPlayer);
plr.playerID = ds_list_size(clients);
plr.is_local = false;
    
// Add to list
ds_list_add(clients, socket);

}
// Data
else if (type == network_type_data) {
var buffer = async_load[? "buffer"];

buffer_seek(buffer, buffer_seek_start, 0);

var data = buffer_read(buffer, buffer_u8);

// INIT_DATA
if (data == DATA.INIT_DATA) {
    var count = buffer_read(buffer, buffer_u8);
    
    // Set your player's ID
    oPlayer.playerID = count;
    
    // Create other players
    for (var i=0; i < count; i++) {
        var plr = instance_create_layer(random(room_width), random(room_height), "Instances", oPlayer);
        plr.playerID = i;
        plr.is_local = false;
    }
}
// PLAYER_UPDATE
else if (data == DATA.PLAYER_UPDATE) {
    var pID = buffer_read(buffer, buffer_u8);
    
    with (oPlayer) {
        if (pID == playerID) {
            x = buffer_read(buffer, buffer_s16);
            y = buffer_read(buffer, buffer_s16);
        }
    }
}

}