LoGD Standardrelease steht hier zum Download zur Verfügung!

Zeige Source: /logd/gildenbuilding.php

Hier klicken für den Source, ODER
Weitere Dateien, von denen du den Quelltext sehen kannst:
(Das Lesen des Source, um sich spielerische Vorteile zu verschaffen, ist nicht erlaubt. Solltest du Schwachstellen oder Fehler entdecken, bist du als Spieler verpflichtet, diese zu melden.)

Source von: /logd/gildenbuilding.php

<?php
#-----------------------------------------#
#   Gildensystem Version: 1.5b            #
#   ~~ Funktionen für die Gebäude ~~      #
#   Autor: Eliwood                        #
#   Mit Unterstüzung von: Nephilea        #
#-----------------------------------------#
/* Eine Liste mit den Wichtigen Informationen über die Tabelle gilden_data:
    
    Waffen:
    name => weapon
    value1 => Waffenprimärschlüssel
    data => Waffenname
    value2 => Angriffspunkte
    value3 => Waffenwert in Gold
    value4 => Stückzahl
    // Die Waffen werden ins Inventar übertragen!
    
    Rüstungen:
    name => armor
    value1 => Rüstungsprimärschlüssel
    data => Rüstungsname
    value2 => Defensivpunkte
    value3 => Rüstungswert in Gold
    value4 => Stückzahl
    // Die Rüstungen werden ins Inventar übertragen!
    
    Diplomatie:
    name => diplomatie
    value1 => Vertragsid
    value2 => Antragspartner
    value3 => Art des Verhältnisses:
              0 => Neutral
              1 => Friedensangebot
              2 => Bündnis
              3 => Verfeindet
              4 => Kriegszustand
    value4 => Unterzeichnet (Partner) [Falls Kriegserklärung oder bei Verfeindung wird das Einverständnis nicht gebraucht!]
    data => Optionaler Text
    // Um diplomatische Beziehungen aufzubauen, wird das Diplomatenzentrum benötigt (Gebäude) */

$cost_values = array(1=>48,225,585,990,1575,2250,2790,3420,4230,5040,5850,6840,8010,9000,10350);

function 
getDiscount ($price,$what) {
    
//2006 by Banshee
        
global $session;
    
$factor 100;
    
$sql "SELECT  value1 FROM gilden_ausbau WHERE ownerguild='".$session['guild']['gildenid']."' AND link = '".$what."'";
    
$result db_query ($sql) or die (mysql_error());
    
$row db_fetch_assoc($result);
    if (
db_num_rows ($result)) {
        
$factor $row[value1];
    }
        return 
round($price$factor/100);
}

/* Invhandlerfuncs 2005 by Eliwood */
function give_new_weapon($name,$description,$attack=0,$gold=0)
  {
    
// Gives Users a New Weapon
    
global $session;
    if (!
is_numeric($attack)) $attack 0;
    if (!
is_numeric($gold)) $gold 0;
    
$sql="INSERT INTO items (name,class,owner,value1,gold,description) VALUES ('$name','Waffe','".$session['user']['acctid']."','$attack','$gold','$description')";
    
db_query($sql) or die("Ach, so nen Mist, schon wieder verbockt!");
  }

function 
give_new_armor($name,$description,$defence=0,$gold=0)
  {
    
// Gives Users a New Armor
    
global $session;
    if (!
is_numeric($defence)) $defence 0;
    if (!
is_numeric($gold)) $gold 0;
    
$sql="INSERT INTO items (name,class,owner,value1,gold,description) VALUES ('$name','Rüstung','".$session['user']['acctid']."','$defence','$gold','$description')";
    
db_query($sql) or die("Ach, so nen Mist, schon wieder verbockt!");
  }
/* End Invhandlerfuncs */

