Skocz do zawartości

I am vader

Użytkownicy
  • Postów

    1 887
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    20

Odpowiedzi opublikowane przez I am vader

  1. banerkapit.png

    Serdecznie zapraszam na turniej WS [Deathrun] Winter Cup #1

    Turniej organizowany jest przez Sieć Serwerów "Wiewiorek Servers" www.cs-ws.pl

    Przygotuj się do turnieju, potrenuj z nami:

    IP: 91.210.128.125:27057

    b_560x95.png

    Jeśli chcesz wziąć udział w turnieju jesteś zmuszony do przeczytania regulaminu >>>>KLIK<<<<

    Zapisy na turniej >>>>KLIK<<<<

     

    Główna Nagroda to słuchawki "SPEEDLINK MEDUSA SL-8781" lub równowartość ceny słuchawek.

    mik275_d.jpg

  2. Dzięki wszystko działa, ale gracze siebie nie widzą. Początkowo myślałem wyłącznie o rysowaniu ale wtedy dupsko z kolizjami. To i przy okazji mam nowe pytanie. Jak zrobić żeby był tworzony nowy czołg(o_czolg) gdy ktoś się połączy i by odrazu od momentu połączenia ten czołg miał ten swój kolor(kolor jest pobierany z get_color, więc może byc dowolny)? Odrazu kolejna z tym związana sprawa-jak zrobić by juz ten stworzony obiekt był "rozpoznawany" czyli jak gracz 2 się poruszy i obróci lufę to przypisany mu u mnie czołg zrobił to samo a nie ten który przypisałem 3?

  3. i uruchamiaj alarm tylko w tedy kiedy gracz się ruszy :P .

    Dla dynamicznej gry pełnej latających nabojów w której co sekunde ktoś się rusza 800 razy i obraca ciagle działem za pomocą myszki by wypatrzeć wroga to zdeczka ciężko zrobić wyłącznie przy ruchu.

     

    Wysyłam 3 - 4 razy na sekundę. Dla łącza to i tak dużo, ale wysyłanie raz na sekundę powoduje już ogromne latencje, więc te 3 razy to takie minimum.

    Ograniczę do 3 razy na sekundę i powiem co mi wyszło w edicie.

     

    Edit:

    Nadal jest problem. Klient moze sie z serwerem połączyć bez problemów, ale kiedy kiedy ktoś się podłącza do serwera, to aplikacja osoby ktora zalozyla się crashuje i nie odpowiada. Ponizej mój step oraz alarm0:

    GML (step)
    //direction_wieza=point_direction(x,y,mouse_x,mouse_y)+90

    set_turn()

    image_angle=direction-90;

    //jesli jestes hostem

    if global.host=true

    {

    sock = tcpaccept(listen, 1);//akceptujesz polaczenie

    if(sock) //jesli jakiekolwiek zostalo zaakceptowane

    {

    global.otherplayer[global.num+1] = sock; //gracz o nowym id ma wartosc socka

    global.num+=1 //zmiana id

    sock=-1 //'resetuje' sock zeby nie wykonalo tego warunku n razy.

    }

    }

    if global.num>0

    {

    current=1

    while(true)

    {

    current=1

    for(i=1;i<global.num;i+=1)

    {

    size[current] = receivemessage(global.otherplayer[current])

    if(size[current] < 0)break;

    if(size[current] == 0)

    {

    show_message("Player "+string(current)+" has left the game.");

    break;

    }

    p_x[current]=readshort()

    p_y[current]=readshort()

    p_direction[current]=readshort()

    p_direction_wieza[current]=readshort()

    p_tank_kolor=readshort()

    current+=1

    }

    }

    Wiem że masa komentarzy ale lubię tak :3. Poza tym wiecie co myślałem pisząc daną linijke czyli gdzie zrobiłem z siebie idotę pisząc coś innego niż to jest :).

    GML (alarm0)
    alarm[0]=10

    /*Wysylanie pakietow z polozeniem i innymi takimi

    1-x 2-y 3-direction 4-direction_wieza 5-kolor czolgu*/

    clearbuffer()

    writeshort(x)

    writeshort(y)

    writeshort(direction)

    writeshort(direction_wieza)

    writeshort(global.kolor)

    current=1

    for(i=0;i<global.num;i+=1)

    {

    sendmessage(global.otherplayer[current])

    current+=1

    }

  4. Jeśli według was to nie jest pytanie początkującego to sobie przewalajcie to gdzie chcecie. Wg mnie to noobowskie pytanie bo ja je zadaje :x.

     

     

    Witam,

    chciałem zrobić grę multiplayer, używając 39dll. Napisałem w stepie pewien kod, który jednak powoduje drobne problemy. Na jednym z komputerów w trakcie łączenia się z serwerem, bądź kiedy owy komputer jest serwerem i się połączy z nim ktoś-program przestaje odpowiedać i się wyłącza. Na drugim komputerze nie ma owego błędu. Program działa normalnie. Tak szczerze to nawet nie mam pewności że się będą wyswietlać "u tego drugiego" odpowiednie sprity bo jak jeden z komputerów sie crashuje to jest problem. Jedyne co do czego mam pewność to fakt, że to wina tego kodu. Oto on:

    GML (step)
    direction_wieza=point_direction(x,y,mouse_x,mouse_y)-90;

    image_angle=direction-90;

    if global.host=true

    {

    sock = tcpaccept(listen, 1)

    if(sock)

    {

    global.otherplayer[global.num+1] = sock

    global.num+=1

    sock=-1

    }

    }

    if global.num>0

    {

    /*Wysylanie pakietow z polozeniem i innymi takimi

    1-x 2-y 3-direction 4-direction_wieza

    5-kolor czolgu*/

    clearbuffer()

    writeshort(x)

    writeshort(y)

    writeshort(direction)

    writeshort(direction_wieza)

    writeshort(global.kolor)

    current=1

    for(i=0;i<global.num;i+=1)

    {

    sendmessage(global.otherplayer[current])

    current+=1

    }

    current=1

    while(true)

    {

    current=1

    for(i=1;i<global.num;i+=1)

    {

    size = receivemessage(global.otherplayer[current])

    current+=1

    }

    if(size < 0)break;

    if(size == 0)

    {

    show_message("Player "+string(current)+" has left the game.");

    break;

    }

    p_x[current]=readshort()

    p_y[current]=readshort()

    p_direction[current]=readshort()

    p_direction_wieza[current]=readshort()

    p_tank_kolor=readshort()

    }

     

    Słabo sie znam na 39 dll, więc prosiłbym mocno, żeby jakiś lepiej obeznany użytkownik mi pomógł.

  5. zaznacz chociaż 15 miejsc w których powieziałem że jest najlepsza. Co najwyżej mówiłem że jest dobra i ma duże szanse. Uznałem że skoro moja gra jest jednocześnie dłuższa, więcej w niej akcji i poruszania się a temat i tak jest to że to dość żeby miała sznase. Poza tym przeczytaj dokładnie co poxi powiedział. Japon wziął to dosłownie i dlatego doszukujesz się czegoś ogromnego w kwestii namacalnej.

×
×
  • Dodaj nową pozycję...