TOP50 Gry
Santic Engine Official Support
Załóż swoją grę internetową za darmo! Support otwartego silnika gry rpg online bazującej na Vallheru
Teraz jest 10 wrz 2010, o 02:51

Wszystkie czasy w strefie UTC




Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
Autor Wiadomość
 Tytuł: Mod - pożyczka
PostNapisane: 28 lip 2009, o 18:44 
Offline

Dołączył(a): 10 cze 2009, o 12:10
Posty: 34
Witajcie stworzyłem moda - pożyczka, który wygląda o tak

PHP
Kod:
<?php
$title = "Lichwiarz Marcus";
require_once("includes/head.php"); if (!$_GET['ajax']) require_once("includes/head_start.php");



$cost2 = ($player -> level * 10000);
$smarty -> assign ("Cost2", $cost2);

if (isset ($_GET['credit']) && $_GET['credit'] == 'wez') {
      if (!ereg("^[1-9][0-9]*$", $_POST['amount']))
        {
            error ("Nie możesz nic nie pożyczać");
        }
      if ($_POST['amount'] > $cost2)
      {
      error ("Chyba troszkę za dużo");
      }
      {
      if ($player -> kredyt > 0)
      {
      error("Nie możesz brać nowego kredytu dopóki nie spłacisz starego");
      }
      $db -> Execute("UPDATE players SET credits=credits+".$_POST['amount']." WHERE id=".$player -> id);
      $db -> Execute("UPDATE players SET kredyt=kredyt+".$_POST['amount']." WHERE id=".$player -> id);
        $smarty -> assign ("credit", "wez");
      error("Wziąłeś kredyt");
        }
      }
      
if (isset ($_GET['credit']) && $_GET['credit'] == 'splac') {
      if (!ereg("^[1-9][0-9]*$", $_POST['amount']))
        {
            error ("Chyba nie chcesz mnie wkurzyć??");
        }
      if ($player -> kredyt < $_POST['amount']){
      error ("Chyba nie chcesz zapłacić więcej niż jest to warte");
      }
      {
      $db -> Execute("UPDATE players SET credits=credits-".$_POST['amount']." WHERE id=".$player -> id);
      $db -> Execute("UPDATE players SET kredyt=kredyt-".$_POST['amount']." WHERE id=".$player -> id);
      $smarty -> assign ("credit", "splac");
      error("Spłaciłeś");
      }
      }
      
      
      
   if (!isset($_GET['credit'])) {
    $_GET['credit'] = '';
   }
      $smarty -> assign ( array("Credit" => $_GET['credit']));
      $smarty -> display ('pozycz.tpl');
if (!$_GET['ajax']) require_once("includes/foot.php");
?>

TPL
Kod:
<form method="post" action="pozycz.php?credit=wez">
<input type="text" name="amount" />
<input type="submit" value="Weź" /></form>
<form method="post" action="pozycz.php?credit=splac">
<input type="text" name="amount" />
<input type="submit" value="Spłać" /></form>

Na razie jest on na czysto bez zbędnych opisów. Jeśli są w nim jakieś błędy to zaproponujcie ich rozwiązania :) tylko bądźcie wyrozumiali, bo to mój pierwszy skrypt :roll:
Jednak mod jeszcze nie jest skończony, ponieważ potrzebuje Waszej pomocy. Nie potrafię ułożyć if'a, który wysyłałby gracza do lochów na 2 dni, jeśli gracz nie spłaciłby kredytu w ciągu 7 dni.
Oczywiście jeśli ktoś chce może sobie tego moda pobrać działa poprawnie tylko nie ma if'a wysyłania gracza do lochów :|

Pomożecie?? ;)


Góra
 Zobacz profil  
 
 Tytuł: Re: Mod - pożyczka
PostNapisane: 29 lip 2009, o 20:29 
Offline

Dołączył(a): 4 sty 2009, o 17:26
Posty: 153
1 - po co dwa zapytania do bazy skoro można to zrobić w jednym?
2 - Nie dopisałeś ze w players trzeba utworzyć pole kredyt
3 - By zrobić takie auto-wrzucanie do lochów musisz mieć jeszcze jedną wartość - kiedy gracz wziął kredyt...


Góra
 Zobacz profil  
 
 Tytuł: Re: Mod - pożyczka
PostNapisane: 30 lip 2009, o 09:38 
Offline

Dołączył(a): 10 cze 2009, o 12:10
Posty: 34
Oki dzięki... Na razie nie dopisałem o polu kredyt, bo gdy zrobię całość to napiszę instrukcje :D


