Mplay Send

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Hi ich mach grad ein kleines lan game,

    Jetzt ist das problem schiessen,

    Wie kann ich obj_shoot immer mit einer anderen ID schicken
    also
    mplay_message_send(0,100,x);
    mplay_message_send(0,101,y);
    Würde funktionieren wäre das nicht nur 1 object da aber beide spieler das object schiessen werden mehrere Objecte mit 100=x 101=y gesendet was dann zu einen fehler kommt da auf einmal alle
    Objecte auf einen punkt sind logisch da ja nur dieses ID benutzt wird.
    Ich habe es mit
    mplay_message_send(0,id,x);
    mplay_message_send(0,id+1,y);
    probiert klappt auch nicht.

    Das ist der empfang code
    {
    while (mplay_message_receive(0))
    {
    messid = mplay_message_id();
    val = mplay_message_value();
    // Check for bat changes
    if (messid == 1) player_master.y = val;
    if (messid == 2) player_master.x = val;
    if (messid == 500) player_master.image_angle = val;
    if (messid == 502) player_master.image_index = val;

    if (messid == 3) player_2.y = val;
    if (messid == 4) player_2.x = val;
    if (messid == 501) player_2.image_angle = val;
    if (messid == 503) player_2.image_index = val;

    //Wie könnte man nun lösen das immer obj_shoot mit der id empfangen wird?
    if (messid == 100) obj_shoot.x = val;
    if (messid == 101) obj_shoot.y = val;
    }
    }
    :saint:
  • Eigentlich mach ich es so, dass man einfach ein obj_shoot (das ist doch die Kugel?) erstellt und dann einfach in die Richtung und Geschwindigkeit gibt. Du könntest das ganze in nehm String verpacken wie "x|y|direction|speed".
    (Btw mit der 39dll kann man auch Lan Games machen xP)
    wupto.net/ Nicht meine Seite!
    We love Koalas.

    GM-D-Spam-o-Meter: 32%
  • Du sendest mit mplay_message_send einen String. Wenn du nun siehst:

    GML-Quellcode

    1. var i;
    2. i=instance_create(x,y,obj_shoot);
    3. //blabla
    4. mplay_message_send(p,500,string(i.x)+"|"+string(i.y)+"|"+string(i.direction)+"|"+string(i.speed))

    Nun teilst du den String wieder auf x,y,direction und speed auf:

    GML-Quellcode

    1. var str,i,xx,yy;
    2. str=val;
    3. xx=real(string_copy(str,1,string_pos("|",str)-1));
    4. str=string_delete(str,1,string_pos("|",str));
    5. yy=real(string_copy(str,1,string_pos("|",str)-1));
    6. str=string_delete(str,1,string_pos("|",str));
    7. i=instance_create(xx,yy,obj_shoot);
    8. i.direction=real(string_copy(str,1,string_pos("|",str)-1));
    9. str=string_delete(str,1,string_pos("|",str));
    10. i.speed=real(str);

    Eventuell wenn du willst das es wirklich bei jedem gleicht ist musst du xx und yy noch ändern und einen Ping dazu machen und den Ping dann zu Steps umrechnen und dann i.x+=lengthdir_x(Ping in Step*i.speed,i.direction) und
    i.y+=lengthdir_y(Ping in Step*i.speed,i.direction) oder so^^
    wupto.net/ Nicht meine Seite!
    We love Koalas.

    GM-D-Spam-o-Meter: 32%
  • Benutzer online 1

    1 Besucher