[Помощь]Выполнение

Статус
В этой теме нельзя размещать новые ответы.

Squoll2

Постоялец
Регистрация
2 Июн 2009
Сообщения
80
Реакции
15
Доброго времени суток помогите подправить скрипт чтоб при прямом вызове его через ссылку Для просмотра ссылки Войди или Зарегистрируйся срабатывал следущий скрипт.
PHP:
		$result_job = mysql_query("SELECT * FROM `jobs` WHERE `id`='".$updates_user->job."'");
		$worked_job = mysql_fetch_array($result_job);
		$newmoney = $newmoney + $worked_job['money'];
		Send_Event($updates_user->id, "You earned $".$worked_job['money']." from your job. You now have $".$newmoney);
Заранее благодарю
 
Нечего тут править. Похоже этот кусок вырван из контекста. Вот и сам контекст надо принести.

Очевидно что тут надо добавить коннект к мускулю.
А вот откуда берутся $newmoney,$updates_user,Send_Event вообще непонятно.

Тем более выполнение напрямую лишено смысла.

Неправильно подходишь к задаче. проще имя базу, выбрать пару полей и показать результат юзеру. И написать это с нуля в несколько строк.
 
PHP:
<?
include 'dbcon.php';
include 'classes.php';
include 'antisql.php';
$resultgrow = mysql_query("SELECT * FROM `growing`");
while($line = mysql_fetch_array($resultgrow, MYSQL_ASSOC)) {
	$lost = floor(rand(0, $line['amount'] * 5));
	if ($lost != 0){
		$newamount = $line['cropamount'] - $lost;
		Send_Event($line['userid'], $lost." of your ".$line['croptype']." plants have died. Crop ID:".$line['id']);
	}
	
	$resultgrowupdate = mysql_query("UPDATE `growing` SET `cropamount` = '".$newamount."' WHERE `id` = '".$line['id']."'");
}

//delete rows that are empty and give back land to owner
$resultgrow = mysql_query("SELECT * FROM `growing`");
while($line = mysql_fetch_array($resultgrow, MYSQL_ASSOC)) {
	if ($line['cropamount'] == 0){
		Give_Land($line['cityid'], $line['userid'], $line['amount']);
		$result = mysql_query("DELETE FROM `growing` WHERE `id`='".$line['id']."'");
	}
}


//$result2 = mysql_query("DELETE FROM `spylog` WHERE `age` < ".time() - 172800);// clear out old spy log stuff

$deletechat = mysql_query("DELETE FROM `message`");

// Lottery Stuff
$checklotto = mysql_query("SELECT * FROM `lottery`");
$numlotto = mysql_num_rows($checklotto);
$amountlotto = $numlotto * 750;

$offset_result = mysql_query( " SELECT FLOOR(RAND() * COUNT(*)) AS `offset` FROM `lottery` ");
$offset_row = mysql_fetch_object( $offset_result );
$offset = $offset_row->offset;
$result = mysql_query( " SELECT * FROM `lottery` LIMIT $offset, 1 " );
$worked = mysql_fetch_array($result);

$winner = $worked['userid'];

$lottery_user = new User($worked['userid']);
$newmoney = $lottery_user->money + $amountlotto;;
Send_Event($lottery_user->id, "You won the lottery! Congratulations, you won $".$amountlotto);
$result2 = mysql_query("UPDATE `grpgusers` SET `money` = '".$newmoney."' WHERE `id` = '".$lottery_user->id."'");
$result2 = mysql_query("DELETE FROM `lottery`");
// Lottery Stuff

$result = mysql_query("SELECT * FROM `grpgusers`");
while($line = mysql_fetch_assoc($result)) {
	$updates_user = new User($line['id']);
	$newmoney = $updates_user->money;
	$username = $updates_user->username;
	$newrmdays = $updates_user->rmdays - 1;
	$newrmdays = ($newrmdays < 0) ? 0 : $newrmdays;
	if($newrmdays > 1) {
		$interest = .04;
	} else {
		$interest = .02;
	}
	$newbank = ceil($updates_user->bank + ($updates_user->bank * $interest));
	if($updates_user->job != 0){
		$result_job = mysql_query("SELECT * FROM `jobs` WHERE `id`='".$updates_user->job."'");
		$worked_job = mysql_fetch_array($result_job);
		$newmoney = $newmoney + $worked_job['money'];
		Send_Event($updates_user->id, "You earned $".$worked_job['money']." from your job. You now have $".$newmoney);
	}

	// hooker stuff
	if($updates_user->hookers > 0){
		$newmoney = $newmoney + (300 * $updates_user->hookers);
		Send_Event($updates_user->id, "You earned $".($updates_user->hookers * 300)." from your hookers. You now have $".$newmoney);
	}
	//hooker stuff
	$result2 = mysql_query("UPDATE `grpgusers` SET `money` = '".$newmoney."', `rmdays` = '".$newrmdays."', `bank` = '".$newbank."', `searchdowntown` = '100' WHERE `username` = '".$username."'");
}
?>

