Gra sieciowa
Aktualny czas: 28-04-26, 23:51 Witaj! Przejdź do zakładki Logowanie lub Rejestracja


Wątek zamknięty 
[VXAce] Gra sieciowa
Lynxxx3 Offline
*


Liczba postów: 21
Dołączył: 08-08-16

Pomógł: 1



Post: #1
Gra sieciowa

Czy jest możliwość by zrobić grę (lub element gry np. tak jakby arenę) łączącą się z lokalną siecią? Jeśli tak (nawet jeśli to cholernie trudne) proszę o pomoc.

I don't need a weapon!
My friends are my power!
03-12-16 18:51
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Venesard Offline
*


Liczba postów: 226
Dołączył: 07-11-14

Pomógł: 37



Post: #2
RE: Gra sieciowa

Istnieje takie coś jak RMX-OS, jest to pakiet skryptów do RPG Makera pozwalający na stworzenie gry MMO.

Sam nie wiem czy coś tworzę.
04-12-16 01:00
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Lynxxx3 Offline
*


Liczba postów: 21
Dołączył: 08-08-16

Pomógł: 1



Post: #3
RE: Gra sieciowa

(04-12-16 01:00)Venesard napisał(a):  Istnieje takie coś jak RMX-OS, jest to pakiet skryptów do RPG Makera pozwalający na stworzenie gry MMO.
Mógłbyś mnie poinstruować jak to zrobić?

I don't need a weapon!
My friends are my power!
04-12-16 13:10
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
AlmostNoRuby Offline
*


Liczba postów: 174
Dołączył: 22-09-16

Pomógł: 33



Post: #4
RE: Gra sieciowa

Możliwość, jak najbardziej, jest.
Oprócz samego skryptu potrzebne są:
- serwer - wpisz sobie "free hosting" w Google;
- znajomość MySQL/PHP/HTML5 (wszystkie poradniki znajdziesz spokojnie w internecie za darmo).
- edytor HTML/PHP (np. Notepad++)
Wbrew pozorom, to nie jest takie trudne, zwłaszcza jak ktoś wytłumaczy to łopatologiczne.

Aby znaleźć skrypt, wystarczy wpisać "webkit rgssx" w Google, gdzie x oznacza wersję Makera (1 - XP; 2 - VX; 3 - VXA)

Tutaj masz uniwersalny:
[spoiler]
=begin
===============================================================================
EFE's Request Script
Version: RGSS & RGSS2 & RGSS3
Special thanks : Ryex, Gustavo Bicalho, Kubiwa Taicho
===============================================================================
This script will allow to request to some servers WITHOUT posting.(Only GET)
--------------------------------------------------------------------------------
Used WINAPI functions:

WinHTTPOpen
WinnHTTLConnect
WinHTTPOpenRequest
WinHTTPSendRequest
WinHTTPReceiveResponse
WinHttpQueryDataAvailable
WinHttpReadData

Call:

EFE.request(host, path, post, port)

