Maffia Game afmaken

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Maffia Game afmaken

      Een goeden avond mensen.

      de donkerenkeren dagen komen er weer aan koud en nat weer dus tijd voor het afmaken van een maffia game.
      ik heb een vraagje / waar ik opzoek naar ben.
      een geheel game reset script je die ik mag gebruiken en in kan bouwen in mijn maffia game zo dat met een druk op de knop het spel geheel gereset is.

      verder ben ik al een tijd aan het kijken waarom de moord niet werkt op de website.
      even wat meer uitleg
      speller 1 valt speller 2 aan speller 2 heeft nog twee % leven nu valt speller 1 weer aan nu blijft speller 2 op 1 % staan en niet dood dus ik weet niet waar het fout zit.
      wie kan en wil hier naar kijken voor mij en misschien weet iemand het al wat er fout is / staat.

      ik hoor het graag van jullie.

      mocht men een deel van script nodig hebben dan hoor ik het wel dan kan ik je die toe mailen.

      hoor het graag en w8 op jullie hulp.

      bedankt groet Tigermaffia
    • FangorN wrote:

      tigermaffia wrote:

      speller 1 valt speller 2 aan speller 2 heeft nog twee % leven nu valt speller 1 weer aan nu blijft speller 2 op 1 % staan en niet dood dus ik weet niet waar het fout zit.
      ¯\_(ツ)_/¯
      Waarom zou dat fout moeten zijn? tenzij er niemand wordt verslagen op die manier?
      Ik denk dat er met backfires wordt gewerkt
      Met vriendelijke groet,

      Jeroen
    • het probleem is dat je niet vermoord hoort je blijft op 1% staan
      maar je kan wel steeds geld jatten
      daar in loopt het niet lekker
      ik ga even kijken als het goed is het dit script je.

      PHP Source Code: attack.php

      1. <?php
      2. $user = $sql->fetch($sql->query("SELECT * FROM users WHERE id = '" . $_GET['step'] . "' AND health > '0'"), 'assoc');
      3. $lastattack = $sql->fetch($sql->query("SELECT datum FROM attacklog WHERE aanvaller = '" . $own['id'] . "'"), 'assoc');
      4. if($_GET['action'] == "attack") {
      5. if($user['admin'] == "Ja") {
      6. echo fout('Het heeft geen zin om een admin aan te vallen, omdat deze niet echt meespeelt in het spel. Zoek dus maar iemand anders op!');
      7. }
      8. elseif($user['id'] == $own['id']) {
      9. echo fout('Euhm, wil je nou zelfmoord plegen?');
      10. }
      11. elseif($user['username'] == 'Gast') {
      12. echo fout('Je kunt het gast account niet aanvallen!');
      13. }
      14. elseif($user['vakantie'] > '0') {
      15. echo fout('Gebruiker is op vakantie. Je kan hem dan niet aanvallen!');
      16. }
      17. else{
      18. if($own['killers'] >= 10) {
      19. if($own['stad'] == $user['stad']) {
      20. if($own['familie'] != $user['familie'] xor empty($own['familie'])) {
      21. if($user['veilig'] + $user['maffia'] <= 0) {
      22. if($user['rang'] <= $own['rang']) {
      23. if(strtotime($lastattack['datum']) + 15 <= time()) {
      24. $continue = 'true';
      25. $schade['own'] = $own['killers'] * 10 + $own['power'];
      26. $schade['user'] = $user['killers'] * 10 + $user['power'];
      27. if($schade['own'] > $schade['user']) {
      28. $uitslag = 'gewonnen';
      29. $winnaar = $own['username'];
      30. $verliezer = $user['username'];
      31. $winst['cash'] = round($user['cash']*rand(40,75)/100);
      32. $health['user'] = rand(1, 3);
      33. if($user['health'] <= $health['user']) {
      34. $sql->query("UPDATE attlose = attlose + '1', users SET cash = '0', bank = '0', power = '0', health = '0' WHERE id = '" . $user['id'] . "'");
      35. $sql->query("INSERT INTO moorden (moordenaar, slachtoffer, datum, buit) VALUES('" . $own['id'] . "', '" . $user['id'] . "', NOW(), '" . $user['power'] . "')");
      36. $winst['cash'] = $user['cash'] + $user['bank'];
      37. $winst['power'] = $user['power'];
      38. } else {
      39. $sql->query("UPDATE users SET attlose = attlose + '1', cash = cash - '" . $winst['cash'] . "', health = health - '" . $health['user'] . "' WHERE id = '" . $user['id'] . "'");
      40. }
      41. if($own['health'] + 2 < 300) {
      42. $health['optellen'] = 2;
      43. } else {
      44. $health['optellen'] = 300 - $own['health'];
      45. }
      46. $sql->query("UPDATE users SET attwin = attwin + '1', cash = cash + '" . $winst['cash'] . "', power = power + '" . $winst['power'] . "', health = health + '" . $health['optellen'] . "' WHERE id = '" . $own['id'] . "'");
      47. $bericht = 'Hij heeft gewonnen en € ' . $winst['cash'] . ' van je weten te stelen.';
      48. } else {
      49. $uitslag = 'verloren';
      50. $winnaar = $user['username'];
      51. $verliezer = $own['username'];
      52. $winst['cash'] = round($own['cash']*rand(40,75)/100);
      53. $health['user'] = rand(1, 3);
      54. if($own['health'] <= $health['user']) {
      55. $sql->query("UPDATE users SET attlose = attlose + '1', cash = '0', bank = '0', power = '0', health = '0' WHERE id = '" . $own['id'] . "'");
      56. $sql->query("INSERT INTO moorden (moordenaar, slachtoffer, datum, buit) VALUES('" . $user['id'] . "', '" . $own['id'] . "', NOW(), '" . $own['power'] . "')");
      57. $winst['cash'] = $own['cash'] + $own['bank'];
      58. $winst['power'] = $own['power'];
      59. } else {
      60. $sql->query("UPDATE users SET attlose = attlose + '1', cash = cash - '" . $winst['cash'] . "', health = health - '" . $health['user'] . "' WHERE id = '" . $own['id'] . "'");
      61. }
      62. if($user['health'] + 2 < 300) {
      63. $health['optellen'] = 2;
      64. } else {
      65. $health['optellen'] = 300 - $user['health'];
      66. }
      67. $sql->query("UPDATE users SET attwin = attwin + '1', cash = cash + '" . $winst['cash'] . "', power = power + '" . $winst['power'] . "', health = health + '" . $health['optellen'] . "' WHERE id = '" . $user['id'] . "'");
      68. $bericht = 'Je hebt gewonnen en € ' . $winst['cash'] . ' van hem weten te stelen.';
      69. }
      70. $sql->query("INSERT INTO berichten (afzender, geaddresseerde, titel, inhoud, datum) VALUES('Anoniem', '" . $user['id'] . "', 'Je bent aangevallen!', 'Hallo gangster!\n\r\n\rJe bent aangevallen door " . $user['username'] . ". " . $bericht . "\n\r\n\rGroeten,\n\rEen anonieme getuige', NOW())");
      71. $sql->query("INSERT INTO attacklog (aanvaller, verdediger, winst, uitslag, datum) VALUES('" . $own['id'] . "', '" . $user['id'] . "', '" . $winst['cash'] . "', '" . ucfirst($uitslag) . "', NOW())");
      72. } else {
      73. echo mislukt('Je bent nog te moe om aan te vallen... Wacht nog 15 seconden!');
      74. }
      75. } else {
      76. echo mislukt('De persoon die je probeert aan te vallen heeft een hogere rang dan dat jij zelf hebt. Een beetje kansloos dus?');
      77. }
      78. } else {
      79. echo fout('De persoon die je probeert aan te vallen staat onder maffiabescherming.');
      80. }
      81. } else {
      82. echo fout('Je zit in dezelfde familie als ' . $user['username'] . '!');
      83. }
      84. } else {
      85. echo fout('Je bent in de verkeerde stad om aan te vallen!');
      86. }
      87. } else {
      88. echo mislukt('Je hebt minimaal <b>10 killers</b> nodig om iemand aan te vallen. Killers kun je krijgen door mensen op je persoonlijke geheime link te laten klikken.');
      89. }
      90. }
      91. if($continue == 'true') {
      92. echo'
      93. <div align=\'center\'>' . usernaam($own['id']) . ' VERSUS ' . usernaam($user['id']) . '</div>
      94. <p align="center" id="go1" style="visibility:hidden"><b>' . $own['username'] . '</b> heeft <b>' . groot($own['killers']) . '</b> killers die zorgen voor <b>' . groot($schade['own']) . '</b> schade!</p>
      95. <p align="center" id="go2" style="visibility:hidden"><b>' . $user['username'] . '</b> heeft <b>' . groot($user['killers']) . '</b> killers die zorgen voor <b>' . groot($schade['user']) . '</b> schade!</p>
      96. <p align="center" id="go3" style="visibility:hidden"><b>Je hebt ' . $uitslag . '!</b><br><font color=\'#006600\'><b>' . $winnaar . '</b></font> heeft <font color=\'#990000\'><b>' . $verliezer . '</b></font> verslagen!<br></p>
      97. <p align="center" id="go4" style="visibility:hidden"><font color=\'#006600\'><b>' . $winnaar . '</b></font> heeft <b>€ ' . groot($winst['cash']) . '</b> gestolen</p>
      98. <script>
      99. var go1 = document.getElementById("go1");
      100. var go2 = document.getElementById("go2");
      101. var go3 = document.getElementById("go3");
      102. var go4 = document.getElementById("go4");
      103. window.setTimeout("go1.style.visibility=\'visible\'", 1000);
      104. window.setTimeout("go2.style.visibility=\'visible\'", 2000);
      105. window.setTimeout("go3.style.visibility=\'visible\'", 5000);
      106. window.setTimeout("go4.style.visibility=\'visible\'", 7000);
      107. </script>';
      108. }
      109. }
      110. ?>
      Display All
    • Wat is $sql voor object, en wat gebeurt er als een query misgaat?

      Dit lijkt mij sowieso niet kloppen:
      UPDATE attlose = attlose + '1', users SET cash = ...

      Even los van het feit dat er niets ge-escaped wordt in queries, en het geheel niet in een transactie staat, misschien is het handig als de klasse waar $sql een object van is een soort van wrapper is waarbij je query-logging aan en uit kan zetten? Dan zou je een tijdje dit soort moord-query-batches kunnen loggen, dan zie je precies welke queries worden uitgevoerd, en met welke waarden.

      Op die manier heb je een aantal concrete cases die je kunt analyseren. Op dit moment is het grootste probleem dat je niet precies weet wat er misgaat, omdat je geen enkele concrete informatie hebt van wat er gebeurt, dus dan wordt het nogal lastig om te bepalen wat er nu precies aan de hand is.

      Je zult dus moeten beginnen met het verzamelen van informatie.
    • FangorN

      Ik ga het bewerken en kijken of ik er dan achter kan komen wat er fout gaat bedankt.
      Ik weet wel dat het script werkt.
      Hier even voorbeeld.
      Een speller is 50 % in leven en ik val hem aan gaat er 10 % leven van af en ik krijg ook zijn geld.
      Dus dat werkt alleen als de speller nog maar 5 % is en ik val hem aan en dat kost 5 % leven gaat de speller niet dood en blijf de speller op 5 % staan dat is het grote probleem dus nu.

      PS als ik me niet vergis is het een script van jou haha
      ik mail je wel de link van de website oke