вот этот скрипт выполняется раз в день а те строчки мне нужно чтобы выполнялись раз в час
 
PHP:
include 'dbcon.php';
include 'classes.php';
include 'antisql.php'; 
$result_job = mysql_query("SELECT * FROM `jobs` WHERE `id`='".$updates_user->job."'");
$worked_job = mysql_fetch_array($result_job);
$newmoney = $newmoney + $worked_job['money'];
Send_Event($updates_user->id, "You earned $".$worked_job['money']." from your job. You now have $".$newmoney);
Все будет работать с точки зрения синтаксиса.Но...
$newmoney видимо где-то обнуляется)))
В твоем втором скрипте $newmoney служит временной переменной чтобы показать пользователю сколько него money.

А здесь $newmoney только накапливается
PHP:
$newmoney = $newmoney + $worked_job['money'];

поищи может эта переменная есть в classes.php или antisql.php
или не дай Бог в dbcon.php
 
$newmoney = $updates_user->money;
и берётся из updates.php
 
если берется из updates.php, то нужно и подключать этот класс или модуль (что там у вас я не знаю)... на святом духе эта переменная обрабатываться не будет:
PHP:
include_once 'updates.php';
Хотя надо код смотреть в савокупности, так сложно сказать что где и как взаимосвязано!
 
Ну вот два файла classes и updates
classes.php
PHP:
<?php
function Get_ID($username){
	$result = mysql_query("SELECT * FROM `grpgusers` WHERE `username` = '".$username."'");
	$worked = mysql_fetch_array($result);
	return $worked['id'];
}

function mrefresh($url, $time="1"){
	echo '<meta http-equiv="refresh" content="'.$time.';url='.$url.'">';
}

function car_popup($text, $id) {
	return  "<a href='#' onclick=\"javascript:window.open( 'cardesc.php?id=".$id."', '60', 'left = 20, top = 20, width = 400, height = 400, toolbar = 0, resizable = 0, scrollbars=1' );\">".$text."</a>";
}

function item_popup($text, $id) {
	return  "<a href='#' onclick=\"javascript:window.open( 'description.php?id=".$id."', '60', 'left = 20, top = 20, width = 400, height = 400, toolbar = 0, resizable = 0, scrollbars=1' );\">".$text."</a>";
}

function prettynum($num,$dollar="0") {
// Basic send a number or string to this and it will add commas. If you want a dollar sign added to the
// front and it is a number add a 1 for the 2nd variable.
// Example prettynum(123452838,1)  will return $123,452,838 take out the ,1 and it looses the dollar sign.
        $out=strrev( (string)preg_replace( '/(\d{3})(?=\d)(?!\d*\.)/', '$1,' , strrev( $num ) ) );
		if ($dollar && is_numeric($num)){
			$out= "$".$out;
		}
	return $out;
}

function Check_Item($itemid, $userid){
	$result = mysql_query("SELECT * FROM `inventory` WHERE `userid`='$userid' AND `itemid`='$itemid'");
	$worked = mysql_fetch_array($result);
	
	if($worked['quantity'] > 0){
		return $worked['quantity'];
	} else {
		return 0;
	}
}

function Check_Land($city, $userid){
	$result = mysql_query("SELECT * FROM `land` WHERE `userid`='".$userid."' AND `city`='".$city."'");
	$worked = mysql_fetch_array($result);
		
	if($worked['quantity'] > 0){
		return $worked['quantity'];
	} else {
		return 0;
	}
}
//userid	companyid	howmany
function Give_Share($stock, $userid, $quantity="1"){
	$result = mysql_query("SELECT * FROM `shares` WHERE `userid`='".$userid."' AND `companyid`='".$stock."'");
	$worked = mysql_fetch_array($result);
	$itemexist = mysql_num_rows($result);
	
	if($itemexist == 0){
		$result= mysql_query("INSERT INTO `shares` (`companyid`, `userid`, `amount`)"."VALUES ('$stock', '$userid', '$quantity')");
	} else {
		$quantity = $quantity + $worked['amount'];
		$result = mysql_query("UPDATE `shares` SET `amount` = '".$quantity."' WHERE `userid`='$userid' AND `companyid`='$stock'");
	}
}