Góra
 Zobacz profil  
 
 Tytuł: Re: Mod - pożyczka
PostNapisane: 31 lip 2009, o 18:29 
Offline

Dołączył(a): 10 cze 2009, o 12:10
Posty: 34
Mam problem, ponieważ stworzyłem pole creditday i jest to jako nie data lecz liczby. Chciałem w pilku includes/resets.php umieścić coś takiego.
Kod:
if ($player -> fields['kredyt'] > 0)
{
$db -> Execute("UPDATE `players` SET `kredyt`=`kredyt`*1.001 WHERE id=".$player -> id);
$db -> Execute("UPDATE `players` SET `creditday`=`creditday`+1 WHERE id=".$player -> id);
}
if ($player -> fields['creditday'] == 5){
$db -> Execute("UPDATE `players` SET `miejsce`='Lochy' WHERE `id`=".$player -> id);
$db -> Execute("INSERT INTO `jail` (`prisoner`, `verdict`, `duration`, `cost`, `data`) VALUES(".$player -> id.", '".VERDICT."', 1, ".$cost.", ".$strDate.")") or die("Błąd!");
$db -> Execute("INSERT INTO log (`owner`, `log`, `czas`) VALUES(".$player -> id.",'".S_LOG_INFO." ".$cost.".', ".$strDate.")");
}
if ($player -> fields['creditday'] == 10){
$db -> Execute("UPDATE `players` SET `miejsce`='Lochy' WHERE `id`=".$player -> id);
$db -> Execute("INSERT INTO `jail` (`prisoner`, `verdict`, `duration`, `cost`, `data`) VALUES(".$player -> id.", '".VERDICT."', 2, ".$cost.", ".$strDate.")") or die("Błąd!");
$db -> Execute("INSERT INTO log (`owner`, `log`, `czas`) VALUES(".$player -> id.",'".S_LOG_INFO2." ".$cost.".', ".$strDate.")");
}
if ($player -> fields['creditday'] == 15){
$db -> Execute("UPDATE `players` SET `miejsce`='Lochy' WHERE `id`=".$player -> id);
$db -> Execute("INSERT INTO `jail` (`prisoner`, `verdict`, `duration`, `cost`, `data`) VALUES(".$player -> id.", '".VERDICT."', 3, ".$cost.", ".$strDate.")") or die("Błąd!");
$db -> Execute("INSERT INTO log (`owner`, `log`, `czas`) VALUES(".$player -> id.",'".S_LOG_INFO3." ".$cost.".', ".$strDate.")");
}
if ($player -> fields['creditday'] == 19){
$db -> Execute("INSERT INTO log (`owner`, `log`, `czas`) VALUES(".$player -> id.",'".S_LOG_INFO5." ".$cost.".', ".$strDate.")");
}
if ($player -> fields['creditday'] == 20){
$db -> Execute("UPDATE `players` SET `miejsce`='Lochy' WHERE `id`=".$player -> id);
$db -> Execute("INSERT INTO `jail` (`prisoner`, `verdict`, `duration`, `cost`, `data`) VALUES(".$player -> id.", '".VERDICT."', 100, ".$cost.", ".$strDate.")") or die("Błąd!");
$db -> Execute("INSERT INTO log (`owner`, `log`, `czas`) VALUES(".$player -> id.",'".S_LOG_INFO4." ".$cost.".', ".$strDate.")");
}


Ale to nie funkcjonuje?? Wytłumaczy mi ktoś w jaki sposób mam to zrobić?? :)


Góra
 Zobacz profil  
 
 Tytuł: Re: Mod - pożyczka
PostNapisane: 31 lip 2009, o 20:41 
Offline

Dołączył(a): 1 lut 2009, o 22:09
Posty: 139
Nie znam się za bardzo na PHP, ale coś mi mówi że switch by tutaj lepiej wyglądał :P

_________________
Andune Project -15%
Santic Support - Drobna pomoc dla laików
Kaara - Jeden z Grafików
Tato, a wiesz co... <--Kroniki Pana Vęto


Góra
 Zobacz profil  
 
 Tytuł: Re: Mod - pożyczka
PostNapisane: 3 sie 2009, o 11:36 
Offline

Dołączył(a): 10 cze 2009, o 12:10
Posty: 34
Nie ma znaczenia co byłoby lepsze ważne, że nie działa i potrzebuje kogoś do pomocy. Jest ktoś chętny?? Proszę :cry:


Góra
 Zobacz profil  
 
 Tytuł: Re: Mod - pożyczka
