Skocz do zawartości

XxMichałxX

Zbanowani
  • Postów

    866
  • Dołączył

  • Ostatnia wizyta

Odpowiedzi opublikowane przez XxMichałxX

  1. Piszę w imieniu MarioGteen bo zalogować się nie mógł:

    Wyskakuje mi error:

    ___________________________________________

    FATAL ERROR in

    action number 1

    of Mouse Event for Left Button

    for object host:

     

    Unexisting room number: 21

     

    a mam taki kod na przejscie do innego rooma:

    room_goto(Wait)

     

    --

    Wut?

  2. Otóż dziś sobie przeglądam skrypty 39dll i jest dużo takich, które nie wiem jak działają. I mi mówiliście, że transfer pliku to po kolei bajty wysyłać.. i tu się chyba mylicie, a mianowicie (rym :)) :

    GML
    fileopen()

    fileclose()

    filewrite()

    fileread()

    filepos()

    filesetpos()

    filesize()

    Czyli twórca/y 39dll o tym pomyśleli - o transferze plików.

    Wie może ktoś jak się tego używa? Myślę, że chyba tak samo jak file_bin.. , ale nie wiem. No i jak ktoś się orientuje to niech powie jak to działa..

  3. Kiedyś dałem tu kurs 39dll, ale był z bugami i w ogóle.. fe. Teraz daję dla odmiany działający przykład z 39dll - każdą linijkę dokładnie opisałem, chociaż i tak trudno trochę się połapać w tym kodzie :D, jest to taki jakby komunikator od siedmiu boleści. Jak nawiążemy połączenie wciskamy enter i wysyłamy. Nie chciałem komplikować tego do takiego stopnia, że byłoby widać tak jak na czacie, toteż dałem przez zwykłe okienka. Kod nie jest łatwy, ale za to ma wszystkie podstawowe rzeczy - pokazuje czy ktoś odszedł, sprawdza czy wysłał msg, sprawdza czy udało się połączyć/założyc serwa itd. itp.

     

    Download: https://gmclan.org/up5208_4_39dll_example.html

     

    Pozdro!

  4. ta ja nawet nie umiem dlla napisac zeby dodal jedna liczbe do drugiej -,-'

    5. A po co ci zmiana nazwy procesu??

    Ja chce zwrócić nazwe procesu ktory uzywa danego portu, bo robie taki program - Portier, i w nim ma byc funkcja:

    a) sprawdzania portów

    B) otwierania portów (jezeli Portierem sie wczesniej zapchalo, jezeli nie to wlasnie ma pokazac ktory proces uzywa i go wylaczyc)

    c) zapychania portów

     

    taki program byłby przydatny

  5. 1. Gdy zrobię cokolwiek z 39dll to na początku wyskakuje error: Error defining an external function. , dam Ignore i dalej wszystko działa jak nalezy.. czemu tak jest?

    2. Do czego służy wbudowana zmienna id?

    3. Jest sobie tablica player, i np player[idplayera]=socket/..połączenie do gracza z tym id; player[idplayera,10]=obiekt playera o danym id. I teraz mam takie cos:

    GML
    writeshort(player[a,10].x)

    writeshort(player[a,10].y)

    I error, że coś źle z tablicą.

    4. Potrzebuję dwóch bibliotek:

    - na ustawianie przeźroczystości rooma

    - na tworzenie .avi z plików .bmp (jest taki jeden BMP2AVI, ale mi nie działa nie wiem czemu)

    Jak ktoś by mógł zrobić, lub znalazł to niech poda linka :P

    5. Jak zwrócić nazwę procesu który uzywa danego portu?

  6. no to moze dac takie cos:

    GML
    limit=0

    while(size<0)

    {

    limit+=1

    if limit>=100

    {

    show_message('Brak odpowiedzi od serwera!')

    game_end()

    exit;

    }

     

    ??

     

    e:

    a nie bezesensu przeciez to pętla to odrazu bedzie 100.. no nie?

    e2:

    Tak. Ale to rozwiązanie jest idiotyczne, ponieważ wstrzymujesz kod - jeśli size będzie >=0 dopiero za minutę, to gra ruszy się dopiero za minutę.

    Na pewno takich rozwiązań nie można stosować w grach online.

    Nieczytałeś to nie wiesz - to jest tylko kod na podłączenie do serwera i dopóki client nie otrzyma wiadomosci zwrotnej z iloscią graczy na serwerze to ma stać .. spać.. czy jakos tak - kod ma byc wstrzymany

  7. GML
    server=tcpconnect('127.0.0.1',34986,1)

    if server<=0

    {

    show_message('Nie moge sie polaczyc!')

    game_end()

    exit;

    }

    size=receivemessage(server)

    if size=0

    {

    show_message('Zerwano polaczenie z serwerem!')

    game_end()

    exit;

    }

    while(size<0)

    {

    //wait

    }

    if readbyte()=8

    {

    ilosc=readshort()

    }

    for(i=0; i<ilosc; i+=1)

    {

    if ilosc=i

    {

    player=instance_create(0,0,o_player)

    player.id=i

    }

    else

    {

    player=instance_create(0,0,o_other)

    player.id=i

    }

    }

     

    Create clienta od mojej gry SMMO2. I teraz pytanie - czy to:

    while(size<0)

    {

    //wait

    }

    zatrzyma cały create i reszte kodu i dopiero jak size bedzie =0 lub >0 to dalszy kod sie wykona?

    a cały kod dalem zebyscie lookneli czy czegos zle nie ma

     

    pozdro

  8. a ja zacząłem z gm-em i sie nie mogłem zarejestrowac bo kiedys bylem tu na forum i .. no bylem lamką noobem, spamiłem i dostałem bana i widocznie sobie moje ip zachowali admini więc nie mogłem sie zarejestrowac poraz drugi, a nie wpadłem na pomysł zeby uzyc proxy, to się zwróciłem do Skovv-a a on powiedzial ze ma konto jedno no i mi dał, a sie tak fartem trafiło ze sie Michał nazywam i on tez no i sobie to konto zostawiłem.. mój taki prawdziwy nick to Mazo .. chyba od nazwiska troche bo mam: 'Mazurek' to 'urek' zamienilem na 'o' i jest Mazo ;d

  9. Zrobiłem przykład 'Prawie fizyki'. Jest to coś podobnego do tego co bodajże kiedyś zrobił Platyna lub ktoś inny - wchodzenie pod górkę w grze platformowej, z tym że mój kod jest trochę łatwiejszy, ale można wchodzić tylko pod górkę, która ma kąt 35 stopni. Jest w tym przykładzie więc wchodzenie pod górke, zjeżdzanie z górki, skakanie, chodzenie no i.. grawitacja ;}

    https://gmclan.org/up5208_12_mala_fizyka.html

    Pozdro!

  10. hm.. bezsensowny pomysł.. ale jak tak myślę to lepszego nie umiem wykminić :P

    ale dałoby się zrobić.

    GML
    //create:

    text=''

    for(i=0; i<1000; i+=1)

    {

    text+=' '

    if i=100 or i=200 or i=300 or i=400

    {

    text+='#'

    }

    }

    pos=1

    //step:

    if keyboard_check_pressed(vk_left) and pos>1 pos-=1

    else if keyboard_check_pressed(vk_right) and pos<1000 i+=1

    if keyboard_check_pressed(vk_anykey) and pos<1000 and !keyboard_check_pressed(vk_backspace)

    {

    string_delete(text,pos,pos+1)

    string_insert(wcisnietyznakniewiemjak,text,pos)

    pos+=1

    }

    if keyboard_check_pressed(vk_backspace) and pos>1

    {

    string_delete(text,pos,pos+1)

    string_insert(' ',text,pos)

    pos-=1

    }

     

    jakos tak by moglo chyba byc.. pewnie pare bledow w kodzie zrobilem, to sobie popraw i powinno dzialac.. chyba ;)

×
×
  • Dodaj nową pozycję...