/* Waffenshop */
function showweapons($withlink=true) {
  global 
$session;
  
$result db_unbuffered_query("SELECT * FROM gilden_data WHERE gildenid='".$session['guild']['gildenid']."' AND name='weapon' AND value4>0 ORDER BY value1 ASC");
  
addnav("Waffen");
  
rawoutput("<table align='center'>");
  
rawoutput("<tr class='trhead'><td>Name</td><td>Schaden</td><td>Goldkosten</td><td>Stückzahl im Lager</td>");
  if(
$session['user']['acctid']==$session['guild']['leaderid']){

  
rawoutput("<td>Bearbeiten</td></tr>");

  }
  
$i 0;
  while(
$row db_fetch_assoc($result))
  {
    
$tableclass = ($i%2==1?"trlight":"trdark");
        
$i++;
    
$mylink "";
    if(
$row['value3']<=$session['user']['gold']) $mylink "gilden.php?op=build&action=weapon&weaponid=".$row['value1'];
    if(
$withlink===true) {
            
addnav($row['data'],$mylink);
            
addnav("",$mylink);
        }
    
rawoutput("<tr class='$tableclass'>"
             
."<td>".($myLink!=""?"<a href='$myLink'>":"").appoencode($row['data']).($myLink!=""?"</a>":"")."</td>"
             
."<td>".$row['value2']."</td>"
             
."<td>".$row['value3']."</td>"
             
."<td>".$row['value4']."</td>");
             if(
$session['user']['acctid']==$session['guild']['leaderid'])
             {
              
rawoutput("<td><a href='gildenverwalt.php?op=verwaltbuild&action=weapon&do=edit&weaponid=".$row['value1']."'>Bearbeiten</a></td>");
               
addnav("","gildenverwalt.php?op=verwaltbuild&action=weapon&do=edit&weaponid=".$row['value1']."");
             }
             
rawoutput("</tr>");
  }
  
rawoutput("</table>");
}

function 
editweapon($id,$formlink)
{
  
/* Function by Hadriel */
  
global $session;
  
$weapon db_fetch_assoc(db_unbuffered_query("SELECT * FROM gilden_data WHERE gildenid='".$session['guild']['gildenid']."' AND name='weapon' AND value1='$id'"));
  
allownav($formlink);
  
rawoutput("<form method='POST' action='$formlink'><table>");
  
rawoutput("<input type='hidden' name='id' value='$id'>");
  
rawoutput("<tr><td>Name der Waffe</td>");
  
rawoutput("<td><input type='text' name='name' value='$weapon[data]' /></td></tr>");
  
rawoutput("<tr><td colspan='2' rowspan='2' align='center' valign='middle'><input class='button' type='submit' value='Waffe bearbeiten' /></td></tr><tr></tr>");
  
rawoutput("</table></form>");
}

function 
update_weapon($id)
{
  
/* Function by Hadriel */
  
global $session;
  
db_query("UPDATE gilden_data SET data='".$_POST['name']."' WHERE value1=".$id." AND gildenid=".$session['guild']['gildenid']." AND name='weapon'");
}

