Skocz do zawartości

klocek w multiplayer


1pietras

Rekomendowane odpowiedzi

to nie dziala no chyba ze cos zle zrobilem

 

STEP EVENT

// Update czasu

now = ( now + 1 ) mod 10000;

 

 

// Odbieranie danych

while( mplay_message_receive( 0 ) )

{

// ID gracza

p = mplay_message_player();

 

// Jesli nowy gracz

if( !ds_map_find_value( players, p ) )

{

m = ds_map_create();

ds_map_add( m, 'name', mplay_message_name() );

ds_map_add( m, 'id', instance_create( 192, 192, obj_p ) );

ds_map_add( m, 'time', now );

ds_map_add( m, 'ping', 0 );

 

ds_map_add( players, p, m );

 

playersCount = mplay_player_find();

 

}

 

// Mapa gracza

pm = ds_map_find_value( players, p );

// Obiekt gracza

o = ds_map_find_value( pm, 'id' );

// ID wiadomosci

i = mplay_message_id();

// Wartosc wiadomosci

d = mplay_message_value();

switch( i )

{

case 1: //Nowy gracz

break;

 

case 2: //Gracz wychodzi

with( o )

instance_destroy();

ds_map_destroy( pm );

ds_map_delete( players, p );

 

exit;

break;

 

case 3: //Pozycja i inne dane gracza

o.tx = toNum( string_copy( d, 1, 4 ) );

o.ty = toNum( string_copy( d, 5, 4 ) );

o.direction = toNum( string_copy( d, 9, 2 ) );

break;

 

case 4: //Wiadomosc globalna

ds_list_add( chat, mplay_message_name() + ': ' + d );

break;

 

case 6: //Wiadomosc lokalna

i = instance_create( o.x, o.y - 32, Message );

i.text = mplay_message_name() + ': ' + d;

break;

 

case 8:

i = toNum( string_copy( d, 1, 4 ) );

v = toNum( string_copy( d, 5, 1 ) );

i.visible = v;

break;

}

 

// Update czasu

ds_map_replace( pm, 'time', now );

}

 

// Ping graczy przekroczyl limit

k = ds_map_find_first( players );

while( k > 0 )

{

m = ds_map_find_value( players, k );

if( ds_map_find_value( m, 'ping' ) > 1000 )

{

with( ds_map_find_value( m, 'id' ) )

instance_destroy();

ds_map_destroy( m );

ds_map_delete( players, k );

}

k = ds_map_find_next( players, k );

}

 

// Pisanie wiadomosci

if( chatWrite )

{

// Wyslij wiadomosc i przejdz do kontroli gracza

if( keyboard_check_pressed( vk_enter ) )

{

keyboard_string = string_replace_all( keyboard_string, '#', '\#' );

 

if( string_length( string_replace_all( keyboard_string, ' ', '' ) ) )

{

if( chatToAll )

{

mplay_message_send_guaranteed( 0, 4, keyboard_string );

ds_list_add( chat, my_name + ': ' + keyboard_string );

}

else

{

mplay_message_send_guaranteed( 0, 6, keyboard_string );

i = instance_create( my_object.x, my_object.y, Message );

i.text = my_name + ': ' + keyboard_string;

}

}

 

chatWrite = false;

}

}

else

// Kontrola obiektu gracza

{

 

// Przejscie do czatu lokalnego

if( keyboard_check_pressed( vk_enter ) )

{

keyboard_string = '';

chatWrite = true;

chatToAll = false;

}

 

}

zmiksowalem przyklad "mmogame" z 3D Engine

java script:emoticon(':huh:', 'smid_12')niewiele z tego kapuje

mam podac jego ID,bo "o" tez nie dziala java script:emoticon(':)', 'smid_3')

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...