function Take_Share($stock, $userid, $quantity="1"){
	$result = mysql_query("SELECT * FROM `shares` WHERE `userid`='".$userid."' AND `companyid`='".$stock."'");
	$worked = mysql_fetch_array($result);
	$itemexist = mysql_num_rows($result);
	
	if($itemexist != 0){
		$quantity = $worked['amount'] - $quantity;
		if($quantity > 0){
			$result = mysql_query("UPDATE `shares` SET `amount` = '".$quantity."' WHERE `userid`='$userid' AND `companyid`='$stock'");
		} else {
			$result = mysql_query("DELETE FROM `shares` WHERE `userid`='$userid' AND `companyid`='$stock'");
		}
	}
}
	

function Check_Share($stock, $userid){
	$result = mysql_query("SELECT * FROM `shares` WHERE `userid`='".$userid."' AND `companyid`='".$stock."'");
	$worked = mysql_fetch_array($result);
		
	if($worked['amount'] > 0){
		return $worked['amount'];
	} else {
		return 0;
	}
}

function Give_Land($city, $userid, $quantity="1"){
	$result = mysql_query("SELECT * FROM `land` WHERE `userid`='".$userid."' AND `city`='".$city."'");
	$worked = mysql_fetch_array($result);
	$itemexist = mysql_num_rows($result);
	
	if($itemexist == 0){
		$result= mysql_query("INSERT INTO `land` (`city`, `userid`, `amount`)"."VALUES ('$city', '$userid', '$quantity')");
	} else {
		$quantity = $quantity + $worked['amount'];
		$result = mysql_query("UPDATE `land` SET `amount` = '".$quantity."' WHERE `userid`='$userid' AND `city`='$city'");
	}
}

function Take_Land($city, $userid, $quantity="1"){
	$result = mysql_query("SELECT * FROM `land` WHERE `userid`='".$userid."' AND `city`='".$city."'");
	$worked = mysql_fetch_array($result);
	$itemexist = mysql_num_rows($result);
	
	if($itemexist != 0){
		$quantity = $worked['amount'] - $quantity;
		if($quantity > 0){
			$$result = mysql_query("UPDATE `land` SET `amount` = '".$quantity."' WHERE `userid`='$userid' AND `city`='$city'");
		} else {
			$result = mysql_query("DELETE FROM `land` WHERE `userid`='$userid' AND `city`='$city'");
		}
	}
}
	
function Give_Item($itemid, $userid, $quantity="1"){
	$result = mysql_query("SELECT * FROM `inventory` WHERE `userid`='$userid' AND `itemid`='$itemid'");
	$worked = mysql_fetch_array($result);
	$itemexist = mysql_num_rows($result);
	
	if($itemexist == 0){
		$result= mysql_query("INSERT INTO `inventory` (`itemid`, `userid`, `quantity`)"."VALUES ('$itemid', '$userid', '$quantity')");
	} else {
		$quantity = $quantity + $worked['quantity'];
		$result = mysql_query("UPDATE `inventory` SET `quantity` = '".$quantity."' WHERE `userid`='$userid' AND `itemid`='$itemid'");
	}
}

function Take_Item($itemid, $userid, $quantity="1"){
	$result = mysql_query("SELECT * FROM `inventory` WHERE `userid`='$userid' AND `itemid`='$itemid'");
	$worked = mysql_fetch_array($result);
	$itemexist = mysql_num_rows($result);
	
	if($itemexist != 0){
		$quantity = $worked['quantity'] - $quantity;
		if($quantity > 0){
			$result = mysql_query("UPDATE `inventory` SET `quantity` = '".$quantity."' WHERE `userid`='$userid' AND `itemid`='$itemid'");
		} else {
			$result = mysql_query("DELETE FROM `inventory` WHERE `userid`='$userid' AND `itemid`='$itemid'");
		}
	}
}


function Message($text){

	return '<tr><td class="contenthead">.: <font color=red>Важное сообщение</font></td></tr>

<tr><td class="contentcontent">'.$text.'</td></tr>';

}



function Send_Event ($id, $text){

  $timesent = time();

  $result= mysql_query("INSERT INTO `events` (`to`, `timesent`, `text`)".

  "VALUES ('$id', '$timesent', '$text')");

}



function Is_User_Banned ($id) {

	$result = mysql_query("SELECT * FROM `bans` WHERE `id`='$id'");

    return mysql_num_rows($result);

}

function Why_Is_User_Banned ($id) {

	$result = mysql_query("SELECT * FROM `bans` WHERE `id`='$id'");

    $worked = mysql_fetch_array($result);

    return $worked['reason'];

}

function Radio_Status () {

	$result = mysql_query("SELECT * FROM `serverconfig`");

    $worked = mysql_fetch_array($result);

    return $worked['radio'];

}



