<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Noova.pl blog &#187; The Godfather Online</title>
	<atom:link href="http://noova.pl/blog/index.php/tag/tgo/feed/" rel="self" type="application/rss+xml" />
	<link>http://noova.pl/blog</link>
	<description>Programmer is an organism that turns coffee into software.</description>
	<lastBuildDate>Thu, 12 Aug 2010 04:48:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>How it&#8217;s made: Bank</title>
		<link>http://noova.pl/blog/index.php/2009/10/17/how-its-made-bank/</link>
		<comments>http://noova.pl/blog/index.php/2009/10/17/how-its-made-bank/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 17:35:00 +0000</pubDate>
		<dc:creator>matergames</dc:creator>
				<category><![CDATA[gry]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programowanie]]></category>
		<category><![CDATA[via www]]></category>
		<category><![CDATA[The Godfather Online]]></category>

		<guid isPermaLink="false">http://noova.pl/blog/index.php/2009/10/17/how-its-made-bank/</guid>
		<description><![CDATA[Tak, trywialne, ale może i się przyda Sugestie mile widziane ^_^ A więc &#8211; pisanie banku w grze. Dodajemy sobie pole bank oraz bank_time do tabeli z graczami. bank będzie przechowywał gotówkę gracza a bank_time ostatni update odsetek (zakładamy, że gracz dostaje 3% swojej gotówki co 24h) ///Przy okazji &#8211; muszę przepisać od nowa system [...]]]></description>
			<content:encoded><![CDATA[<p>Tak, trywialne, ale może i się przyda <img src='http://noova.pl/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>Sugestie mile widziane ^_^</p>
<p>A więc &#8211; pisanie banku w grze.</p>
<p>Dodajemy sobie pole bank oraz bank_time do tabeli z graczami.</p>
<p>bank będzie przechowywał gotówkę gracza a bank_time ostatni update odsetek (zakładamy, że gracz dostaje 3% swojej gotówki co 24h)</p>
<p>///Przy okazji &#8211; muszę przepisać od nowa system banku w TGO, bo jest tak stary, że pisany wręcz tragicznie <img src='http://noova.pl/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Zaczynamy! <img src='http://noova.pl/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$p</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'bank_time'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
  <span style="color: #666666; font-style: italic;">//$p to tablica z pobranymi danymi gracza</span>
  <span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;UPDATE `players` SET `bank_time` = UNIX_TIMESTAMP() WHERE `id`='<span style="color: #006699; font-weight: bold;">$p[id]</span>'&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$p</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'bank'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">!=</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
  <span style="color: #666666; font-style: italic;">//Jeśli gracz ma coś w banku</span>
  <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">time</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #000088;">$p</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'bank_time'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">86400</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
   <span style="color: #666666; font-style: italic;">//Jeśli ostatni update był ponad 24h temu</span>
   <span style="color: #000088;">$p</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'bank'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+=</span> <span style="color: #990000;">floor</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">time</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #000088;">$p</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'bank_time'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">86400</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color:#800080;">0.03</span><span style="color: #339933;">*</span><span style="color: #000088;">$p</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'bank'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
   <span style="color: #666666; font-style: italic;">//Obliczamy ile kasy w banku ma teraz gracz</span>
   <span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;UPDATE `players` SET `bank` = '<span style="color: #006699; font-weight: bold;">$p[bank]</span>', `bank_time` = UNIX_TIMESTAMP() WHERE `id`='<span style="color: #006699; font-weight: bold;">$p[id]</span>'&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span></pre></div></div>

<p>Mam nadzieję, że się nigdzie nie pomyliłem, ja to z palca piszę <img src='http://noova.pl/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /><br />
Czyli mamy już odsetki, teraz zajmiemy się wyjmowaniem i deponowaniem pieniędzy.</p>
<p>Przelewy są opcjonalne i nie będę ich teraz brał pod uwagę, warto zaznaczyć jednak, żeby zrobić limit lvl od którego można robić przelewy,<strong>jeśli</strong> gracz dostaje pieniądze na start.</p>
<p>Dlaczego?<br />
Ano, bo pozakłada sobie 10 kont, z każdego po dajmy na to 150$ prześle i już ma 1500$ dodatkowo <img src='http://noova.pl/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Wstawiamy sobie dwa formularze &#8211; action=POST, sposób w jaki przekażecie typ operacji nie jest zbytnio ważny, może to być ukryte pole, a może to być tylko jeden formularz ale za to z radio buttonem do wyboru akcji &#8211; to już zostawiam wam.<br />
Ja opiszę na przykładzie ukrytego pola w formularzu o nazwie op &#8211; 0 będzie oznaczało wypłatę o 1 wpłatę <img src='http://noova.pl/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'op'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">==</span><span style="color: #cc66cc;">0</span> <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;&amp;</span>amp<span style="color: #339933;">;</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'cash'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
<span style="color: #666666; font-style: italic;">//Jeśli formularz został wysłany</span>
<span style="color: #000088;">$cash</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'cash'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">//Filtrujcie wszystkie zmienne pochodzące od gracza, tyle to za mało.</span>
<span style="color: #666666; font-style: italic;">//To jest tylko mini-poradnik, więc nie robię wszystkiego za was :D</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$cash0</span> <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;&amp;</span>amp<span style="color: #339933;">;</span> <span style="color: #000088;">$p</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'bank'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #000088;">$cash</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> <span style="color: #666666; font-style: italic;">//Sprawdzamy, czy taką kwotę da się wypłacić</span>
<span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;UPDATE `players` SET `bank`= `bank` - <span style="color: #006699; font-weight: bold;">$cash</span>,`kasa`=`kasa`+<span style="color: #006699; font-weight: bold;">$cash</span> WHERE `id`='<span style="color: #006699; font-weight: bold;">$p[id]</span>'&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'op'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">==</span><span style="color: #cc66cc;">1</span> <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;&amp;</span>amp<span style="color: #339933;">;</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'cash'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
<span style="color: #666666; font-style: italic;">//Jeśli formularz został wysłany</span>
<span style="color: #000088;">$cash</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'cash'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">//Filtrujcie wszystkie zmienne pochodzące od gracza, tyle to za mało.</span>
<span style="color: #666666; font-style: italic;">//To jest tylko mini-poradnik, więc nie robię wszystkiego za was :D</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$cash0</span> <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;&amp;</span>amp<span style="color: #339933;">;</span> <span style="color: #000088;">$p</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'kasa'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #000088;">$cash</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
<span style="color: #666666; font-style: italic;">//Sprawdzamy, czy taką kwotę da się wypłacić</span>
<span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;UPDATE `players` SET `kasa`= `kasa` - <span style="color: #006699; font-weight: bold;">$cash</span>,`bank`=`bank`+<span style="color: #006699; font-weight: bold;">$cash</span> WHERE `id`='<span style="color: #006699; font-weight: bold;">$p[id]</span>'&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Wszelkie informacje o gracza o pomyślnym lub też nie wykonaniu operacji pozostawiam wam, gdyż to nie wymaga specjalnych umiejętności <img src='http://noova.pl/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /><br />
To byłoby na tyle w dzisiejszym How It&#8217;s made, zapraszam do następnego odcinka który ukarze się <em>nie wiadomo kiedy</em> <img src='http://noova.pl/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /><br />
Jeśli gdzieś zrobiłem błąd to napiszcie w komentarzach <img src='http://noova.pl/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://noova.pl/blog/index.php/2009/10/17/how-its-made-bank/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
