Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[JS/PHP][DL]Pokaż graczy OnLine


bnmbb

Rekomendowane odpowiedzi

Opublikowano

Gdy ktoś będzie tworzył grę 2D ten skrypt mu się przyda :). Cały kod składa się z 3 części :

1. Pliku gdzie dołączamy JS'a. W tym pliku powinien być ekran gry (lub Layout)

2. Pliku ,który tworzy tablicę i wywołuje funkcję

3. Pliku JS

 

A więc oto plik JS :

 

 

function check_players($old_array, $new_array) {
if($old_array == $new_array) return true;
if($old_array != $new_array) {
$old_arrayo = $old_array;
var morete = new_array.split(';');
for($q in morete) {
 $act2 = morete[$q].split(' ');
 $found_player = false;
 morete2 = $old_array.split(';');
for($q2 in morete2) {
 $act = morete2[$q2].split(' ');
//Okej teraz sprawdzenie czy w tej STAREJ był. Jak był ,a w nowej nie ma opuscił.
//A jak nie było w starej a jest w nowej to doszedł 
if($act2['0'] == $act['0']) {
   //JEST W TEJ STAREJ i w nowej
   //Oke no to może czy sie ruszył 
   if($act2['3'] != $act['3'] || $act2['4'] != $act['4']) {
 alert($act2['1']+' sie ruszył');     
 }
   $found_player = true;
   //Replace :										  
  $old_arrayo = $old_arrayo.replace($act['0']+' '+$act['1']+' '+$act['2']+' '+$act['3']+' '+$act['4']+';','');	   
  $old_arrayo = $old_arrayo.replace($act['0']+' '+$act['1']+' '+$act['2']+' '+$act['3']+' '+$act['4'],'');
   }
  }
//No dobra może sie pojawił  :
if($found_player == false) {
  alert('Doszedł '+$act2['1']);
  $found_player = true;   
  }		    
 }  
if($old_arrayo != '') {
 //A więc nas opuszcza
morete = $old_arrayo.split(';');
for($q in morete) {
 $ramzes = morete[$q].split(' ');
 alert('Opuszcza nas '+$ramzes['1']);
 }
 }
}
}

 

 

Ten kto będzie tworzył grę 2D i ma pewne umiejętności w tym kierunku sam sobie przerobi.

Teraz plik PHP. plik variables.php łączy się do bazy i wybiera ją

 

 

<?php
session_start();
ob_start();   
$_SERVER['DOCUMENT_ROOT'] = str_replace($_SERVER['SCRIPT_NAME'], '', $_SERVER['SCRIPT_FILENAME']);
require_once($_SERVER['DOCUMENT_ROOT']."/variables.php");
$czas = time() - 2;
$cz2 = time();
$qa = mysql_query("SELECT Id, Name, Direct, x, y FROM s1__chars WHERE Last_Online>=$czas AND x>0 AND y>0 AND Last_online>0 AND Id!=".$_SESSION['CHARID']." AND mapa=".$_GET['mapa']);
while($q = mysql_fetch_array($qa)) {
$array .= $q['Id'].' '.$q['Name'].' '.$q['Direct'].' '.$q['x'].' '.$q['y'].';';
}
$array = substr($array, 0, -1);	   
mysql_query("UPDATE s1__chars SET Last_Online=$cz2 WHERE Id".$_SESSION['CHARID']);
//echo json_encode(array('old_array' => $_SESSION['Old_Array'], 'new_array' => $array));
echo '<script type="text/javascript">
check_players("'.$_SESSION['Old_Array'].'","'.$array.'");
</script>';
?>

<?
$_SESSION['Old_Array'] = $array;
?>

 

 

I teraz co ważne :

$_SESSION['CHARID'] - Id postaci zalogowanego. Kolumny dajemy w używając spacji ,a jeden rekord od 2 oddzielamy;. Na końcu ma nie być ;

Więc możliwe zapisy :

1 [GM]Kongo Down 3 4

1 [GM]Kongo Down 3 4;2 Sodema Across 5 5

A plik wczytujemy prosto :

 setInterval('$("#OnLine").load("scripts/OnLine.php?mapa=1")',300);

mapa - Id Mapy ,ale to już można sobie poprzerabiać jak kto ma tabele

 

Obciążenie skryptu od 1 gracza : 10/20 Mhz po stronie serwera + ew. efekty po stronie klienta

  • 9 miesięcy temu...

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...