function howlongago($ts) {
   $ts=time()-$ts;
   if ($ts<1)
       // <1 second
       return " Сейчас";
   elseif ($ts==1)
       // <1 second
       return $ts." секунда";
   elseif ($ts<60)
       // <1 minute
       return $ts." секунд";
	 elseif ($ts<120)
       // 1 minute
      return "1 minute";
    
	 elseif ($ts<60*60)
       // <1 hour
       return floor($ts/60)." минут";
   elseif ($ts<60*60*2)
       // <2 hour
       return "1 hour";
     elseif ($ts<60*60*24)
       // <24 hours = 1 день
       return floor($ts/(60*60))." часов";
     elseif ($ts<60*60*24*2)
       // <2 days
       return "1 день";
     elseif ($ts<(60*60*24*7))
       // <7 days = 1 неделя
         return floor($ts/(60*60*24))." дней";
   elseif ($ts<60*60*24*30.5)
       // <30.5 days ~  1 month
       return floor($ts/(60*60*24*7))." недель";
     elseif ($ts<60*60*24*365)
       // <365 days = 1 year
       return floor($ts/(60*60*24*30.5))." месяцев";
   else
       // more than 1 year
       return floor($ts/(60*60*24*365))." годов";
};

function howlongtil($ts) {
   $ts=$ts - time();
   if ($ts<1)
       // <1 second
       return " Сейчас";
   elseif ($ts==1)
       // <1 second
       return $ts." секунда";
   elseif ($ts<60)
       // <1 minute
       return $ts." секунд";
	 elseif ($ts<120)
       // 1 minute
      return "1 минута";
    
	 elseif ($ts<60*60)
       // <1 hour
       return floor($ts/60)." минут";
   elseif ($ts<60*60*2)
       // <2 hour
       return "1 час";
     elseif ($ts<60*60*24)
       // <24 hours = 1 day
       return floor($ts/(60*60))." часов";
     elseif ($ts<60*60*24*2)
       // <2 days
       return "1 день";
     elseif ($ts<(60*60*24*7))
       // <7 days = 1 week
         return floor($ts/(60*60*24))." дней";
   elseif ($ts<60*60*24*30.5)
       // <30.5 days ~  1 month
       return floor($ts/(60*60*24*7))." недель";
     elseif ($ts<60*60*24*365)
       // <365 days = 1 year
       return floor($ts/(60*60*24*30.5))." месяцев";
   else
       // more than 1 year
       return floor($ts/(60*60*24*365))." годов";
};



//level 2 - 500

//level 3 - 1500

//level 4 - 3500

//level 5 - 6000





function experience($L) {

  $a=0;

  $end=0;

  for($x=1; $x<$L; $x++) {

    $a += floor($x+1500*pow(4, ($x/7)));

  }

  return floor($a/4);

}



function Get_The_Level($exp) {

  $a=0;

  $end =0;

  for($x=1; ($end==0 && $x<100); $x++) {

    $a += floor($x+1500*pow(4, ($x/7)));

    if ($exp >= floor($a/4)){

	} else {
	
	  return $x;

	  $end=1;

	}

  }

}



function Get_Max_Exp($L){

$end=0;

 if ($exp == 0){

	return 457;

	$end =1;

  }

	for($L=1;($L<100 && $end==0);$L++) {

	  $exp = experience($L);

	  //echo $exp;

	  if ($exp >= $user_class->exp){

		return $exp;

		$end=1;

	  }

	}

}



class User_Stats {

 function User_Stats($wutever){

	$result = mysql_query("SELECT * FROM `grpgusers` ORDER BY `username` ASC");

	$result3 = mysql_query("SELECT * FROM `grpgusers` ORDER BY `username` ASC");



		while($line = mysql_fetch_array($result, MYSQL_ASSOC)) {

			$secondsago = time()-$line['lastactive'];

			if ($secondsago<=300) {

				$this->playersloggedin++;

			}

		}



		while($line3 = mysql_fetch_array($result3, MYSQL_ASSOC)) {

			$secondsago = time()-$line3['lastactive'];

			if ($secondsago<=86400) {

				$this->playersonlineinlastday++;

			}

		}

	$result2 = mysql_query("SELECT * FROM `grpgusers`");

	$this->playerstotal = mysql_num_rows($result2);

  }

}





class Gang{