PostNapisane: 6 sie 2009, o 15:11 
Offline

Dołączył(a): 27 gru 2008, o 23:34
Posty: 194
$player -> fields['creditday']

a co to?

_________________
In Journal Khulmar (test part: klik)
Smocza Dolina (autorski silnik) 50%

Obrazek
Obrazek
Obrazek


Góra
 Zobacz profil  
 
 Tytuł: Re: Mod - pożyczka
PostNapisane: 6 sie 2009, o 22:01 
Offline

Dołączył(a): 6 sie 2009, o 21:32
Posty: 6
Powyższy kod nigdy nie zadziała - to totalny bezsens...
Wszystkie te operacje musisz wykonać dla każdego gracza.
czyli:
Kod:
$db -> Execute("UPDATE `players` SET `kredyt`=`kredyt`*1.001, `creditday`=`creditday`+1 WHERE kredyt>0");

$db -> Execute("UPDATE `players` SET `miejsce`='Lochy' WHERE creditday=5);

$dolochuznimi = $db -> Execute("Select id from players WHERE creditday=5");
while(!$dolochuznimi -> EOF){

$db -> Execute("INSERT INTO `jail` (`prisoner`, `verdict`, `duration`, `cost`, `data`) VALUES(".$dolochuznimi  -> id.", '".VERDICT."', 1, ".$cost.", ".$strDate.")") or die("Błąd!");

$db -> Execute("INSERT INTO log (`owner`, `log`, `czas`) VALUES("$dolochuznimi -> id.",'".S_LOG_INFO." ".$cost.".', ".$strDate.")");
$dolochuznimi -> NoveNext();

}


Z pozostałymi przypadkami postępuj analogicznie. Powinieneś sam sobie poradzić.

_________________
Między każdą parą wymiernych chwil istniały miliardy chwil niewymiernych.


Góra
 Zobacz profil  
 
 Tytuł: Re: Mod - pożyczka
PostNapisane: 7 sie 2009, o 19:20 
Offline

Dołączył(a): 4 sty 2009, o 17:26
Posty: 153
Na mmocenter już dawno o tym "oświeciłam" <_<


EDIT:

A wrzucę też i tu:

Kod:
<?php
//kredyt
$db -> Execute("UPDATE `players` SET kredyt=kredyt*1.1, creditday=creditday+1 WHERE kredyt>0") or die(mysql_error());

$arr_credit = array(
    5 => array(1, S_LOG_INFO),
    10 => array(2, S_LOG_INFO2),
    15 => array(3, S_LOG_INFO3),
    19 => array(0, S_LOG_INFO5),
    20 => array(100, S_LOG_INFO4)
);

$arr_jail = array();
$arr_log = array();

$i = 0;

$cred_check = $db -> execute('SELECT id, creditday FROM players WHERE creditday IN (5, 10, 15, 19, 20)') or die(mysql_error());

while (!$cred_check -> EOF)
{
    if($cred_check -> fields['creditday'] != 19)
    {
        $arr_jail[$i][0] = $cred_check -> fields['id'];
        $arr_jail[$i][1] = '"'.VERDICT.'"';
        $arr_jail[$i][2] = $arr_credit[$cred_check -> fields['creditday'][0]];
        $arr_jail[$i][3] = $cost;
        $arr_jail[$i][4] = $strDate;
    }
   
    $arr_log[$i][0] = $cred_check -> fields['id'];
    $arr_log[$i][1] = '"'.$arr_credit[$cred_check -> fields['creditday'][1]].' '.$cost.'"';
    $arr_log[$i][2] = $strDate;
   
   
    $cred_check -> MoveNext();
}
$cred_check -> Close();


$db -> execute('UPDATE players SET miejsce="Lochy" WHERE creditday IN (5, 10, 15, 20)') or die(mysql_error());

$db -> execute('INSERT INTO `jail` (`prisoner`, `verdict`, `duration`, `cost`, `data`) VALUES (?,?,?,?,?)', $arr_jail) or die(mysql_error());

$db -> execute('INSERT INTO log (`owner`, `log`, `czas`) VALUES (?,?,?)', $arr_log) or die(mysql_error());

?>





P.S. Ale phpBB jest zacofane... :[


Góra
 Zobacz profil  
 
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 

Wszystkie czasy w strefie UTC


Kto przegląda forum

Użytkownicy przeglądający to forum: Brak zalogowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Przyjazne użytkownikom polskie wsparcie phpBB3 - phpBB3.PL

Tworzenie gier mmo, polskie centrum gier, mmorpg Tanie soczewki