function 
buyweapon($id)
{
  global 
$session;
  
$weapon db_fetch_assoc(db_unbuffered_query("SELECT * FROM gilden_data WHERE gildenid='".$session['guild']['gildenid']."' AND name='weapon' AND value1='$id'"));
  
give_new_weapon($weapon['data'],"Eine Waffe, von der Gilde gekauft",$weapon['value2'],$weapon['value3']);
  if((
$weapon['value4']-1)==0// Wenn keine Stückzahlen mehr vorhanden sind, Waffe aus der Datenbank löschen
    
db_query("DELETE FROM gilden_data WHERE gildenid='".$session['guild']['gildenid']."' AND name='weapon' AND value1='$id'");
  else 
// Wenn es noch was von der Waffe hat => Stückzahl verringern
    
db_query("UPDATE gilden_data SET value4=value4-'1' WHERE gildenid='".$session['guild']['gildenid']."' AND name='weapon' AND value1='$id'");
  
guild_update("gold",$session['guild']['gold']+$weapon['value3']);
  
$session['user']['gold']-=$weapon['value3'];
}

function 
insertweapon($name,$attack,$piece)
{
  global 
$session,$cost_values;
  
$result db_unbuffered_query("SELECT MAX(value1) AS maxid FROM gilden_data WHERE gildenid='".$session['guild']['gildenid']."' AND name='weapon'");
  
$a db_fetch_assoc($result);
  
$id = ($a['maxid']+1);
  
db_unbuffered_query("INSERT INTO gilden_data (gildenid,name,value1,data,value2,value3,value4) VALUES ('".$session['guild']['gildenid']."','weapon','$id','$name','$attack','".getDiscount($cost_values[$attack],'weapon')."','$piece')");
}

function 
weaponform($formlink)
{
  global 
$session,$cost_values,$maxstufe;
  
allownav($formlink);
  
rawoutput("<form method='POST' action='$formlink'><table>");
  
rawoutput("<tr><td>Name der Waffe</td>");
  
rawoutput("<td><input type='text' name='name' /></td></tr>");
  
rawoutput("<tr><td>Schaden</td>");
  
rawoutput("<td><select name='damage'>");
  for(
$i=1;$i<=15;$i++)
  {
    
rawoutput("<option value='$i'>$i (Goldkosten: ".$cost_values[$i].")");
  }
  
rawoutput("</select></td></tr>");
  
rawoutput("<tr><td>Wieviel davon herstellen?</td>");
  
rawoutput("<td><select name='piece'>");
  for(
$i=1;$i<=20;$i++)
  {
    
rawoutput("<option value='$i'>$i");
  }
  
rawoutput("</select></td></tr>");
  
rawoutput("<tr><td colspan='2' rowspan='2' align='center' valign='middle'><input class='button' type='submit' value='Waffe schmieden' /></td></tr><tr></tr>");
  
rawoutput("</table></form>");
}


/* Rüstungsshop */
function showarmors($withlink=true)
{
  global 
$session;
  
$result db_unbuffered_query("SELECT * FROM gilden_data WHERE gildenid='".$session['guild']['gildenid']."' AND name='armor' AND value4>0 ORDER BY value1 ASC");
  
addnav("Rüstungen");
  
rawoutput("<table align='center'>");
  
rawoutput("<tr class='trhead'><td>Name</td><td>Defensivkraft</td><td>Goldkosten</td><td>Stückzahl im Lager</td>");
  if(
$session['user']['acctid']==$session['guild']['leaderid']){

  
rawoutput("<td>Bearbeiten</td></tr>");

  }
    
$i=0;
  while(
$row db_fetch_assoc($result))
  {
    
$tableclass = ($i%2==1?"trlight":"trdark");
        
$i++;
    
$mylink "";
    if(
$row['value3']<=$session['user']['gold']) $mylink "gilden.php?op=build&action=armor&armorid=".$row['value1'];
    if(
$withlink == true) {
            
addnav($row['data'],$mylink);
            
addnav("",$mylink);
        }
    
rawoutput("<tr class='$tableclass'>"
             
."<td>".($myLink!=""?"<a href='$myLink'>":"").appoencode($row['data']).($myLink!=""?"</a>":"")."</td>"
             
."<td>".$row['value2']."</td>"
             
."<td>".$row['value3']."</td>"
             
."<td>".$row['value4']."</td>");
             if(
$session['user']['acctid']==$session['guild']['leaderid'])
             {
              
rawoutput("<td><a href='gildenverwalt.php?op=verwaltbuild&action=armor&do=edit&armorid=".$row['value1']."'>Bearbeiten</a></td>");
              
addnav("","gildenverwalt.php?op=verwaltbuild&action=armor&do=edit&armorid=".$row['value1']."");
             }
             
rawoutput("</tr>");
  }
  
rawoutput("</table>");
}

function 
editarmor($id,$formlink)
{
  
/* Function by Hadriel */
  
global $session;
  
$armor db_fetch_assoc(db_unbuffered_query("SELECT * FROM gilden_data WHERE gildenid='".$session['guild']['gildenid']."' AND name='armor' AND value1='$id'"));
  
allownav($formlink);
  
rawoutput("<form method='POST' action='$formlink'><table>");
  
rawoutput("<input type='hidden' name='id' value='$id'>");
  
rawoutput("<tr><td>Name der Rüstung</td>");
  
rawoutput("<td><input type='text' name='name' value='$armor[data]' /></td></tr>");
  
rawoutput("<tr><td colspan='2' rowspan='2' align='center' valign='middle'><input class='button' type='submit' value='Waffe bearbeiten' /></td></tr><tr></tr>");
  
rawoutput("</table></form>");
}

function 
update_armor($id)
{
  
/* Function by Hadriel */
  
global $session;
  
db_query("UPDATE gilden_data SET data='".$_POST['name']."' WHERE value1=".$id." AND gildenid=".$session['guild']['gildenid']." AND name='armor'");
}

function 
buyarmor($id)
{
  global 
$session;
  
$armor db_fetch_assoc(db_unbuffered_query("SELECT * FROM gilden_data WHERE gildenid='".$session['guild']['gildenid']."' AND name='armor' AND value1='$id'"));
  
give_new_armor($armor['data'],"Eine Rüstung, von der Gilde gekauft",$armor['value2'],$armor['value3']);
  if((
$armor['value4']-1)==0// Wenn keine Stückzahlen mehr vorhanden sind, Waffe aus der Datenbank löschen
    
db_query("DELETE FROM gilden_data WHERE gildenid='".$session['guild']['gildenid']."' AND name='armor' AND value1='$id'");
  else 
// Wenn es noch was von der Waffe hat => Stückzahl verringern
    
db_query("UPDATE gilden_data SET value4=value4-'1' WHERE gildenid='".$session['guild']['gildenid']."' AND name='armor' AND value1='$id'");
  
guild_update("gold",$session['guild']['gold']+$armor['value3']);
  
$session['user']['gold']-=$armor['value3'];
}

function 
insertarmor($name,$attack,$piece)
{
  global 
$session,$cost_values;
  
$result db_unbuffered_query("SELECT MAX(value1) AS maxid FROM gilden_data WHERE gildenid='".$session['guild']['gildenid']."' AND name='armor'");
  
$a db_fetch_assoc($result);
  
$id = ($a['maxid']+1);
  
db_unbuffered_query("INSERT INTO gilden_data (gildenid,name,value1,data,value2,value3,value4) VALUES ('".$session['guild']['gildenid']."','armor','$id','$name','$attack','".getDiscount($cost_values[$attack],'armor')."','$piece')");
}

function 
armorform($formlink)
{
  global 
$session,$cost_values;
  
allownav($formlink);
  
rawoutput("<form method='POST' action='$formlink'><table>");
  
rawoutput("<tr><td>Name der Rüstung</td>");
  
rawoutput("<td><input type='text' name='name' /></td></tr>");
  
rawoutput("<tr><td>Defensive</td>");
  
rawoutput("<td><select name='damage'>");
  for(
$i=1;$i<=15;$i++)
  {
    
rawoutput("<option value='$i'>$i (Goldkosten: ".$cost_values[$i].")");
  }
  
rawoutput("</select></td></tr>");
  
rawoutput("<tr><td>Wieviel davon herstellen?</td>");
  
rawoutput("<td><select name='piece'>");
  for(
$i=1;$i<=20;$i++)
  {
    
rawoutput("<option value='$i'>$i");
  }
  
rawoutput("</select></td></tr>");
  
rawoutput("<tr><td colspan='2' rowspan='2' align='center' valign='middle'><input class='button' type='submit' value='Rüstung schmieden' /></td></tr><tr></tr>");
  
rawoutput("</table></form>");
}

function 
dormitory () {
    global 
$session;
    
addnav("Dormitorium");
    
addnav ("Einschlafen","gilden.php?op=build&action=dormitory&sleep=sleep");
    if (
$_GET[sleep] == "sleep") {
        
$result db_query ("SELECT value2 FROM gilden_ausbau WHERE ownerguild=".$session['guild']['gildenid']." AND link='dormitory'");
        
$row mysql_fetch_assoc ($result);
        if (
$row[value2]) {
          
db_query("UPDATE gilden_ausbau SET value2= value2 - 1 WHERE ownerguild=".$session['guild']['gildenid']." AND link='dormitory'");
            
$session['user']['location']=4;
            
$session['user']['loggedin']=0;
            
$sql "UPDATE accounts SET loggedin=0,location=4 WHERE acctid = ".$session[user][acctid];
            
db_query($sql) or die(sql_error($sql));
            
$session=array();
            
redirect("index.php");
        } else { 
//no room in dormitory
            
output ("Du schleichst Dich in den Schlafsaal, musst aber feststellen, dass alle Betten belegt sind. Tja, da musst Du wohl in die Felder.");
        } 
    } elseif (
$_REQUEST[sleep] == "wakeup") {
        
output ("Du wachst auf.");
         
db_query("UPDATE gilden_ausbau SET value2= value2 + 1 WHERE ownerguild=".$session['guild']['gildenid']." AND link='dormitory'");
        
$session['user']['location']=0;
    } else {
        
output ("Hier können sich Gildenmitglieder beruhigt zur Ruhe legen...");
    }
}

function 
wall () {
    
output ("Du steigst auf die Befestigungsanlage. Es ist ein bisschen windig hier oben, aber für den tollen Blick über Everon lohnt es sich.`n");
    
output ("Nachdem Du Dich ausgiebig umgeschaut hast, steigst Du wieder hinab.`n");
}        

/* Diplomatie */
function load_diplomatie_array() {
  
$array = array(
    -
1=>"Nicht möglich",
    
0=>"Nicht möglich",
    
1=>"Bündnis",
    
2=>"Friedensangebot",
    
3=>"neutral",
        
4=>"verfeindet",
    
5=>"Kriegszustand",
  );
  return 
$array;
}

function 
diplomatie_show_guilds ($id false) {
    global 
$session;
    
$bez load_diplomatie_array();
    
$sql "SELECT gildenid,gildenname_b,gildenprefix_b,leaderid FROM gilden 
            WHERE gildenid!='"
.$id."'
            ORDER BY gildenname"
;
    
$result db_query ($sql);
    if (
db_num_rows($result) == 0) {
        
output ("keine Gilden vorhanden");
    } else {
        
$out.="<table align='center'><tr class='trhead'>
            <th>Gildenname</th><th>Prefix</th><th>Leader</th><th>Beziehung</th>
            </tr>"
;
        while (
$row db_fetch_assoc($result)) {
            
$leader db_fetch_assoc(db_query("SELECT name FROM accounts WHERE acctid = '$row[leaderid]'"));
            if(
db_num_rows(db_query("SELECT name FROM gilden_ausbau WHERE ownerguild='{$row['gildenid']}' AND name='Diplomatenzentrum'"))) {
                
$sql2 "SELECT value3 FROM gilden_data 
                    WHERE name='diplomatie' 
                    AND gildenid='"
.$id."'
                    AND value2 = '$row[gildenid]'"
;
                
$result2 db_query ($sql2);
                if (
db_num_rows ($result2)) {
                    
$row2 db_fetch_assoc ($result2);
                }
                
$out.= "<tr>";
                
$out.= "<td>$row[gildenname_b] </td>";
                if (!
$row2[value3]) $row2[value3] = 3;
                
$out.= "<td>$row[gildenprefix_b]</td><td>$leader[name]</td><td>".$bez[$row2['value3']]."$alliance</td></tr>\n";
            unset (
$row2['value3']);
            }     
//if ausbau erlaubt
        
//while
        
$out.= "</table>\n";
    } 
//if gilden
    
output ($out,true);
//diplomatie_show_guilds 

?>