Skocz do zawartości

Zablokowane Cursed Kingom ONLINE


Paqoo

Rekomendowane odpowiedzi

Napisałem ten temat żeby przyśpieszyć powstanie mojej gry :D

Tworzę ją już jakiś czas ale mam sporo problemów. Tematy, które zakładam są nieaktywne. Mam nadzieje, że zakładając ten temat popchnę projekt do przodu. Potrzebuję pomocy ludzi, którzy znają się na 39dll i GML :(

 

Chcę tutaj poruszać różne problemy. Proszę o wyrozumiałość. Jeśli ktoś chce współpracować ze mną - ma szansę. Jeśli jakaś osoba pomoże mi dużo, gdy zechce może dołączyć do mojej ekipy.. Proszę mnie nie obgadywać tylko pomagać. :mellow:

 

 

Oto problemy, które chcę rozwiązać:

1. Chodzi o MOBKI, czyli stworki sterowane przez komputer - jak umieścić je na serwerze i zrobić, by były widoczne przez resztę graczy? Dodatkowo-jak zrobić system loota? Respy? Link do tematu zamkniętego: https://forum.gmclan.org/index.php?showtopic=11282

2. Gracze- mam problemy z wyświetlaniem grafiki, rozwiązałem problem buga ze sprite w jednym z tematów ale teraz nie wiem co mam wpisać w dane wysyłane na serwer. Przypomnę, że chodziło o zmienną sprite, która się zmieniała przy ruchu. Co mam wysłać i odebrać żeby gracze widzieli siebie nawzajem w animacjach? Bo stoją jak ich sprite główne. Link do tematu zamkniętego: https://forum.gmclan.org/index.php?showtopic=11280

 

 

Dodam, że liczę na waszą pomoc drodzy GM Clanowicze :)

Mam zamiar umieszczać nowe pytania, gdy uda nam się poprawić stare błędy..

Pozdrawiam i liczę na zainteresowanie grą! :thumbsup:

Odnośnik do komentarza
Udostępnij na innych stronach

Jeżeli nie potrafisz zrobić takich prostych rzeczy to nie powinieneś zabierać się za taką grę. Nawet jeżeli ktoś Ci teraz pomoże, zaraz będziesz mieć kolejny problem i kolejny... A jeżeli naprawdę chcesz dalej to robić to pomyśl co i jak trzeba wysłać. Chyba połowa kodu w takich grach to przesyłanie informacji, więc musisz to opanować.

Odnośnik do komentarza
Udostępnij na innych stronach

I ty chcesz, żeby ktoś Ci pomógł... Właśnie przekonaliśmy się, że tworzenie gier online jest dla Ciebie za trudne. Zajmij się czymś łatwiejszym, stworzenie porządnej gry zajmuje dużo czasu. Musisz zapoznać się z programem, z 39dll, musisz wiedzieć co do czego służy. Inaczej nie zrobisz nic!

Odnośnik do komentarza
Udostępnij na innych stronach

Rady w stylu "nie umiesz, nie dasz rady" zachowaj dla siebie. Nie rozumiem po co się mnie czepiasz? Ja napisałem ten temat żeby jakoś odbić się, a ty mi tu trujesz. Takie posty powinni usuwać. Już sporo umiem, ale mam czasami problemy. Nie siedzę 24/7 przed 39 dll. Dlatego proszę was o pomoc . .

Odnośnik do komentarza
Udostępnij na innych stronach

No ale jeśli nawet to jak my ci mamy pomóc? ;/ Mamy pisać za ciebie kod? Akurat w przypadku gier tak złożonych jak gry Online, nie da się po prostu napisać komuś kawałka kodu, którego on nie wie jak napisać. Tu trzeba wszystko pisać samemu - wiedzieć na czym się stoi i do czego służy każdy, najmniejszy fragment kodu. W przeciwnym wypadku szybko człowiek się pogubi i po prostu nie da rady.

Odnośnik do komentarza
Udostępnij na innych stronach

Sporo siedzę już nad tym. Od testowania mnie palce bolą już. Lepiej chyba pytać? Nie wszystko jest dla mnie jasne. Np. co mam użyć żeby pokazywało grafikę gracza(animację i sprity kierunkowe), bo pokazuje tylko sprite główny.

 

-image_index?

-sprite_index?

-zmienna?

 

Co mam użyć i kiedy?

Odnośnik do komentarza
Udostępnij na innych stronach

