2011-05-04 37 views
0

我開始製作MMORPG來提高我的網頁設計技能。我設法讓用戶能夠在屏幕上移動,並通過Javascript,PHP和MySQL的組合獲得一些項目。瀏覽器MMORPG基礎知識

我想顯示所有登錄的用戶在同一時間四處移動並將信息推送給用戶所做的其他操作,但我不知道如何操作。什麼是一般的想法/方法來做到這一點?

感謝

+0

不要。這在php,javascript和mysql中非常不切實際。您需要像Java這樣的語言來執行此操作。 – 2011-05-04 03:45:18

回答

0

基本上,你創建一個名爲「線上」與兩列表「ID,時間」,每當玩家完成一些動作將更新「時代」這對記錄的一部分。

而你得到一個cron作業來檢查數據庫,並且如果數據庫中的時間大於當前時間減去(例如)-5分鐘(超時時間)刪除該行。

+0

謝謝我現在就開始這樣做!你知道我怎樣才能不斷地檢查數據庫的球員行動?或將數據庫中的更新推送給玩家?謝謝 – lisovaccaro 2011-05-04 04:14:20

+0

例如,您可以將播放器ID保存在$ _SESSION ['id']中,當播放器移動或執行一些操作時 - 使用ajaxRequest- get action.php '<? session_start(); $ ID = $ _SESSION ['id'];如果(isset($ ID)){ mysql_query(「SELECT * FROM'online' WHERE'ID' ='$ ID';」); $ isOn = mysql_affected_rows(); //檢查ID是否已經在數據庫中 if($ isOn!=='0'){mysql_query(「UPDATE'online' SET'time' ='$ time'WHERE'ID' ='$ ID 「;「); (''time','ID')VALUES('$ time','$ ID');「);其他{ //如果還沒有在數據庫中 mysql_query(」INSERT INTO'online' }} 其他{// 做一些 } ?> – 0xAli 2011-05-04 04:27:11

+0

而cron.php運行每次有人請求任何頁面,它會檢查表中的每一行的「在線」如果「時代」值晚於讓說5分鐘前,請考慮用戶離線。 – 0xAli 2011-05-04 04:29:59

1

嘗試使用這個引擎來完成你想要什麼:MMO.js ...它可以讓你使用的WebSockets = JavaScript中建立實時的MMORPG)