 	function Gang($id) {

    $result = mysql_query("SELECT * FROM `gangs` WHERE `id`='$id'");

    $worked = mysql_fetch_array($result);

    $gangcheck = mysql_query("SELECT * FROM `grpgusers` WHERE `gang`='".$id."'");



	$this->id = $worked['id'];

	$this->members = mysql_num_rows($gangcheck);

	$this->name = $worked['name'];

	$this->formattedname = "<a href='viewgang.php?id=".$worked['id']."'>".$worked['name']."</a>";

	$this->description = $worked['description'];

	$this->leader = $worked['leader'];

	$this->tag = $worked['tag'];

	$this->exp = $worked['exp'];

	$this->level = Get_The_Level($this->exp);

	$this->vault = $worked['vault'];

	$gangcheck = mysql_query("SELECT * FROM `grpgusers` WHERE `gang`='".$line['id']."'");

	$members = mysql_num_rows($gangcheck);



	}



}







class User {

  function User($id) {

    $result = mysql_query("SELECT * FROM `grpgusers` WHERE `id`='$id'");

    $worked = mysql_fetch_array($result);

	$result2 = mysql_query("SELECT * FROM `gangs` WHERE `id`='".$worked['gang']."'");

    $worked2 = mysql_fetch_array($result2);

	$result3 = mysql_query("SELECT * FROM `cities` WHERE `id`='".$worked['city']."'");

    $worked3 = mysql_fetch_array($result3);

   	$result4 = mysql_query("SELECT * FROM `houses` WHERE `id`='".$worked['house']."'");

    $worked4 = mysql_fetch_array($result4);

	$result5 = mysql_query("SELECT * FROM `inventory` WHERE `userid` = '".$id."' ORDER BY `userid` DESC");

	$checkcocaine = mysql_query("SELECT * FROM `effects` WHERE `userid`='".$id."' AND `effect`='Cocaine'");

	$cocaine = mysql_num_rows($checkcocaine);

	$speedbonus = ($cocaine > 0) ? (floor($worked['speed'] * .30)) : 0;

	$this->weaponoffense = 0;
	$this->weaponname = "кулаки";
	$this->armordefense = 0;
	if($worked["eqweapon"] != 0){
		$result6 = mysql_query("SELECT * FROM `items` WHERE `id`='".$worked['eqweapon']."' LIMIT 1");
		$worked6 = mysql_fetch_array($result6);
		$this->eqweapon = $worked6['id'];
		$this->weaponoffense = $worked6['offense'];
		$this->weaponname = $worked6['itemname'];
		$this->weaponimg = $worked6['image'];
	}
	if($worked["eqarmor"] != 0){
		$result6 = mysql_query("SELECT * FROM `items` WHERE `id`='".$worked['eqarmor']."' LIMIT 1");
		$worked6 = mysql_fetch_array($result6);
		$this->eqarmor = $worked6['id'];
		$this->armordefense = $worked6['defense'];
		$this->armorname = $worked6['itemname'];
		$this->armorimg = $worked6['image'];
	}

	$this->moddedstrength = $worked['strength'] * ($this->weaponoffense * .01 + 1);

	$this->moddeddefense = $worked['defense'] * ($this->armordefense * .01 + 1);



	$this->id = $worked['id'];

	$this->ip = $worked['ip'];

	$this->style = ($worked['style'] > 0) ? $worked['style'] : "1";

	$this->speedbonus = $speedbonus;

	$this->username = $worked['username'];
	
	$this->marijuana = $worked['marijuana'];
	
	$this->potseeds = $worked['potseeds'];

	$this->cocaine = $worked['cocaine'];

	$this->nodoze = $worked['nodoze'];

	$this->genericsteroids = $worked['genericsteroids'];

	$this->hookers = $worked['hookers'];

	$this->exp = $worked['exp'];

	$this->level = Get_The_Level($this->exp);

	$this->maxexp = experience($this->level +1);

	$this->exppercent = ($this->exp == 0) ? 0 : floor(($this->exp / $this->maxexp) * 100);

	$this->formattedexp = $this->exp." / ".$this->maxexp." [".$this->exppercent."%]";

	$this->money = $worked['money'];

	$this->bank = $worked['bank'];
	$this->gold = $worked['gold'];

	$this->whichbank = $worked['whichbank'];

	$this->hp = $worked['hp'];

	$this->maxhp = $this->level * 50;

	$this->hppercent = floor(($this->hp / $this->maxhp) * 100);

	$this->formattedhp = $this->hp." / ".$this->maxhp." [".$this->hppercent."%]";

	$this->energy = $worked['energy'];

	$this->maxenergy = 9 + $this->level;

	$this->energypercent = floor(($this->energy / $this->maxenergy) * 100);

	$this->formattedenergy = $this->energy." / ".$this->maxenergy." [".$this->energypercent."%]";

	$this->nerve = $worked['nerve'];

	$this->maxnerve = 4 + $this->level;

	$this->nervepercent = floor(($this->nerve / $this->maxnerve) * 100);

	$this->formattednerve = $this->nerve." / ".$this->maxnerve." [".$this->nervepercent."%]";

	$this->workexp = $worked['workexp'];

	$this->strength = $worked['strength'];

	$this->defense = $worked['defense'];
	$this->heal = $worked['heal'];	

	$this->speed = $worked['speed'] + $speedbonus;

	$this->totalattrib = $this->speed + $this->strength + $this->defense;

	$this->battlewon = $worked['battlewon'];

	$this->battlelost = $worked['battlelost'];

	$this->battletotal = $this->battlewon + $this->battlelost;

	$this->battlemoney = $worked['battlemoney'];

	$this->crimesucceeded = $worked['crimesucceeded'];

	$this->crimefailed = $worked['crimefailed'];

	$this->crimetotal = $this->crimesucceeded + $this->crimefailed;

	$this->crimemoney = $worked['crimemoney'];

	$this->lastactive = $worked['lastactive'];

	$this->age = howlongago($worked['signuptime']);

	$this->formattedlastactive = howlongago($this->lastactive) . " назад";

	$this->points = $worked['points'];

	$this->rmdays = $worked['rmdays'];

	$this->signuptime = $worked['signuptime'];

	$this->lastactive = $worked['lastactive'];

	$this->house = $worked['house'];

	$this->hookers = $worked['hookers'];

	$this->housename = ($worked4['name'] == "") ? "Бездомный" : $worked4['name'];

	$this->houseawake = ($worked4['name']== "") ? 100 : $worked4['awake'];

	$this->awake = $worked['awake'];

	$this->maxawake = $this->houseawake;

	$this->awakepercent = floor(($this->awake / $this->maxawake) * 100);

	$this->formattedawake = $this->awake." / ".$this->maxawake." [".$this->awakepercent."%]";

	$this->email = $worked['email'];

	$this->house = $worked['house'];

	$this->admin = $worked['admin'];

	$this->quote = $worked['quote'];
	
	$this->avatar = $worked['avatar'];

	$this->gang = $worked['gang'];

	$this->gangname = $worked2['name'];

	$this->gangleader = $worked2['leader'];

	$this->gangtag = $worked2['tag'];

	$this->gangdescription = $worked2['description'];

	$this->formattedgang = "<a href='viewgang.php?id=".$this->gang."'>".$this->gangname."</a>";

	$this->city = $worked['city'];

	$this->cityname = $worked3['name'];

	$this->jail = $worked['jail'];

	$this->job = $worked['job'];

	$this->hospital = $worked['hospital'];

	$this->searchdowntown = $worked['searchdowntown'];



	if ($this->gang != 0){

		$this->formattedname .= "<a href='viewgang.php?id=".$this->gang."'";

		$this->formattedname .= ($this->gangleader == $this->username) ? " title='Лидер клана'>[<b>".$this->gangtag."</b>]</a>" : ">[".$this->gangtag."]</a>";

	}

	if ($this->rmdays != 0){

	 	$this->type = "ВИП";

		$whichfont = "green";

	} else {

	 	$this->type = "Гангстер";

	}

	if ($this->admin == 1) {

		$this->type = "Админ";

		$whichfont = "blue";

	}

	if ($this->admin == 2) {

		$this->type = "Персонал";

	}

	if ($this->admin == 3) {

		$this->type = "Президент";

		$whichfont = "red";

	}

	if ($this->admin == 4) {

		$this->type = "Конгресмен";

		$whichfont = "red";

	}

	if ($this->rmdays > 0){

		$this->formattedname .= "<b><a title='ВИП [".$this->rmdays." осталось дней]' href='profiles.php?id=".$this->id."'><font color = '".$whichfont."'>".$this->username."</a></font></b>";

	} elseif ($this->admin != 0) {

		$this->formattedname .= "<b><a href='profiles.php?id=".$this->id."'><font color = '".$whichfont."'>".$this->username."</a></font></b>";

	} else {

		$this->formattedname .= "<a href='profiles.php?id=".$this->id."'><font color = '".$whichfont."'>".$this->username."</a></font>";

	}

	if (time() - $this->lastactive < 300) {

		$this->formattedonline= "<font style='color:green;padding:2px;font-weight:bold;'>[онлайн]</font>";

	} else {

		$this->formattedonline= "<font style='color:red;padding:2px;font-weight:bold;'>[нету]</font>";

	}

  }

}