Sporo siedzę już nad tym. Od testowania mnie palce bolą już. Lepiej chyba pytać? Nie wszystko jest dla mnie jasne. Np. co mam użyć żeby pokazywało grafikę gracza(animację i sprity kierunkowe), bo pokazuje tylko sprite główny.

 

-image_index?

-sprite_index?

-zmienna?

 

Co mam użyć i kiedy?

Kurcze, musisz nauczyć się bieglej posługiwać zmiennymi. Musisz wiedzieć co wysłałeś i to odpowiednio odebrać.

 

sprite_index -> odpowiada za index aktualnego sprite'a obiektu

image_index -> odpowiada za aktualną klatkę animacji

 

Jak teraz nie zrozumiesz to ja już nie wiem :rolleyes:

Odnośnik do komentarza
Udostępnij na innych stronach

Może tak spróbój: :P

GML
/* wysyłanie */

clearbuffer( );

writebyte( liczba_jakas );

writestring ( sprite_index );

sendmessage( serversocket );

 

/* odbieranie */

receivemessage( socket );

readbyte( );

readstring( );

Zrób jeszcze wysyłanie ID gracza, myślę że potrafisz. :)

Odnośnik do komentarza
Udostępnij na innych stronach

Czytasz w ogóle? przecież napisałem.

 

Luksro: idź se stąd, jak nie masz pojęcia o czym piszesz to nie pisz >:[ Matko Chrystusowa, sprite_index jako string, Paqoo nie słuchaj go.

A to chyba pójde, bo głupoty piszę :lol2: . Nie robiłem nigdy gier Online, robie tylko Offline. :D

I nie jestem "Luksro" tylko Luksor. :P

 

Wybacz, literówka.

Yoda

Odnośnik do komentarza
Udostępnij na innych stronach

@Paqoo: to czas zrobić to prościej ale tak żebyś zrozumiał, co robisz. Twój problem polega nie na tym, że nie wiesz jak coś zrobić, tylko na tym, że ty nie wiesz co robisz.

 

Skoro wysyłasz sprite_index i odbierasz, to nie powinno być problemu. MOże po prostu źle go odbierasz? Albo źle wysyłasz image_index?

Odnośnik do komentarza
Udostępnij na innych stronach

Zaraz zobaczę co tam się dzieje i przekopiuję kod w razie czego.

I taka sprawa. Ja mam to w zmiennej..

 

A więc mam tak:

ALARM 0 gracza:

GML
//Update position

clearbuffer();

writebyte(2);

writebyte(global.myid);

writeshort(x);

writeshort(y);

writeshort(spritek);

writeshort(image_speed);

writeshort(image_index);

sendmessage(global.clienttcp);

 

//Redo it

alarm[0] = 1;

 

Pętla na pokazywanie gracza innym graczom.. :

GML
case 5:

//Update other players' positions

value = readbyte();

player = players[value];

player.x = readshort();

player.y = readshort();

player.spritek = readshort();

player.image_index = readshort();

player.image_speed = readshort();

 

Pętla z serwera:

GML
switch(messageid)

{

case 2:

//Update position

var player, value;

value = readbyte();

//script_addline(string(global.players[value]),c_black);

player = global.players[value];

player.x = readshort();

player.y = readshort();

player.spritek = readshort()

player.image_speed = readshort();

player.image_index = readshort();

clearbuffer();

writebyte(5);

writebyte(value);

writeshort(player.x);

writeshort(player.y);

writeshort(player.spritek);

writeshort(player.image_speed);

writeshort(player.image_index);

with(obj_client)

{

sendmessage(tcp);

}

break;

 

 

Co tu jest nie tak!? Bo można się pogubić =.=

Odnośnik do komentarza
Udostępnij na innych stronach

O rany już wiadomo! Player other nie ma takiej zmiennej!!! I chyba dlatego nie widzę jak inni gracze zmieniają sprity! I jak miałem się tego domyślić? Nie robiłem w tablicy, tylko w stepie dawałem przy klawiszu nową zmienną na nowy sprite.. GENIALNIE!

 

 

Tylko w którym miejscu to wpisać.. ?:/

Odnośnik do komentarza
Udostępnij na innych stronach

Image_single działa dokładnie tak samo, jak image_index, z tym że to pierwsze jest starsze i ostało się z piątej wersji GMa (w dokumentacji 6.1 nie ma opisu tej funkcji, więc można sądzić, że to przez przypadek).

nie do konca. image_single zatrzymuje tez animacje, to tak jakby ustawic image_index i image_speed na 0

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

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