Matchsystem v 1.00

PHPportalen Forum Index » Tips och Trix
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget Gå till sida Föregående  1, 2
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
laxitrus



Medlem i: 5000 dagar
Från: Östersund
Status: Offline



#713519
Inlägg Skrivet: 2011-09-20 16:47      Ämne: Citera

Tänkte bara kika om någon använt detta och fick problem med att uppdatera expn man förtjänar. Det fungerar perfekt att skriva ut hur mycket exp man vinner, men den vill inte uppdatera värdet i databasen.

KOD:
1:
if($player_hp[0] > 0){
2:
     
3:
         //   Uppdaterar spelarens värde
4:
            $gold_receive = rand($enemy_gold[0], $enemy_gold[1]);
5:
            $exp_receive = rand($enemy_exp[0], $enemy_exp[1]);
6:
         
7:
            $sql4 = "UPDATE krigare SET exp = exp + $exp_receive WHERE member_id = '{$_SESSION['sess_id']}'";
8:
         
9:
         echo " <br /> <br /> <b> $player_name vann striden. Publiken jublar åt vinnaren, Du tjänar $exp_receive exp och $gold_receive guld</b>. ";
10:
 
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande AIM-adress Yahoo Messenger MSN Messenger
hamre



Medlem i: 3714 dagar

Status: Offline



#713667
Inlägg Skrivet: 2011-09-23 00:31      Ämne: Citera

Det är för att det enda du gör nu är att lägga in UPDATE raden i en variabel. Du måste köra en mysql_query också.

Antingen kör du den direkt i $sql4.
PHP:
1:
 
2:
$sql4 mysql_query("UPDATE krigare SET exp = exp + $exp_receive WHERE member_id = '{$_SESSION['sess_id']}'");
3:
 


eller så kör du den efter
PHP:
1:
 
2:
$update mysql_query($sql4);
3:
 
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
laxitrus



Medlem i: 5000 dagar
Från: Östersund
Status: Offline



#713743
Inlägg Skrivet: 2011-09-23 20:16      Ämne: Citera

Tackar, löste det hela!
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande AIM-adress Yahoo Messenger MSN Messenger
Tarre



Medlem i: 5224 dagar

Status: Offline



#713885
Inlägg Skrivet: 2011-09-25 23:16      Ämne: Citera

Exp och guld borde inte vara random. De borde baseras på levels. Så man inte får någon exp från dom som är mycket lägre level än sig själv.

T.ex
PHP:
1:
 
2:
$bas_xp 6;
3:
$spelare_level 10;
4:
$monster_level 8;
5:
 
6:
$xp_earn = ($spelare_level*$bas_xp)-(($monster_level-$spelare_level)*$monster_level);
7:
 
8:
if($xp_earn ){#förhindra minus exp
9:
 $xp_earn 0;
10:


Om man är level 8 och dödar en level 8 så får man : 60 exp
Om man är level 10 och dödar en level 8 så får man : 44 exp
Om man är level 15 och dödar en level 8 så får man : 34 exp
Om man är level 20 och dödar en level 8 så får man : 24 exp

etc etc. Det går självklart att balansera det här lite mer.


'
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
laxitrus



Medlem i: 5000 dagar
Från: Östersund
Status: Offline



#714004
Inlägg Skrivet: 2011-09-27 20:52      Ämne: Citera

Jag försöker få bort funktionen med att en match kan bli oavgjord, genom att i varje runda slumpa en spelare som får slå ett slag till - men jag vet inte riktigt hur jag ska gå till väga.

KOD:
1:
//   Slumpa fram spelarnas skada
2:
   $player_damage = rand($player_dmg[0], $player_dmg[1]);
3:
   $enemy_damage = rand($enemy_dmg[0], $enemy_dmg[1]);
4:
   $attackerare = rand($player_name, $enemy_name);
5:
   
6:
      //   Uppdatera spelarnas värde
7:
           
8:
         $player_hp[0] = $player_hp[0] - $enemy_damage;
9:
         $enemy_hp[0] = $enemy_hp[0] - $player_damage;
10:
 
11:
         //   Skriv ut information
12:
 
13:
            echo "<b>Runda:</b> $runda";
14:
            echo "<br />";
15:
            if($player_hp[0] > 0){
16:
            echo "$player_name kastar en besvärjelse på $enemy_name <b>-</b> Magin tar <font color='red'>$player_damage.</font> ";
17:
            echo "<br />";
18:
            }
19:
            if($enemy_hp[0] > 0){
20:
            echo "$enemy_name attackerar $player_name och klöser $player_name i ansiktet <b>-</b> Attacken tar <font color='blue'>$enemy_damage.</font>";
21:
         $sql4 = "UPDATE krigare SET hp1 = $player_hp[0]  WHERE member_id = '{$_SESSION['sess_id']}'";
22:
         mysql_query($sql4);
23:
            echo "<br /> <br />";
24:
            }
25:
 
26:
            if($player_hp[0] > 0 OR $enemy_hp[0] > 0){
27:
            echo "$attackerare attackerar


Jag försöker alltså slumpa antingen player eller enemy, men det jag inte vet hur jag ska göra är att om tex player blir vald som attackerare, hur ska den känna av att enemy ska bli attackerad?

Säg till om ni inte förstår vad jag menar.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande AIM-adress Yahoo Messenger MSN Messenger
laxitrus



Medlem i: 5000 dagar
Från: Östersund
Status: Offline



#714235
Inlägg Skrivet: 2011-09-30 14:19      Ämne: Citera

Ingen som har lust att hjälpa till? Kanske förklarade dåligt, säg till isf.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande AIM-adress Yahoo Messenger MSN Messenger
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget Gå till sida Föregående  1, 2
PHPportalen Forum Index » Tips och Trix
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic