• Login
  • Register
  • Zoek
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Filebase Entry
  • More Options

ICTscripters

Dé plek voor IT

Dé plek voor IT

Login

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. PHP + SQL

Forum

  • Beta-testers gezocht voor Crypto-oefenplatform

    Syntax 29 januari 2026 om 16:11
  • Na 15 jaar terug van weggeweest: iCriminals.nl is terug (BETA)!

    Syntax 19 januari 2026 om 09:34
  • Developer Gezocht

    Mikevdk 10 januari 2026 om 18:57
  • Op zoek naar de legends

    Syntax 5 januari 2026 om 13:50
  • [FREE] WeFact Hosting module

    Jeroen.G 13 oktober 2025 om 14:09
  • Help testers nodig voor android app Urgent

    urgentotservices 26 september 2025 om 10:21
  • Versio vervanger

    Jeroen.G 25 augustus 2025 om 15:56
  • Afspraken systeem met planbeperking

    Lijno 1 augustus 2025 om 23:04

Marktplaats

  • 321 Nieuwe Domeinnamen December 2025

    shiga 1 januari 2026 om 10:26
  • Meerdere mafia game template te koop

    Syntax 26 december 2025 om 00:07
  • Van een pixelige afbeelding naar een strakke, moderne website

    Syntax 21 december 2025 om 17:05