host : "www.rpgmakervxace.net" (without http:// prefix)
path : "/forum/login.php" ( the directory path of your php file )
post : "username=kfdsfdsl&password=24324234"
port : 80 is default.

=end

module EFE
  
  # I took this method from Gustavo Bicalho's WebKit script. Special thanks him.
  def self.to_ws(str)
    str = str.to_s();
    wstr = "";
    for i in 0..str.size
      wstr += str[i,1]+"\0";
    end
    wstr += "\0";
    return wstr;
  end
  
  
  
  #EFES_WINAPI = Win32API.new('ods', 'naber', 'pp', 'p')
  WinHttpOpen = Win32API.new('winhttp','WinHttpOpen',"PIPPI",'I')
  WinHttpConnect = Win32API.new('winhttp','WinHttpConnect',"PPII",'I')
  WinHttpOpenRequest = Win32API.new('winhttp','WinHttpOpenRequest',"PPPPPII",'I')
  WinHttpSendRequest = Win32API.new('winhttp','WinHttpSendRequest',"PIIIIII",'I')
  WinHttpReceiveResponse = Win32API.new('winhttp','WinHttpReceiveResponse',"PP",'I')
  WinHttpQueryDataAvailable = Win32API.new('winhttp', 'WinHttpQueryDataAvailable', "PI", "I")
  WinHttpReadData = Win32API.new('winhttp','WinHttpReadData',"PPIP",'I')
  #WinHttpWriteData = Win32API.new('winhttp','WinHttpWriteData',"PPIP",'I')

  def self.request2(host, path, post="")
    pr = path
    if(post != "")
      pr = pr + "?" + post
    end
    pr = pr.to_s
    a = EFES_WINAPI.call(to_ws(host), to_ws(pr))
    return a
  end
  
  def self.request(host, path, post="",port=80)
    p = path
    if(post != "")
      p = p + "?" + post
    end
    p = p.to_s
    pwszUserAgent = ''
    pwszProxyName = ''
    pwszProxyBypass = ''
    httpOpen = WinHttpOpen.call(pwszUserAgent, 0, pwszProxyName, pwszProxyBypass, 0)
    if httpOpen
      httpConnect = WinHttpConnect.call(httpOpen, to_ws(host), port, 0)
      if httpConnect
        httpOpenR = WinHttpOpenRequest.call(httpConnect, nil, to_ws(p), "", '',0,0)
        if httpOpenR
          httpSendR = WinHttpSendRequest.call(httpOpenR, 0, 0 , 0, 0,0,0)
          if httpSendR
            httpReceiveR = WinHttpReceiveResponse.call(httpOpenR, nil)
            if httpReceiveR
              received = 0
              httpAvailable = WinHttpQueryDataAvailable.call(httpOpenR, received)
              if httpAvailable
                ali = ' '*1024
                n = 0
                httpRead = WinHttpReadData.call(httpOpenR, ali, 1024, o=[n].pack('i!'))
                n=o.unpack('i!')[0]
                return ali[0, n]
              else
                msgbox_p("Error about query data available")
              end
            else
              msgbox_p("Error when receiving response")
            end
          else
            msgbox_p("Error when sending request")
          end
            
        else
          msgbox_p("Error when opening request")
        end
          
      else
        msgbox_p("Error when connecting to the host")
      end
        
    else
      msgbox_p("Error when opening connection")
    end
  end
end
[/spolier]

Demo (RM VXA) dostępne jest na tej stronie.

Ten skrypt powyżej działa tak jakby jak przeglądarka internetowa, tylko całą zawartość pobiera do stringa ("").
Plik musi być na serwerze i musi być w formacie [.php].

Przykładowy kod w PHP wygląda tak:
<?php include("connection.php");
        $username = $_GET["username"];
        $query="SELECT points FROM users WHERE username = '$username'";
        $sonuc = mysql_query($query,$connection);
        $row = mysql_fetch_array($sonuc);
        echo $row[0];
        mysql_close($connection);
?>
Akurat ten kod bierze z bazy punkty.

Do RPG Makera dostaje się to, co zostało wywołane poleceniem echo.
Podstawy języka PHP znajdziesz tutaj.

Musisz sobie poczytać o formule GET (HTML/PHP) i o bazach MYSQL.
To tyle. Spokojnie, też sięz tym męczę.

[Obrazek: userbar1.png]
04-12-16 19:34
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Amelanduil Offline
*


Liczba postów: 303
Dołączył: 30-04-13

Pomógł: 35



Post: #5
RE: Gra sieciowa

Tak nie źeby coś, ale gry po sieci to na scenie temat tabu w gruncie rzeczy :v
04-12-16 20:34
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Venesard Offline
*


Liczba postów: 226
Dołączył: 07-11-14

Pomógł: 37



Post: #6
RE: Gra sieciowa

@Amel
I z tego powodu nie robiłem żadnej zapowiedzi z MMO które właściwie funkcjonuje sprawnie :)
I nie powinien to być temat tabu, gry z nastawieniem na kooperację są coraz popularniejsze, dlaczego scena makera miałaby zostawać w tyle?
@Lynxxx3
Jeśli wpiszesz w google to o czym wcześniej ci napisałem to wyskoczy ci zarówno pakiet skryptów jak i tutorial jak całość ogarnąć. Pamiętam też że na starej Ultimie ktoś taki tutorial spolszczył, ale nie potrafię go znaleźć.

