Avoid guildpushing
Code:
--
-- Tabellenstruktur für Tabelle `game_settings`
--
CREATE TABLE IF NOT EXISTS `game_settings` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`setting` varchar(255) NOT NULL,
`value` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=31 ;
--
-- Daten für Tabelle `game_settings`
--
INSERT INTO `game_settings` (`id`, `setting`, `value`) VALUES
(30, 'GUILD_S_MINLEVEL', '100');
Controlpage
PHP Code:
<?php
// Project: S&F Teamcontroll-Center
// Author: Coder
// Date: 20.06.
// You are allowed to modify and/or redistribute any part of this
require_once("backend/main.php");
dbconn();
loggedinorreturn();
stdhead("minlevel");
//check for permission
if(get_perm() < UC_ADMIN)
{
echo "GTFO!";
stdfoot();
die();
}
// request
if(isset($_POST["level"]))
{
$nval = sqlesc($_POST["level"]);
mysql_query("UPDATE game_settings SET value = " . $nval . " WHERE setting = 'GUILD_S_MINLEVEL'");
echo "Success and refresh";
?>
<meta http-equiv="refresh" content="0; URL=<?=$_SERVER["PHP_SELF"] ?>">
<?php
}
else
{
// setting level
$sql = "SELECT value FROM game_settings WHERE setting = 'GUILD_S_MINLEVEL' LIMIT 1";
$qry = mysql_query($sql);
$arr = mysql_fetch_array($qry);
$minlevel = $arr["value"];
?>
<form action="<?=$_SERVER["PHP_SELF"] ?>" method="post" enctype="multipart/form-data" target="_self">
<table align="left" border="0" cellpadding="4" cellspacing="1" class="tableinborder" summary="none" width="300px">
<tr>
<td align="left" class="tablecat">Mindestlevel for guildspending</td>
</tr>
<tr>
<td align="left" class="tableb"><b>Level:</b> <input type="text" name="level" size="4" value="<?=$minlevel?>"> (press enter)</td>
</tr>
</table>
</form>
<?php
}
stdfoot();
?>
go to settings.php
add
PHP Code:
<br><br><a href="guildminlevel.php">Mindestlevel for guildspending</a></td>
New act donate
PHP Code:
case $ACT_GUILD_DONATE :
$in = explode ( ';', $action_extra );
$donation = array (
'silver' => 0,
'mushroom' => 0
);
if ($in [0] == 1)
{
$donation ['silver'] = ( int ) $in [1];
}
else
{
$donation ['mushroom'] = ( int ) $in [1];
// $ret = array($ERR_GUILD_MUSH_FREE);
// break;
}
// Avoid Pushaccounts 20.06. ACP-Integration
$qry = $GLOBALS ['db']->prepare ( "SELECT value FROM game_settings WHERE setting = 'GUILD_S_MINLEVEL' LIMIT 1" );
$qry->execute ();
$res = $qry->fetchAll ( PDO::FETCH_ASSOC );
// DB -> Var
$minlevel = $res [0] ['value'];
// get gold and mush of donor
// +level for levelcheck 20.06.
// user_data.lvl AS level
$qry = $db->prepare ( "SELECT user_data.lvl AS level, user_data.silver AS silver, user_data.mushroom AS mushroom,
user_data.guild_id, guilds.silver AS gsilver, guilds.mushroom AS gmushroom
FROM user_data
LEFT JOIN guilds ON user_data.guild_id = guilds.guild_id
WHERE ssid = :ssid" );
$qry->bindParam ( ':ssid', $SSID );
$qry->execute ();
$db_data = $qry->fetchAll ();
$db_data = $db_data [0];
// Jessis Guildcheat Fix
if($donation ['silver'] <= 0)
$donation ['silver'] = 0;
if($donation ['mushroom'] <= 0)
$donation ['mushroom'] = 0;
// end of GC
// if not enought gold
if ($db_data ['silver'] < $donation ['silver'])
{
$ret = array (
$ERR_TOO_EXPENSIVE
);
break;
}
// Avoid Pushaccounts 20.06.
if ($db_data ['level'] < $minlevel)
{
$ret = array (
$ERR_MSG_LEVEL_TOO_LOW
);
break;
}
// if not enought silver
if ($db_data ['mushroom'] < $donation ['mushroom']) {
$ret = array (
$ERR_GUILD_LACK_MUSH
);
break;
}
// Avoid Pushaccounts 20.06.
if($minlevel <= $db_data ['level'])
{
// transfer gold && mushroom
$db_data ['silver'] = $db_data ['silver'] - $donation ['silver'];
$db_data ['mushroom'] = $db_data ['mushroom'] - $donation ['mushroom'];
$db_data ['gsilver'] = $db_data ['gsilver'] + $donation ['silver'];
$db_data ['gmushroom'] = $db_data ['gmushroom'] + $donation ['mushroom'];
// update database
$qry = $db->prepare ( "UPDATE user_data
SET silver = :silver,
mushroom = :shroom,
g_silverspent = g_silverspent + :dsilver,
g_mushroomspent = g_mushroomspent + :dmush
WHERE ssid = :ssid" );
$qry->bindParam ( ':ssid', $SSID );
$qry->bindParam ( ':silver', $db_data ['silver'] );
$qry->bindParam ( ':shroom', $db_data ['mushroom'] );
$qry->bindParam ( ':dsilver', $donation ['silver'] );
$qry->bindParam ( ':dmush', $donation ['mushroom'] );
$qry->execute ();
$qry = $db->prepare ( "UPDATE guilds SET
silver = :silver,
mushroom = :shroom
WHERE guild_id = :gid" );
$qry->bindParam ( ':gid', $db_data ['guild_id'] );
$qry->bindParam ( ':silver', $db_data ['gsilver'] );
$qry->bindParam ( ':shroom', $db_data ['gmushroom'] );
$qry->execute ();
}
// var_dump($qry -> errorInfo());
// response
loadDefaultData ();
$ret [0] = $RESP_GUILD_DONATE_SUCCESS . $ret [0];
break;
Go to languagefile and change the displayed error
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]