/*

$result2 = mysql_query("SELECT * FROM `gangs` WHERE `id`='$gang'");

$worked2 = mysql_fetch_array($result2);

$gangname = $worked2['name'];

$gangleader = $worked2['leader'];

*/

?>
updates.php
PHP:
<?

//Updates

$updates_sql = mysql_query("SELECT * FROM `updates` WHERE `name` = 'trevor'");

while ($line = mysql_fetch_array($updates_sql, MYSQL_ASSOC)) {

	$update = $line['lastdone'];

}

$timesinceupdate = time() - $update;

if ($timesinceupdate>=300) {

	$num_updates = floor($timesinceupdate / 300);

	//stock market stuff
	$result = mysql_query("SELECT * FROM `stocks`");
	while($line = mysql_fetch_assoc($result)) {
		$amount = rand (strlen($line['cost']) * -1, strlen($line['cost']));
		$newamount = $line['cost'] + $amount;
		if ($newamount < 1){
			$newamount = 1;
		}
		$result2 = mysql_query("UPDATE `stocks` SET `cost`='".$newamount."' WHERE `id`='".$line['id']."'");
	}
	//stock market stuff

	$result = mysql_query("SELECT * FROM `grpgusers`");

	while($line = mysql_fetch_assoc($result)) {

		$updates_user = new User($line['id']);

		if ($updates_user->rmdays > 0) {

			$multiplier = 2;

		} else {

			$multiplier = 1;

		}

		$username = $updates_user->username;

		$newawake = $updates_user->awake + (5 * $num_updates) * $multiplier;

		$newawake = ($newawake > $updates_user->maxawake) ? $updates_user->maxawake : $newawake;

		$newhp = $updates_user->hp + (10 * $num_updates) * $multiplier;

		$newhp = ($newhp > $updates_user->maxhp) ? $updates_user->maxhp : $newhp;

		$newenergy = $updates_user->energy + (2 * $num_updates) * $multiplier;

		$newenergy = ($newenergy > $updates_user->maxenergy) ? $updates_user->maxenergy : $newenergy;

		$newnerve = $updates_user->nerve + (2 * $num_updates) * $multiplier;

		$newnerve = ($newnerve > $updates_user->maxnerve) ? $updates_user->maxnerve : $newnerve;

		$result2 = mysql_query("UPDATE `grpgusers` SET `awake` = '".$newawake."', `energy` = '".$newenergy."', `nerve` = '".$newnerve."', `hp` = '".$newhp."' WHERE `username` = '".$username."'");

	}

	//update the timer and db

	$thetime = time();

	$result2 = mysql_query("UPDATE `updates` SET `lastdone` = '".$thetime."' WHERE `name` = 'trevor'");

	$leftovertime = $timesinceupdate - (floor($timesinceupdate / 300) * 300);

	if ($leftovertime>0) {

		$newupdate =  time() - $leftovertime;

		$setleftovertime = mysql_query("UPDATE `updates` SET `lastdone` = '".$newupdate."' WHERE `name` = 'trevor'");

	}

}









