Люди у кого есть пхп скрипт чтобы всем зачислялся голд кто онлайн при его активации Если кому не жалко залейте буду очень благодарен
ID аккаунты, которые в игре хранятся в таблице point. То есть твои действия: 1) получаешь массив аккаунтов 2) циклом по массиву выполняешь call usecash
<?php define('MYSQL_HOST', 'localhost'); define('MYSQL_USER', 'login'); define('MYSQL_PASSWORD', 'password'); define('MYSQL_DBNAME', 'pw'); define('GOLG_COUNT', 100000000); /*В серебре*/ $connect = new PDO('mysql:'.MYSQL_HOST.';dbname='.MYSQL_DBNAME, MYSQL_USER, MYSQL_PASSWORD); $connect->query('SET NAMES utf8'); $query = $connect->prepare('SELECT uid FROM point WHERE zoneid=1'); $query->execute(); $accsOnLine = $query->fetchAll(); foreach($accsOnLine as $acc) { $query = $connect->prepare('call usecash(?,1,0,1,0,?,1,@Error)'); $query->execute(array($acc['uid'], GOLG_COUNT)); } ?> На наличие синтаксических ошибок не проверял, писал прям тут.
Печальбеда не отправляется что то тут не то Сорри переписать не могу тк в мускуле нуб Помогите кто может
1) nano /var/www/give_gold.php 2) Ctrl+C код ниже 3) Переключаешься на окно ssh 4) Shift+Insert, не забудь поменять значения переменных на свои 5) Ctrl+O -> Enter -> Ctrl+X 6) chmod 755 /var/www/give_gold.php 7) http://localhost/give_gold.php 代码: <?php define('MYSQL_HOST', 'localhost'); define('MYSQL_USER', 'login'); define('MYSQL_PASSWORD', 'password'); define('MYSQL_DBNAME', 'pw'); define('GOLG_COUNT', 100000000); /*В серебре*/ $connect = new PDO('mysql:'.MYSQL_HOST.';dbname='.MYSQL_DBNAME, MYSQL_USER, MYSQL_PASSWORD); $connect->query('SET NAMES utf8'); $query = $connect->prepare('SELECT uid FROM point WHERE zoneid=1'); $query->execute(); $accsOnLine = $query->fetchAll(); foreach($accsOnLine as $acc) { $query = $connect->prepare('call usecash(?,1,0,1,0,?,1,@[USER=11152]Error[/USER])'); $query->execute(array($acc['uid'], GOLG_COUNT)); echo "Аккаунту {$acc['uid']} выдано {GOLG_COUNT / 100} голда\n"; } echo "Конец\n"; ?>
Все равно не пашет запрос на выдачу голда не приходить база пустая usecashnow0 $query = $connect->prepare('call usecash(?,1,0,1,0,?,1,@Error)'); МНе непонятрно почему знаки вопроса я 2 заменял а вот 1 что с ним делать если там пишется айди
Вот скрипт, начисляет всем акам. Если немного переделать запрос, то можно выдавать и тем. кто онлайн.
<?php //Скрипт добавления голда всем аккаунтам проекта. для MySQL. Сделан Metra icq-85015854 $DBHost = "localhost"; // localhost or your IP $DBUser = "root"; // Логин для базы $DBPassword = ""; // Пароль от базы $DBName = "dbo"; // имя базы $gold1 = "15000"; //количество голда $Link = MySQL_Connect($DBHost, $DBUser, $DBPassword) or die ("Can't connect to MySQL"); MySQL_Select_Db($DBName, $Link) or die ("Database ".$DBName." do not exists."); $mysqlresult=MySQL_Query("select * from `point`"); $myrow=mysql_fetch_array($mysqlresult); do { $gold=$myrow['uid']; MySQL_Query("call usecash($gold,1,0,1,0,$gold1,1,@Error)") or die ("usecash failed!"); } while($myrow=mysql_fetch_array($mysqlresult)); echo "Голд успешно добавлен"; ?> Все поставил только он дается вем кто в поин потмогите сделать чтобы он давался всем кто онлайн у всех кто онлайн в zoneid стоит число а те кто оффлайн у них стоит NULL
Адаптируй: $sql = "SELECT * FROM users WHERE users.id IN ( SELECT uid FROM point WHERE zoneid !=' ')"; $result = mysql_query($sql);
Вроде так правильно PHP: <?php$host = "localhost";$user = "root";$pass = "1234";$db = "pw";$gold = "100000";mysql_connect($host, $user, $pass) or die("Нет соединения с базой!");mysql_select_db($db) or die("Нет такой базы");$query = mysql_query("SELECT * FROM 'point' WHERE 'zoneid' = 1");$Accounts = mysql_fetch_array($query);do { $id = $Accounts['uid']; mysql_query("call usecash('$id',1,0,1,0,'$gold',1,@[USER=11152]Error[/USER])") or die ("Не дали голда:("); echo "Аккаунту с ИД: ".$id." выдано ".$gold." голда<br />";} while($Accounts = mysql_fetch_array($query));?> Но у меня почему то не работает
<?php //Скрипт добавления голда всем аккаунтам проекта. для MySQL. Сделан Metra icq-85015854 $DBHost = "localhost"; // localhost or your IP $DBUser = "root"; // Логин для базы $DBPassword = "123123"; // Пароль от базы $DBName = "dbo"; // имя базы $gold1 = "1900"; //количество голда $Link = MySQL_Connect($DBHost, $DBUser, $DBPassword) or die ("Can't connect to MySQL"); MySQL_Select_Db($DBName, $Link) or die ("Database ".$DBName." do not exists."); $mysqlresult=MySQL_Query("SELECT * FROM 'point' WHERE 'zoneid' = 1"); $myrow=mysql_fetch_array($mysqlresult); do { $gold=$myrow['uid']; MySQL_Query("call usecash($gold,1,0,1,0,$gold1,1,@Error)") or die ("usecash failed!"); } while($myrow=mysql_fetch_array($mysqlresult)); echo "Голд успешно добавлен"; ?> Люди помогите в чем тут ошибка она где то в строчке которую красным выделил
//deleted Нашел решение проблемы от автора: https://mmorpg-devs.ru/threads/Голд-всем-кто-онлайн.15469/