login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Bouwen met tijd (game)

Offline micasa001 - 13/01/2010 01:36
Avatar van micasa001PHP interesse In mijn game source wil ik graag het eea gewijzigd hebbt:

Als een speler nu iets koopt dan klikt die op kopen en het product is binnen enkele seconden aangeschaft. Ik wil dat als een speler iets koopt hij/zij echter een bepaalde tijd moet wachten voordat het in het bezit is.

tevens dient er op dezelfde pagina een melding staan van hoe lang het nog duurt voordat het product klaar is (dus een timer die automatisch afloopt). Tevens moet er een button zijn om de aankoop te annuleren zodat er 50% van het aankoop bedrag wordt teruggegeven.

Wie kan mij hiermee helpen?

Al voorbeeld

  1. <table width=100% cellspacing="2px" cellpadding="2px" class="mod_list">
  2. <form method="POST">
  3. <input type="hidden" name="item" value="1">
  4. <tr>
  5. <td colspan=3 style="font-size:14px; font-weight:bold; color:#402810; padding-left:8px;">Clubhuis</td>
  6. </tr>
  7. <tr>
  8. <td rowspan=6 width="110px" height="110px" valign="middle" align="center">
  9. <img src="images/shop/family/familie_villa.gif">
  10. </td>
  11. </tr>
  12. <tr>
  13. <td width="18px" align="center" valign="middle"><img src="images/icons_gif/money.gif"></td>
  14. <td>Prijs: <b>&euro;10.000</b></td>
  15. </tr>
  16. <tr>
  17. <td width="18px" align="center" valign="middle"><img src="images/icons_gif/lightning.gif"></td>
  18. <td>Power: <b>0</b></td>
  19. </tr>
  20. <tr>
  21. <td width="18px" align="center" valign="middle"><img src="images/icons_gif/wand.gif"></td>
  22. <td valign="middle"><form method="post" style="display: inline;">Aantal: <input type="text" name="number" class="input" size="5">&nbsp;<input type="submit" value="Kopen!" class="mod_submit"></form></td>
  23. </tr>
  24. <tr>
  25. <td width="18px" align="center" valign="middle"><img src="images/icons_gif/information.gif"></td>
  26. <td>Koop ruimte voor 5 extra leden in je familie.</td>
  27. </tr>
  28. <tr>
  29. <td width="18px" align="center" valign="middle"><img src="images/icons_gif/asterisk_orange.gif"></td>
  30. <td valign="middle" >
  31. De familie heeft er <b><?
  32. $clubhuis = $familie->maxleden/5-1;
  33. echo$clubhuis;?></b> in zijn bezit. </td>
  34. </tr>
  35. </form>
  36. </table>






En dit is het gedeelte waarin de opdracht wordt verwerkt.

  1. if($_POST['item'] == 1){
  2. if($familie->contant >= 10000*$_POST['number']){
  3. $ledenerbij = 5*$_POST['number'];
  4. $gelderaf = 10000*$_POST['number'];
  5. mysql_query("UPDATE `families` SET `maxleden`=`maxleden`+'$ledenerbij',`contant`=`contant`-'$gelderaf' WHERE `naam`='$familie->naam'");
  6. }
  7. else{
  8. $error = 2;
  9. }


Zou iemand een script voorbeeld kunnen geven hoe ik dit kan realiseren (en indien er een extra stuk database nodig is deze ook posten?). Of mij helpen hoe ik dit voor elkaar zou kunnen krijgen?

Alvast bedankt

4 antwoorden

Gesponsorde links
Offline Toppe - 13/01/2010 08:27
Avatar van Toppe PHP interesse Kan aan mij liggen, maar dit heeft te maken met families en niet met iets kopen? anders moet je eens uitleggen hoe je een verkoop verwerkt in je database
Offline WebSmurf - 13/01/2010 09:02
Avatar van WebSmurf Nieuw lid even goed kijken dan toppe er wordt wel degelijk iets gekocht club huizen namelijk  
Offline micasa001 - 13/01/2010 10:12
Avatar van micasa001 PHP interesse Inderdaad, dit script maakt het mogelijk om club huizen te kopen. Ik heb zomaar een willekeurig deel uit het script genomen aangezien het mij meer gaat om het feit hoe ik iets dergelijks voor elkaar kan krijgen en dit vervolgen op de juiste wijze in mijn andere scripts verwerk.

Iemand enig idee?
Offline finduilas - 13/01/2010 11:02
Avatar van finduilas PHP gevorderde Nou, Je kan het zo doen:

Je hebt een tblProperties met daarin de wapens, clubhuizen whatever. Voor je het toevoegd bereken je de tijd wanneer het beschikbaar mag zijn, in php (date() + 3600) (is beschikbaar binnen nu en 1u)

Als je iets koopt voeg je dus in die tabel wie het koopt, welk wapen hij koopt + de tijd dat het beschikbaar moet zijn.

Als je dan bekijkt hoe krachtig iemand is kijk je met een INNER JOIN bv:
SELECT wapens FROM tblUsers INNER JOIN tblWapens ON (tblUsers.id = tblWapens.user_id) WHERE tblWapens.time <= date();

Maw; UPDATE `families` SET `maxleden`=`maxleden`; ik veronderstel dat als je bv 1 clubhuis koopt dit gewoon 20 optelt bij maxleden? Je zal je tabellen meer moet opsplitsen.

vb: tblFamilies ; tblFamiliesProperties (zoals dus je clubhuizen) en eventueel tblProperties (waarin je dus hetgeen ze kunnen kopen plaats, bv klein clubhuis 20 leden; groter clubhuis 40 leden; supergroot clubhuis 60 leden.

Zo kan je adhv een inner join sql statement ophalen hoeveel leden ze kunnen herbergen.

Dit is volgens mij een oplossing; mss is het ook mogelijk met cronjobs enz maar daar kan ik je helaas niet zoveel mee helpen.

Wel wil ik nog zeggen, het zal inderdaad een ganse ombouw zijn van je DB, want ik herken hierin een standaard criminalzscript? Maat laat je niet ontmoedigen; het is zeker doenbaar 
Bedankt door: micasa001
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.193s