HAllo helpers ik ben voor de fun bezig met een Bot bezig voor SocialCity op facebook...
Dit werkt allemaal prima tot ik het zelfde script wat werkt wanneer ik hem handmatig uitvoer alleen niet meer wanneer ik hem in een cronjob zet van 6 minuten...
Dus nu vraag wat kan hier een oorzaak van zijn?
Om even het idee te geven wat het moet doen:
Social city is opgebouwt uit districts (1 t/m 9) hier in kan je een stad bouwen en geld verdienen door contracten op fabrieken te zetten...
Het laagste contract duur 5 minuten en hier verdien je ook het meest aan wanneer je ook echt elke 5 minuten klikt.
Dit werkt allemaal prima tot ik het zelfde script wat werkt wanneer ik hem handmatig uitvoer alleen niet meer wanneer ik hem in een cronjob zet van 6 minuten...
Dus nu vraag wat kan hier een oorzaak van zijn?
Om even het idee te geven wat het moet doen:
Social city is opgebouwt uit districts (1 t/m 9) hier in kan je een stad bouwen en geld verdienen door contracten op fabrieken te zetten...
Het laagste contract duur 5 minuten en hier verdien je ook het meest aan wanneer je ook echt elke 5 minuten klikt.
PHP:
<?php
///////////////////////////////////////////////
// BOT BASE
///////////////////////////////////////////////
$Dir = dirname( __FILE__ );
$Dir = substr( $Dir, 0, -5 ). "/";
require( $Dir . "settings.php" );
require( $Dir . "config.php" );
$DB = new Database();
$Curl = new Curl();
$Settings_Sql = $DB->Query("SELECT * FROM `scb_settings` LIMIT 1");
if (isset($Settings_Sql) && $Sql==true)
{
$Settings = $Settings_Sql->fetch_array();
$auth_key = $Settings['auth_key'];
$auth_id = $Settings['auth_id'];
$id_contract = $Settings['contract'];
///////////////////////////////////////////////
// STARTING THE BOT
///////////////////////////////////////////////
//Check if the bot is enabled...
if ($Settings['enabled'] == 0)
{
echo "Bot is not enabled<br/>";
exit();
}
//Starting bot message
echo "Starting the bot...<br/>";
//Set running to 1
$DB->Query( "UPDATE `scb_settings` SET `running`='1', `lastupdate`='?' WHERE `auth_key`='?'", array( time(), $auth_key ) );
///////////////////////////////////////////////
// SELECTING THE DISTRICTS
///////////////////////////////////////////////
echo "Selecting the districts...<br/>";
$District_Sql = $DB->Query("SELECT * FROM `scb_districts` LIMIT 1");
$District = $District_Sql->fetch_array();
//Array Corrigeren omdat hij 10 waardes laat zien ipv 9...
$District_total = count($District)-1;
unset($District[$District_total]);
//Districts ophalen
foreach ($District as $dKey => $dValue)
{
//Corrigeer District ID
$id_district = $dKey+1;
//Status variables
$Stats = Array();
$Stats[$id_district]['harvest'] = 0;
$Stats[$id_district]['expired'] = 0;
$Stats[$id_district]['clean'] = 0;
$Stats[$id_district]['faclean'] = 0;
$Stats[$id_district]['population'] = 0;
$Stats[$id_district]['contracts'] = 0;
if ($dValue == 1)
{
echo "<br/><b>Starting District ".$id_district."</b><br/>";
$Data = @file_get_contents("http://city-fb-apache-active-vip.playdom.com/j/player/buildings?auth_key=".$auth_key."&auth_id=".$auth_id."&id=".$auth_id."&districtId=".$id_district."");
$City = @json_decode($Data);
///////////////////////////////////////////////
// DATA VERWERKEN
///////////////////////////////////////////////
if ( isset($City))
{
foreach ($City->data as $Key => $Value)
{
$UpdateTime=false;
$id_building = $Value->buildingId;
$corner_building = $Value->corner;
//Check if the building exists
$bQuery = $DB->Query("SELECT * FROM `scb_buildings` WHERE `id_building`='". $id_building . "'");
if ($bQuery->num_rows > 0)
{
$bBuilding = $bQuery->fetch_array();
$bType = $bBuilding['type_building'];
$bTime = $bBuilding['waittime_building'];
$bCost = $bBuilding['cost_building'];
$bValue = $bBuilding['add_value'];
//
// KLIK HUIZEN
//
if ($bType == "house")
{
if ( time() >= ($Value -> growthStart + $bTime) )
{
$Curl -> requestPage("http://city-fb-apache-active-vip.playdom.com/j/player/building/reapCivs?auth_key={$auth_key}&auth_id={$auth_id}&corner={$corner_building}&id={$auth_id}&districtId={$id_district}");
$Curl -> Headers['http_code'];
if ($Curl -> Headers['http_code'] == 200)
{
$Stats[$id_district]['population'] += $bValue;
$UpdateTime=true;
} else if ($Curl -> Headers == 500)
{
//Overbevolkt...
} else {
//Gebouw niet klaar...
}
}
}
//
// KLIK LEISURE
//
else if ($bType == "leisure")
{
if( time() >= $Value -> leisureStart + $bTime )
{
$Stats[$id_district]['clean']++;
$UpdateTime=true;
@file_get_contents("http://city-fb-apache-active-vip.playdom.com/j/player/building/leisure/clean?auth_key={$auth_key}&auth_id={$auth_id}&corner={$corner_building}&id={$auth_id}&districtId={$id_district}");
}
}
//
// KLIK FACTORY
//
else if ($bType == "factory")
{
$Harvested = false;
//Fabrieken die klaar zijn harvesten
if( $Value -> playerContract != "" && $Value -> playerContract -> endTime < time() )
{
$Stats[$id_district]['harvest']++;
$UpdateTime=true;
$Harvest=true;
@file_get_contents("http://city-fb-apache-active-vip.playdom.com/j/player/contract/harvest?auth_key={$auth_key}&auth_id={$auth_id}&corner={$corner_building}&id={$auth_id}&districtId={$id_district}");
}
//Fabrieken die niet clean zijn...
if ( $Value -> playerContract != "" && $Value -> playerContract -> endTime < time() )
{
$Stats[$id_district]['expired']++;
$UpdateTime=true;
$Harvest=true;
@file_get_contents("http://city-fb-apache-active-vip.playdom.com/j/player/contract/clean?auth_key={$auth_key}&auth_id={$auth_id}&corner={$corner_building}&id={$auth_id}&districtId={$id_district}");
}
//Fabrieken cleanen
if ( $Value -> state == "dirty" OR $Harvested == true)
{
$Stats[$id_district]['faclean']++;
$UpdateTime=true;
@file_get_contents("http://city-fb-apache-active-vip.playdom.com/j/player/building/clean?auth_key={$auth_key}&auth_id={$auth_id}&corner={$corner_building}&id={$auth_id}&districtId={$id_district}");
}
//Nieuw contract toevoegen
if( $Value -> playerContract == "" OR $Harvested == true )
{
$Stats[$id_district]['contracts']++;
$UpdateTime=true;
@file_get_contents("http://city-fb-apache-active-vip.playdom.com/j/player/contract/new?auth_key={$auth_key}&auth_id={$auth_id}&corner={$corner_building}&contractId={$id_contract}&districtId={$id_district}&id={$auth_id}");
}
}
}
}
} else {
echo"District not available";
}
echo "Contracten opgehaald: " . $Stats[$id_district]['harvest'] . "<br/>";
echo "Contracten Mislukt: " . $Stats[$id_district]['expired'] . "<br/>";
echo "Nieuwe contracten toegevoegt: " . $Stats[$id_district]['contracts'] . "<br/>";
echo "Huizen schoongemaakt: " . $Stats[$id_district]['clean'] . "<br/>";
echo "Fabrieken schoongemaakt: " . $Stats[$id_district]['faclean'] . "<br/>";
echo "Populatie groei: " . $Stats[$id_district]['population'] . "<br/>";
$DB->Query("UPDATE `scb_statics`
SET
`population` = `population`+".$Stats[$id_district]['population'].",
`contracts` = `contracts`+".$Stats[$id_district]['contracts'].",
`faclean` = `faclean`+".$Stats[$id_district]['faclean'].",
`harvest` = `harvest`+".$Stats[$id_district]['harvest'].",
`expired` = `expired`+".$Stats[$id_district]['expired'].",
`clean` = `clean`+".$Stats[$id_district]['clean']."
WHERE
`id_district` = '".$id_district."'");
}
}
///////////////////////////////////////////////
// STOP THE BOT AND SHOW STATS
///////////////////////////////////////////////
$DB->Query("UPDATE `scb_settings` SET `running` = '0' WHERE `auth_key` = '".$auth_key."'");
}
Laatst bewerkt door een moderator: