login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Array_push doet het niet goed.

Offline Jellevh - 12/04/2009 13:37
Avatar van JellevhNieuw lid Hey,

Ik ben bezig met een script te maken voor mijn gameserver(MTA SA)
Nu maak ik een soort van script waar je maps kan kopen.

  1. //Command: !buymap
  2. if ($command == "!buymap" || $command == "!jukebox") {
  3. $row = mysql_fetch_assoc(mysql_query("SELECT cash FROM player WHERE nick='".$nick."'"));
  4. if ($row['cash'] < 100) {
  5. $this->privateMessage($playerID, 'You cannot buy this map because you dont have the cash. Your Cash now: '.$row['cash'].'$');
  6. }
  7. else {
  8. $count = 0;
  9. $msg = NULL;
  10. foreach ($messageex as $item) {
  11. if ($count > 0) {
  12. $msg .= $item." ";
  13. }
  14. $count++;
  15. }
  16. $msg = substr($msg, 0, -1);
  17. $_SESSION['jukebox'] = array();
  18. $map = $msg;
  19. $mapid = NULL;
  20. foreach ($this->maps as $id => $item) {
  21. if ($item == $map) {
  22. $mapid = $id;
  23. break;
  24. }
  25. }
  26. if (strlen($mapid) == 0) {
  27. $this->privateMessage($playerID, "There were no matching results!");
  28. } else {
  29. $nick = $this->GetPlayerName($playerID);
  30. if (TAB.count($this->players) > 1) {
  31. mysql_query("UPDATE player SET cash=cash-100 WHERE nick='".$nick."'");
  32. array_push($_SESSION['jukebox'], array($nick, substr($mapid, 0, -2)));
  33. $this->message($nick." has bought ".$map);
  34. }
  35. else {
  36. array_push($_SESSION['jukebox'], array($nick, substr($mapid, 0, -2)));
  37. $this->message($nick." has bought ".$map." for free. Only 1 player online");
  38. }
  39. }
  40. }
  41. }


hij moet bij de command !buymap een array toevoegen in jukebox.
Voor 1 map werkt het maar eens er nog mensen mappen kopen blijkt dat ze elkaar overschrijven...

Ziet iemand de fout?

Alvast Bedankt

Jelle.

2 antwoorden

Gesponsorde links
Offline Stijn - 12/04/2009 14:08
Avatar van Stijn PHP expert Met PHP.net: var_dump kan je die array $_SESSION['jukebox'] bekijken. Zet die eens voor en na je array_push. Je kan ook de alternatieve methode gebruiken.

  1. $_SESSION['jukebox'][] = array($nick....);
Offline Jellevh - 12/04/2009 14:58 (laatste wijziging 14/04/2009 19:12)
Avatar van Jellevh Nieuw lid ik heb het eens op die andere manier geprobeerd en blijkbaar overschrijft ie nog steeds.

nog iemand met raad?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.21s