Sam nie wiem czy coś tworzę.
04-12-16 22:35
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
AlmostNoRuby Offline
*


Liczba postów: 174
Dołączył: 22-09-16

Pomógł: 33



Post: #7
eeee Do: @venesard

@Venesard
RMX-OS jest dobry, ponieważ ma klarowny interfejs i wszystko podaje na tacy.
RMX-OS opiera się na Windowsie, a tu już powstaje duży problem, dokładniej rzecz ujmując:
- albo korzystamy z własnego sprzętu i mamy duże rachunki za prąd
- albo korzystamy z płatnego serwera Windows, co dla niektórych może spowodować, hm, poczucie zmarnowanych pieniędzy bo w coś gra tylko 20 osób?
Serwery darmowe są tylko na Linuxie (bo Linux jest darmowy :jupi: a Windows jest płatny :roll: ). Na Linuxie nie odpalisz programu [.exe] za nic. Bo to Linux.
Bazę MySQL na Linuxie dostajesz. I z kodem EFE i PHP da się zrobić coś podobnego (z dowolnością działań).
A, i wracając do pierwszego punktu.
Komputer nie może być wtedy podłączony kablem/bezprzewodowo z routerem bo wtedy gra by działała tylko w obrębie routera. A gdy podłączyłem kablowo internet z laptopem, to... nie wykryło internetu. Albo to wina laptopa, albo dostawcy internetu, nie wiem.
I ostatnia sprawa.
Venesard napisał(a):@Lynxxx3
Jeśli wpiszesz w google to o czym wcześniej ci napisałem to wyskoczy ci zarówno pakiet skryptów jak i tutorial jak całość ogarnąć. Pamiętam też że na starej Ultimie ktoś taki tutorial spolszczył, ale nie potrafię go znaleźć.
Ja to znalazłem w 5 sekund :lol2:
[Obrazek: 8ymtezx5ho0z_t.jpg]

[Obrazek: userbar1.png]
(Ten post był ostatnio modyfikowany: 07-12-16 18:01 przez AlmostNoRuby.)
07-12-16 17:57
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Venesard Offline
*


Liczba postów: 226
Dołączył: 07-11-14

Pomógł: 37



Post: #8
RE: Gra sieciowa

Ja po prostu nie szukałem za bardzo, inni też mają google :) a co do połączenia z routerem to mylisz się. Ja swoje MMO hostowałem podpięty do routera trzymając serwer MySQL oparty o Hamachi. Chodziło sprawnie i bez błędów :)

Sam nie wiem czy coś tworzę.
07-12-16 22:56
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
AlmostNoRuby Offline
*


Liczba postów: 174
Dołączył: 22-09-16

Pomógł: 33



Post: #9
RE: Gra sieciowa

Chodzić, chodzi. Tylko serwer działa na IP 192.168.0.100 (lokalnym) a nie na moim. Czyli jak ja włączę u siebie to w innej sieci by to nie działało.

[Obrazek: userbar1.png]
08-12-16 20:58
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Venesard Offline
*


Liczba postów: 226
Dołączył: 07-11-14

Pomógł: 37



Post: #10
RE: Gra sieciowa

To też nieprawda, bo serwer działa na IP przypisanym do hosta Hamachi, więc każdy kto ma Hamachi może się do niego dołączyć :)

Sam nie wiem czy coś tworzę.
09-12-16 00:11
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Wątek zamknięty 


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości

Kontakt | Ultima Forum | Wróć do góry | Wróć do forów | Wersja bez grafiki | RSS
Powered By MyBB. © 2013 MyBB Group. All Rights Reserved.
Skórka by Ayene.