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        #
#-----------------------------------------#


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

/* Invhandlerfuncs 2005 by Eliwood */
function give_new_weapon($name,$description,$attack=0,$gold=0)
  {
    
// Gives Users a New Waepon
    
global $session;
    if (!
is_numeric($attack)) $defence 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("`fA`Fc`hh, so nen Mist, schon wieder verboc`Fk`ft!");
  }

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("`fA`Fc`hh, so nen Mist, schon wieder verboc`Fk`ft!");
  }
/* 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("`fW`Fa`hff`Fe`fn");
  
rawoutput("<table align='center' bgcolor='#999999'>");
  
rawoutput("<tr class='trhead'><td>Name</td><td>Schaden</td><td>Goldkosten</td><td>`fS`Ft`hückzahl im Lag`Fe`fr</td>");
  if(
$session['user']['acctid']==$session['guild']['leaderid']){

  
rawoutput("<td>`fB`Fe`harbeit`Fe`fn</td></tr>");

  }
  
$i 0;
  while(
$row db_fetch_assoc($result))
  {
    
$tableclass = ($i%2==1?"trlight":"trdark");
    
$mylink "";
    if(
$row['value3']<=$session['user']['gold']) $mylink "gilden.php?op=build&action=weapon&weaponid=".$row['value1'];
    if(
$withlink===trueaddnav($row['data'],$mylink);
    
rawoutput("<tr class='$tableclass'>"
             
."<td>".appoencode($row['data'])."</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']."'>`fB`Fe`harbeit`Fe`fn</a></td>");
               
addnav("","gildenverwalt.php?op=verwaltbuild&action=weapon&do=edit&weaponid=".$row['value1']."");
             }
             
rawoutput("</tr>");
    
$i++;
  }
  
rawoutput("</table>");
  if(
$withlink===trueoutput("`f`n`n--->W`Fe`hnn du eine Waffen kaufen willst, klicke rechts oben auf den Navpun`Fk`ft.");
}

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>`fN`Fa`hme der Waf`Ff`fe</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='`fW`Fa`hffe bearbeit`Fe`fn' /></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'],"`fE`Fi`hne Waffe, von der Gilde gekau`Ff`ft",$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','".$cost_values[$attack]."','$piece')");
}

function 
weaponform($formlink)
{
  global 
$session,$cost_values;
  
allownav($formlink);
  
rawoutput("<form method='POST' action='$formlink'><table>");
  
rawoutput("<tr><td>`fN`Fa`hme der Waf`Ff`fe</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 (`fG`Fo`hldkosten: ".$cost_values[$i].")");
  }
  
rawoutput("</select></td></tr>");
  
rawoutput("<tr><td>`fW`Fi`heviel davon herstell`Fe`fn?</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("`fR`Fü`hstung`Fe`fn");
  
rawoutput("<table align='center' bgcolor='#999999'>");
  
rawoutput("<tr class='trhead'><td>Name</td><td>Defensivkraft</td><td>Goldkosten</td><td>`fS`Ft`hückzahl im Lag`Fe`fr</td>");
  if(
$session['user']['acctid']==$session['guild']['leaderid']){

  
rawoutput("<td>`fB`Fe`harbeit`Fe`fn</td></tr>");

  }
  
$i 0;
  while(
$row db_fetch_assoc($result))
  {
    
$tableclass = ($i%2==1?"trlight":"trdark");
    
$mylink "";
    if(
$row['value3']<=$session['user']['gold']) $mylink "gilden.php?op=build&action=armor&armorid=".$row['value1'];
    if(
$withlink===trueaddnav($row['data'],$mylink);
    
rawoutput("<tr class='$tableclass'>"
             
."<td>".appoencode($row['data'])."</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']."'>`fB`Fe`harbeit`Fe`fn</a></td>");
              
addnav("","gildenverwalt.php?op=verwaltbuild&action=armor&do=edit&armorid=".$row['value1']."");
             }
             
rawoutput("</tr>");
    
$i++;
  }
  
rawoutput("</table>");
  if(
$withlink===trueoutput("`f`n`n--->W`Fe`hnn du eine Rüstung kaufen willst, klicke rechts oben auf den Navpun`Fk`ft.");
}

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>`fN`Fa`hme der Rüstu`Fn`fg</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='`fW`Fa`hffe bearbeit`Fe`fn' /></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'],"`fE`Fi`hne Rüstung, von der Gilde gekau`Ff`ft",$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','".$cost_values[$attack]."','$piece')");
}

function 
armorform($formlink)
{
  global 
$session,$cost_values;
  
allownav($formlink);
  
rawoutput("<form method='POST' action='$formlink'><table>");
  
rawoutput("<tr><td>`fN`Fa`hme der Rüstu`Fn`fg</td>");
  
rawoutput("<td><input type='text' name='name' /></td></tr>");
  
rawoutput("<tr><td>`fD`Fe`hfensi`Fv`fe</td>");
  
rawoutput("<td><select name='damage'>");
  for(
$i=1;$i<=15;$i++)
  {
    
rawoutput("<option value='$i'>$i (`fG`Fo`hldkosten: ".$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='`fR`Fü`hstung schmied`Fe`fn' /></td></tr><tr></tr>");
  
rawoutput("</table></form>");
}

/* Diplomatie */
function diplomatie_show_guilds()
{
  global 
$session;
  
$sql "SELECT gildenid,gildenname,gildenname_b,gildenprefix,gildenprefix_b,leaderid FROM gilden "
        
."WHERE gildenid!='".$session['guild']['gildenid']."'";
  
$result db_query($sql);
  if(
db_num_rows($result)==0)
    
output("`c`b `fK`Fe`hine andere Gilden vorhand`Fe`fn!`b`c");
  else
  {
    
rawoutput("<table align='center' cellspacing=1 cellpadding=1 bgcolor='#999999'><tr class='trhead'>"
              
."<td>`fG`Fi`hldenna`Fm`fe</td>"
              
."<td>`fP`Fr`hef`Fi`fx</td>"
              
."<td>`fL`Fe`had`Fe`fr</td>"
              
."<td>`fB`Fe`hziehu`Fn`fg</td>"
              
."</tr>");
    
$i 0;
    while(
$row db_fetch_assoc($result))
    {
      
$leaderr db_unbuffered_query("SELECT acctid,name FROM accounts WHERE acctid='".$row['leaderid']."' LIMIT 1");
      
$leaderr db_fetch_assoc($leaderr);
      
$bez load_diplomatie_array();
      
$dipr db_query("SELECT * FROM gilden_data "
                      
."WHERE name='diplomatie' "
                      
."AND gildenid='".$session['guild']['gildenid']."'"
                      
."AND value2='".$row['gildenid']."' LIMIT 1");
      if(
db_num_rows($dipr)) $dipr db_fetch_assoc($dipr); else $dipr false;
      if(!
db_num_rows(db_query("SELECT name FROM gilden_ausbau WHERE ownerguild='{$row['gildenid']}' AND name='Diplomat' LIMIT 1"))) $diprow['value3'] = -1;
      if(
$dipr === false$diprow['value3'] = 0;
      
$class $i%2?"trlight":"trdark";
      
output("<tr class='$class'><td>"
            
.$row['gildenname']
            .
"</td><td>"
            
.$row['gildenprefix']
            .
"</td><td>"
            
.$leaderr['name']
            .
"</td><td>"
            
.$bez[$diprow['value3']]
            .
"</td></tr>",true);
      
$i++;
    }
    
rawoutput("</table>");
  }
}

function 
load_diplomatie_array()
{
  
$array = array(
    -
1=>"`fN`Fi`hcht mögli`Fc`fh",
    
0=>"`fN`Fe`hutr`Fa`fl",
    
1=>"`fF`Fr`hied`Fe`fn",
    
2=>"`fB`Fü`hndn`Fi`fs",
    
3=>"`fV`Fe`hrfeind`Fe`ft",
    
3=>"`fK`Fr`hiegszusta`Fn`fd",
  );
  return 
$array;
}

/*
    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 => Frieden
              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)

*/
?>