Attack.php

  • Wotfnl
  • 29 maart 2009 om 19:12
  • Closed
  • Wotfnl
    Beginner
    Berichten
    28
    • 29 maart 2009 om 19:12
    • #1

    Beste leden,

    Als je bij ons spel iemand aanvalt die bijv. 9 miljard contant hebt staan, kom je zelf in de min te staan als je hebt gewonnen. Weet iemand hoe dit komt? Wij snappen het niet.

    Hier de attack.php:


    PHP
    <?php /* ------------------------- */
    
    
      include("_include-config.php");
      if(! check_login()) {
        header("Location: login.php");
        exit;
      }
    
    
    
    
    $pagename = "Attack";
    include("counter.inc.php");
    
    
      mysql_query("UPDATE `[users]` SET `online`=NOW() WHERE `login`='{$data->login}'");
    
    
        if ($data->leven == 1){
        print <<<ENDHTML
    <html>
    
    
    
    
    <head>
    	<META HTTP-EQUIV="Page-Enter" content="blendTrans(Duration=0.5)">
    <title>War of the Future</title>
    <link rel="stylesheet" type="text/css" href="css.css">
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css">
    
    
    </style></head>
      <table width=100%>
        <tr><td class="subTitle"><b>Sorry</b></td></tr>
        <tr><td class="mainTxt">
    	<center>Je bent geraakt, ga naar het ziekenhuis om je te laten behandelen!
    	</center>
        </td></tr>
      </table>
    </body>
    
    
    </html>
    ENDHTML;
        exit;
        }
    
    
    if($def->vermoord >10) 
    {
        print <<<ENDHTML
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <base target="mainFrame" />
    <link rel="stylesheet" type="text/css" href="css-v1.css">
    </head>
    <table align="center" width=100%>
      <tr><td class="subTitle"><b>ZiekenHuis</b></td></tr>
      <tr><td class="mainTxt">
    	<center>
    <center><b>Je zit in het ziekenhuis</b><br><br>
    <b>Geen energie had je meer over! dus ben je met spoed naar het dichtbij zijnde ziekenhuis gebracht!
    Je moet ff wat energie weer kopem om ontslagen uit het ziekenhuis te worden!</b>
      </td></tr>
    </table>
    <table align="center" width=100%>
      <tr><td class="subTitle"><b>Niks te doen? Speel dan een Spelletje!</b></td></tr>
      <tr><td class="mainTxt">
    	<Input type="radio" value="xw" name="spel1" onClick="window.location=('games/neave_asteroids.php')">  Asteroids<br>
    	<Input type="radio" value="xw" name="spel2" onClick="window.location=('games/neave_hexxagon.php')">  Hexxagon<br>
    	<Input type="radio" value="xw" name="spel3" onClick="window.location=('games/neave_simon.php')">  Simon<br>
    	<Input type="radio" value="xw" name="spel4" onClick="window.location=('games/neave_snake.php')">  Snake<br>
    	<Input type="radio" value="xw" name="spel5" onClick="window.location=('games/neave_tetris.php')">  Tetris
    </td></tr></table>
    </body>
    
    
    </html>
    ENDHTML;
    exit;
      }
    
    
    
    
    
    
    /* ------------------------- */ ?>
    <html>
    
    
    
    
    <head>
    <title>Wotf.nl</title>
    <link rel="stylesheet" type="text/css" href="<?php echo ($_COOKIE['v'] == 2) ? "css-v2.css" : "css-v1.css"; ?>">
    
    
    </head>
    
    
    
    
    
    
    <table width=100%>
      <tr><td class="subTitle"><b><img src=/icons/bomb.png border= 0> Attack <img src=/icons/bomb.png border= 0></b></td></tr>
    <?php /* ------------------------- */
    
    
      if(round($data->signup/3600-time()/3600) + 12 <= 0) {
          $dbres				= mysql_query("SELECT `login`,UNIX_TIMESTAMP(`signup`) AS `signup`,`attack`,`defence`,`clicks`,`attlosses`,`attwins`,`deflosses`,`defwins`,`cash`,`type`,`clan` FROM `[users]` WHERE `login`='{$_GET['x']}' AND `activated`=1");
    
    
    $land                                        = Array("","Amsterdam","Almere","Utrecht","Hilversum","Assen","Tilburg","Rotterdam","Delft","Haarlem","Beverwijk","Venlo","Arnhem","Zwolle","Eindhoven");
    $land = $land[$data->land];
    
    
       
    if($def = mysql_fetch_object($dbres)) {
    if($def->login == $data->login)
            print "  <tr><td class="mainTxt">Je kan jezelf niet aanvallen!</td></tr>n";
    else if($def->type == 3 && $data->type == 3)
            print "  <tr><td class="mainTxt">Agenten mogen elkaar niet aanvallen</td></tr>n";
    else if($def->clan == $data->clan && $def->clan != "")
            print "  <tr><td class="mainTxt">Je zit in dezelfde squad als deze persoon. Dan kan je hem niet aanvallen</td></tr>n";
        else if($def->payprotection > 0 )
            print "  <tr><td class="mainTxt">{$def->login} heeft bescherming gekocht. </td></tr>n";
          else if(round($def->signup/3600-time()/3600) + 12 > 0)
            print "  <tr><td class="mainTxt">{$def->login} staat nog onder bescherming. </td></tr>n";
            else if ($data->vermoord == 0 && $def->vermoord == 24)
            print "  <tr><td class="mainTxt">{$def->login} staat nog onder bescherming. </td></tr>n";
          else {
            $dbres				= mysql_query("SELECT * FROM `[logs]` WHERE `login`='{$data->login}' AND `person`='{$def->login}' AND FLOOR(UNIX_TIMESTAMP(`time`)/(60*60*24))=FLOOR(UNIX_TIMESTAMP(NOW())/(60*60*24)) AND `area`='attack'");
            if(($numattacks = mysql_num_rows($dbres)+1) <= 300) {
              $dbres			= mysql_query("SELECT * FROM `[logs]` WHERE UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(`time`) < 10 AND `login`='{$data->login}' AND `area`='attack'");
              if(mysql_num_rows($dbres) == 0) {
                mysql_query("SELECT GET_LOCK('attack_{$def->login}',5)");
                $result			= (($data->attack+$data->clicks*5)*rand(90,115) >= ($def->defence+$def->clicks*5)*rand(90,115)) ? 1 : 0;
                $money			= ($result == 1) ? (int)($def->cash*rand(40,75)/100) : (int)($data->cash*rand(25,40)/100);
                $text			= ($result == 1) ? Array("je hebt gewonnen!","gewonnen") : Array("je verliest.","verloren");
    
    
                $forwardedFor		= ($_SERVER['HTTP_X_FORWARDED_FOR'] != "") ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['HTTP_CLIENT_IP'];
                $forwardedFor		= preg_replace('/, .+/','',$forwardedFor);
                mysql_query("INSERT INTO `[logs]`(`time`,`IP`,`forwardedFor`,`login`,`person`,`code`,`area`) values(NOW(),'{$_SERVER['REMOTE_ADDR']}','$forwardedFor','{$data->login}','{$def->login}',($money << 1) | $result,'attack')");
                if($result == 1) {
                  mysql_query("UPDATE `[users]` SET `cash`=". ($def->cash-$money) .",`deflosses`=". ($def->deflosses+1) .",`leven`=`leven`-2  WHERE `login`='{$def->login}'");
                  $data->cash		+= $money;
                  $data->attwins++;
                  mysql_query("UPDATE `[users]` SET `cash`={$data->cash},`attwins`={$data->attwins} WHERE `login`='{$data->login}'");
                }
                else {
                  $data->cash		-= $money;
                  $data->attlosses++;
                  mysql_query("UPDATE `[users]` SET `cash`={$data->cash},`attlosses`={$data->attlosses},`leven`=`leven`-2 WHERE `login`='{$data->login}'");
                  mysql_query("UPDATE `[users]` SET `cash`=". ($def->cash+$money) .",`defwins`=". ($def->defwins+1) ." WHERE `login`='{$def->login}'");
                }
    
    
          print "     <table width=100% align=center>n";
        print "  <td class=subTitle width=60><b>{$data->login}</b></td>n";
        print "  <td class=mainTxt width=5%><center></center></td>n";
       print "   <center><td class=subTitle width=60><b>{$def->login}</b></td>  </tr>    <tr></center>n";
       print " </tr>n";
       print " </table>n";
      print "  <table width=60% align=center><td class=mainTxt><b><img src=/icons/bomb.png border= 0> Je valt {$def->login} aan en {$text[0]}<br>Je hebt €$money {$text[1]}!<center></td></tr></table>n";
                mysql_query("SELECT RELEASE_LOCK('attack_{$def->login}')");
              }
              else {
                $type			= Array("","soldaten","oorlogsmisdadigers","wapenhandelaren");
                $type			= $type[$data->type];
                print "  <tr><td class="mainTxt">Je $type zijn nog moe van de vorige aanval, over een paar secondes kan je weer aanvallen</td></tr>n";
              }
            }
            else
              print "  <tr><td class="mainTxt">Je hebt {$def->login} al 5x aangevallen vandaag, zoek iemand anders om aan te vallen</td></tr>n";
          }
        }
      }
      else
        print "  <tr><td class="mainTxt">Je kunt niemand aanvallen wanneer je onder bescherming staat, ga naar je thuisbasisr om je bescherming weg te halen!</td></tr>n";
    
    
    
    
    
    
    /* ------------------------- */ ?>
    </table>
    
    
    </body>
    
    
    
    
    </html>
    
    
    <? mysql_close(); ?>
    Toon Meer
  • Guest, wil je besparen op je domeinnamen? (ad)
  • Durk
    Intermediate
    Berichten
    365
    • 29 maart 2009 om 19:49
    • #2

    Het is een bekende bug, is mij al vaker opgevallen.
    Die persoon zijn contant geld eens naar 0 zetten, en als het eerlijk geld is, overplaatsen naar de bank.
    Kijk dan eens of het beter is, want heb er zelf ook nog niet een fix voor kunnen vinden.

  • Luc
    Software Engineer
    Ontvangen Reacties
    44
    Berichten
    1.986
    • 29 maart 2009 om 20:23
    • #3

    Deze bug zit niet in het script maar in de database. Wanneer een speler hoger komt dan een betaald bedrag dat maximaal is toegestaan door de database komt het geld wat hij teveel heeft in de min. Hierdor komt het dus dat je in de min komt. Dit is op te lossen dfoor van int(255) bigint(255) te maken in de velden waar je grote getallen wilt toelaten.

    Ik hoop dat jullie bijde iets met deze uitleg kunnen.

    Mvg, Luc

    Website: https://devimo.nl
    Skype: https://join.skype.com/invite/dJyYILTt7Eqh

  • Durk
    Intermediate
    Berichten
    365
    • 29 maart 2009 om 21:47
    • #4

    Hallo Luc,

    Je reactie is nuttig, alleen staat zijn contant al op een bigint, omdat er meer dan 2.147.xxx.xxx contant heeft.
    Is het een normale int, dan had het niet meer dan 2.1 miljard kunnen zijn..
    Die fix zal dus ook niet werken.
    Op me oude website had ik hetzelfde, en zette je zijn/haar contant geld naar 0, en zijn/haar contant geld naar de bank, was het gefixt.

  • Stefan.J
    Master
    Ontvangen Reacties
    9
    Berichten
    2.358
    • 30 maart 2009 om 11:34
    • #5

    Je hebt waarschijnlijk al een BIGINT inderdaad. Je kunt de maximale waarde van deze BIGINT verdubbelen door er een UNSIGNED BIGINT van te maken i.p.v. een (standaard) SIGNED. UNSIGNED velden (numeriek) kunnen geen negatieve getallen bevatten, maar daarin tegen wel twee keer zo hoge positieve getallen.

    Voorbeeld:
    Een SIGNED TINYINT loopt van -128 tot 127, een UNSIGNED TINYINT van 0 tot 255.

  • Wotfnl
    Beginner
    Berichten
    28
    • 14 mei 2009 om 20:36
    • #6

    Heb ik al geprobeerd.. werkt allemaal niet. Weten jullie nog iets? Hij staat al op een UNSIGNED BIGINT 255.

  • MrMees
    De causeur!
    Berichten
    464
    • 14 mei 2009 om 21:23
    • #7

    Zorg er gewoon voor dat er niet zoveel geld in het spel komt.

    Rembo&amp;amp;Rembo.

    http://www.criminalspoint.com/db/artikel/317.html

  • Durk
    Intermediate
    Berichten
    365
    • 14 mei 2009 om 22:39
    • #8

    Jep.
    Wanneer gebruiker een bedrag boven de x miljard heeft, dat er x miljard naar de bank word gezet, of zorg dat er niet zo snel verdiend word..

  • Wotfnl
    Beginner
    Berichten
    28
    • 14 mei 2009 om 22:51
    • #9

    Durk, hoe bedoel je precies met naar de bank zetten?

  • Patrick
    Back in the game
    Ontvangen Reacties
    52
    Berichten
    1.417
    • 14 mei 2009 om 22:54
    • #10

    x aantal miljard auto over transfere naar de bank door middel van een qeury, deze check kan je bijv in config.php doen.

  • Durk
    Intermediate
    Berichten
    365
    • 15 mei 2009 om 06:47
    • #11
    PHP
    <?php
    //Gebruiker 8 miljard contant = naar bank
    if($data->bank >= 8000000000){
    mysql_query("UPDATE users SET contant=contant-'8000000000', bank=bank+'8000000000' WHERE login='" . $data->login . "'");

    Heb even een simpele voorbeeldcode gebruikt, welke je in je config kan stoppen. De query moet je aanpassen als je velden enz. niet zo heten. Op deze manier komt er niet meer dan 8 miljard contant geld in het spel.

  • Stefan.J
    Master
    Ontvangen Reacties
    9
    Berichten
    2.358
    • 15 mei 2009 om 07:12
    • #12

    Dat ik dat hier niet heb gezien... In het script converteer je het geld ($money) naar een intiger. Deze kent dus weer een lage limiet, je zult die convertatie eruit moeten halen (int).

  • Durk
    Intermediate
    Berichten
    365
    • 15 mei 2009 om 07:24
    • #13

    Van die INT moet een BIGINT in het script gemaakt worden, bedoel je?
    Lijn 129

  • borrie
    Beginner
    Berichten
    33
    • 15 mei 2009 om 10:00
    • #14

    Of doe dat de user een bericht krijgt als hij bijvoorbeeld meer dan 1 miljard contant heeft.

    PHP
    <?php
    if($data->contant >= 8000000000){
    echo "U kunt pas weer verder spelen waarneer u een deel van het geld op uw bank heeft gezet."; }

    Zoiets?

    Ik heb nu 2 jaar niet meer gescript, dus kunnen fouten in zitten.

    of zoiets?

    PHP
    <?php
    if($def->contant == 80000000){
    echo "U kunt nu niet aanvallen, probeer het later nog eens."; }
  • Stefan.J
    Master
    Ontvangen Reacties
    9
    Berichten
    2.358
    • 15 mei 2009 om 10:33
    • #15

    Nee... Geen BIGINT. PHP kent het datatype BIGINT niet... Je moet het gewoon niet meer converteren. Het is ook niet nodig, aangezien je de waardes uit de database haalt. Wel kun je even afronden met round(), mocht dat nodig zijn.

  • borrie
    Beginner
    Berichten
    33
    • 15 mei 2009 om 10:57
    • #16

    @ Killingdevil

    Dit zou toch ook gewoon moeten werken?

    PHP
    <?php
    if($def->contant == 80000000){
    echo "U kunt nu niet aanvallen, probeer het later nog eens."; }
  • Stefan.J
    Master
    Ontvangen Reacties
    9
    Berichten
    2.358
    • 15 mei 2009 om 11:42
    • #17

    Ja, en dat vinden de spelers ook vast leuk? Je kunt bugs ook gewoon oplossen i.p.v. een work-around maken.

  • borrie
    Beginner
    Berichten
    33
    • 15 mei 2009 om 15:14
    • #18

    Of je doet in de Cron-second als ik het goed heb, of iets wat daar op lijkt;

    PHP
    if($data->cash == 800000000000000000000000000){
    mysql_query("UPDATE users SET contant=contant-'8000000000000000000', bank=bank+'8000000000' WHERE login='" . $data->login . "'");

    of in de bank iets van

    PHP
    if($data->cash == 8000000000){
    echo "U heeft te véél geld op zak, uw geld word nu automatisch op uw bank gezet."
    mysql_query("UPDATE users SET contant=contant-'8000000000000000000', bank=bank+'8000000000' WHERE login='" . $data->login . "'");

    Hoop dat je nu geholpen bent?

  • Wotfnl
    Beginner
    Berichten
    28
    • 15 mei 2009 om 15:28
    • #19
    Citaat

    Ja, en dat vinden de spelers ook vast leuk? Je kunt bugs ook gewoon oplossen i.p.v. een work-around maken.

    Inderdaad, want dit is natuurlijk als een paraplu van hout maken.

  • Db-maffia
    Professional
    Berichten
    1.356
    • 15 mei 2009 om 15:42
    • #20

    Wotfnl lol :P

    Je kan ook gewoon zorgen dat ze maar een X-bedrag per keer kunnen opnemen.. want lijkt me niet dat je 9miljard cash laat staan heel de dag als je aan het spelen bent?

    Project Maffiadeluxe.nl

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!

Maak een account aan Login

ICT Nieuws

  • Fijne feestdagen

    tcbhome 28 december 2025 om 13:55
  • Kritieke update voor Really Simple Security-plug-in

    K.Rens 16 november 2024 om 16:12
  • ING Nederland streeft naar ondersteuning van Google Pay tegen eind februari

    K.Rens 2 november 2024 om 16:09

Blogs

  • Functioneel ontwerp

    Dees 28 december 2014 om 12:38
  • Access Control List implementatie in PHP/MySQL - deel 1/2

    FangorN 28 december 2018 om 12:35
  • Access Control List implementatie in PHP/MySQL - deel 2/2

    FangorN 29 december 2018 om 12:37

Gebruikers die dit topic bekijken

  • 2 Gasten
  1. Marktplaats
  2. Design
  3. Voorwaarden
  4. Ons team
  5. Leden
  6. Geschiedenis
  7. Regels
  8. Links
  9. Privacy Policy
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen | Beste Zetes eid kaartlezer webshop
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design