$updates_sql = mysql_query("SELECT * FROM `updates` WHERE `name` = 'hospital'");

while ($line = mysql_fetch_array($updates_sql, MYSQL_ASSOC)) {

	$update = $line['lastdone'];

}

$timesinceupdate = time() - $update;

if ($timesinceupdate>=60) {

	$num_updates = floor($timesinceupdate / 60);

	$result = mysql_query("SELECT * FROM `grpgusers`");

	//DO STUFF

	while($line = mysql_fetch_assoc($result)) {

		$result_user = mysql_query("SELECT * FROM `grpgusers` WHERE `id`='".$line['id']."'");

		$updates_user = mysql_fetch_array($result_user);

		

		$newhospital = $updates_user['hospital'] - (60 * $num_updates);

		$newhospital = ($newhospital < 0) ? 0 : $newhospital;

		$newjail = $updates_user['jail'] - (60 * $num_updates);

		$newjail = ($newjail < 0) ? 0 : $newjail;

		$result2 = mysql_query("UPDATE `grpgusers` SET `hospital` = '".$newhospital."', `jail` = '".$newjail."' WHERE `id` = '".$line['id']."'");

	}

	

	$result = mysql_query("SELECT * FROM `effects`");

	while($line = mysql_fetch_assoc($result)) {

		if($line['timeleft'] > 0){

		$newamount = $line['timeleft'] - (1 * $num_updates);

		$result2 = mysql_query("UPDATE `effects` SET `timeleft` = '".$newamount."' WHERE `id` = '".$line['id']."'");

		}

	}

	$result2 = mysql_query("DELETE FROM `effects` WHERE `timeleft` < 1");

	

	//update the timer and db

	$thetime = time();

	$result2 = mysql_query("UPDATE `updates` SET `lastdone` = '".$thetime."' WHERE `name` = 'hospital'");

	$leftovertime = $timesinceupdate - (floor($timesinceupdate / 60) * 60);

	if ($leftovertime>0) {

		$newupdate =  time() - $leftovertime;

		$setleftovertime = mysql_query("UPDATE `updates` SET `lastdone` = '".$newupdate."' WHERE `name` = 'hospital'");

	}

}

?>
 
1) Нужно смотреть структуру и данные таблицы grpgusers
PHP:
$result = mysql_query("SELECT * FROM `grpgusers`");

2) Вы применяете $updates_user->job,
PHP:
$result_job = mysql_query("SELECT * FROM `jobs` WHERE `id`='".$updates_user->job."'");
а где он в Вашем коде назначается? Нигде... А все дальше от нее пляшет. Единственное что можно предположить, что поле jobs и тогда данные уже имеются в экземпляре!

3) единственное где нашел использование экземпляра это тут:
PHP:
$updates_user = new User($line['id']);
Возможно что тут и нужно указывать на $updates_user->job отдельной переменной и потом использовать ее в вашем коде, а не сам экземпляр! Например,
PHP:
$userjob = $updates_user->job;
или правильнее
PHP:
$userjob = $updates_user->jobs;

4) откуда берется $worked_job['money'] и где назначается первоначально $newmoney?

5) где сама функция Send_Event()?

Пока не ответить на все эти вопросы, код работать не будет... Логически смотрите что от чего зависит и куда передается. При отладке используйте систему ошибок PHP, так легче будет найти ответы на вопросы. Функция
PHP:
error_reporting(...);
 
Просто скрипт rollover.php при выполнение всё отлично работает а вот по отдельности нехочет.
Вот структура этой таблицы
Поле Тип Null По умолчанию Комментарии
PHP:
id 	int(10) 	Нет  	  	 
username 	varchar(75) 	Нет  	  	 
password 	varchar(75) 	Нет  	  	 
exp 	int(30) 	Нет  	0  	 
money 	int(30) 	Нет  	1000  	 
bank 	int(30) 	Нет  	0  	 
whichbank 	int(2) 	Нет  	0  	 
hp 	int(10) 	Нет  	50  	 
energy 	int(10) 	Нет  	10  	 
nerve 	int(10) 	Нет  	5  	 
workexp 	int(10) 	Нет  	0  	 
strength 	int(10) 	Нет  	10  	 
defense 	int(10) 	Нет  	10  	 
speed 	int(10) 	Нет  	10  	 
battlewon 	int(10) 	Нет  	0  	 
battlelost 	int(10) 	Нет  	0  	 
battlemoney 	int(20) 	Нет  	0  	 
crimesucceeded 	int(10) 	Нет  	0  	 
crimefailed 	int(10) 	Нет  	0  	 
crimemoney 	int(20) 	Нет  	0  	 
points 	bigint(20) 	Нет  	0  	 
rmdays 	tinyint(5) 	Нет  	0  	 
signuptime 	int(20) 	Нет  	0  	 
lastactive 	int(20) 	Нет  	0  	 
awake 	int(5) 	Нет  	100  	 
email 	varchar(75) 	Нет  	  	 
jail 	int(1) 	Нет  	0  	 
hospital 	int(1) 	Нет  	0  	 
hwho 	varchar(30) 	Нет  	  	 
hwhen 	varchar(30) 	Нет  	  	 
hhow 	varchar(30) 	Нет  	  	 
house 	int(3) 	Нет  	0  	 
gang 	int(10) 	Нет  	0  	 
quote 	text 	Нет  	  	 
avatar 	varchar(50) 	Нет  	  	 
city 	int(3) 	Нет  	1  	 
admin 	int(1) 	Нет  	0  	 
searchdowntown 	int(3) 	Нет  	100  	 
job 	int(5) 	Нет  	  	 
ip 	tinytext 	Нет  	  	 
eqweapon 	int(20) 	Нет  	  	 
eqarmor 	int(20) 	Нет  	  	 
potseeds 	int(20) 	Нет  	  	 
marijuana 	int(20) 	Нет  	  	 
cocaine 	int(20) 	Нет  	  	 
style 	int(3) 	Нет  	  	 
gold 	int(30) 	Нет  	  	 
hookers 	int(11) 	Нет
 
Вы так все смутно пишите и кусками... таблицу нужно было выгрузкой структуры с Phpmyadmin-а делать! Так понятнее и проще работать.
Проанализировав вышеизложенное могу предложить следующий вариант вашего кода (должно работать, только инклуды поставте какие надо по описанию:(
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху