[Движок] АРХИВ XNova - браузерная on-line игра по типу OGame

Статус
В этой теме нельзя размещать новые ответы.
Любую, все равно большим напильником пилить придется :)
Пока лучшее что я видел это версия от skillcoder.

BE@ST, стяни новую версию посмотри как там реализована нехватка энергии, или вообще можно попробовать файло заменить, может сработать :)

какую тянуть ?
тянул от испанцев для сравнения, но у них вроде тоже самое в скриптах :(
здесь кидал свой файл но помочь никто не смог или не захотел:confused:
от скилкодера вообще не стянешь без вступления в его команду
вот и жду пока мне помогут хоть с этим...
 
BE@ST, прояви внимательность, вот в Для просмотра ссылки Войди или Зарегистрируйся дана ссылка на вполне рабочую версиию за искючением САБа.

У skillcoder'a же и САБ рабочий, рекомендую :)
 
BE@ST, прояви внимательность, вот в Для просмотра ссылки Войди или Зарегистрируйся дана ссылка на вполне рабочую версиию за искючением САБа.

У skillcoder'a же и САБ рабочий, рекомендую :)

я этой сборкой и пользуюсь;) и постоянно обновляю её
а толку с рекомендаций ? я не в его команде разрабов...
помогите кто разбирается решить мою проблему:confused:
 
Ещё такая проблема!
Когда в бд удаляешь планету игрока, то в галактике в игре она удалена,,, НО!!Висит фотка планеты и тем самым можно производить такие опреации как Атака транспорт шпионаж и тд!
Что сделать чтобы этого не происходило?
 
Ещё такая проблема!
Когда в бд удаляешь планету игрока, то в галактике в игре она удалена,,, НО!!Висит фотка планеты и тем самым можно производить такие опреации как Атака транспорт шпионаж и тд!
Что сделать чтобы этого не происходило?

Скорее всего из бд ты не всё удаляешь. Посмотри по таблицам, возможно где то ещё нужно почистить. Раз картинка остаётся, значит данные о ней где то хранятся, и скорее всего это место бд.
 
Когда в бд удаляешь планету игрока, то в галактике в игре она удалена,,, НО!!Висит фотка планеты и тем самым можно производить такие опреации как Атака транспорт шпионаж и тд!
Что сделать чтобы этого не происходило?
Ищите запись по координатам планеты в таблице game_galaxy так же, там хранится информация по обломкам и луне.

BE@ST, я тоже не вхожу в группу разработчиков, но тем не менее, смог договориться и получить его версию, попробуйте поговорить.
Конкретно помочь я Вам, увы не могу, в php почти ноль :(
 
BE@ST, работал и с 8 sp1, и с 9a - нигде не было такой проблемы. А скачать их можно и из первого поста. За это отвечают, насколько помню, PlanetResourceUpdate.php в /functions/ и resource.php в /
Если уж совсем туго с php (хотя тут оно и не нужно, нужно только умение мыслить) - возьми оттуда эти скрипты.
Ну вот, специально полез в первый попавшийся архив и нашел следующее в PlanetResouceUpdate.php, разжевываю:
PHP:
/**/
// Фактор производства = Энергии вырабатывается / используемую и умножаем на 100 
$production_level            = floor(($CurrentPlanet['energy_max'] / $CurrentPlanet['energy_used']) * 100); 
/**/
/*Если металл еще влазит в хранилище*/
// Собственно здесь и учитываем фактор производства, считая сколько же произвели за это время (временной интервал * (добыча за час/3600 секунд) * коэффициент фактора производства)
$MetalProduction = ($ProductionTime * ($CurrentPlanet['metal_perhour'] / 3600) * (0.01 * $production_level));  
$MetalBaseProduc = /*считаем базовую добычу*/
/*Теоретическая добыча металла*/
// Сколько есть + сколько произвели за прошедшее с последнего обновления время + базовая добыча за это время
$MetalTheorical  = $CurrentPlanet['metal'] + $MetalProduction  +  $MetalBaseProduc;
/*Если влазит*/
$CurrentPlanet['metal']  = $MetalTheorical; 
/*Аналогично для других ресурсов*/
/*Обновление в БД значений metal из $CurrentPlanet['metal'] и тп*/

Добавлено через 9 минут
JoomJi,
Странно :)
Фотка планеты хранится в поле таблицы planets. Если ты удаляешь именно оттуда (это и есть планета, здесь все ресурсы планеты, принадлежность, добыча и тп) то такого не может быть. Есть еще таблица galaxy - там все дублируется. Но информации о планете немного - лишь положение, id, обломки и наличие с id луны.
Соответственно, удалять планету надо из двух таблиц одновременно.
Если игрок покидает колонию, то зачастую из planets планета удаляется, а вот из galaxy - нет, лишь выставляется id планеты как нулевое. Если не чистить такие пустые записи (к примеру, DELETE FROM `game_galaxy` WHERE `id_planet`=0), игроки потом могут сталкиваться с невозможностью колонизировать пустую планету по причине того, что она занята :)
 
BE@ST, работал и с 8 sp1, и с 9a - нигде не было такой проблемы. А скачать их можно и из первого поста. За это отвечают, насколько помню, PlanetResourceUpdate.php в /functions/ и resource.php в /
Если уж совсем туго с php (хотя тут оно и не нужно, нужно только умение мыслить) - возьми оттуда эти скрипты.
Ну вот, специально полез в первый попавшийся архив и нашел следующее в PlanetResouceUpdate.php, разжевываю:
PHP:
/**/
// Фактор производства = Энергии вырабатывается / используемую и умножаем на 100 
$production_level            = floor(($CurrentPlanet['energy_max'] / $CurrentPlanet['energy_used']) * 100); 
/**/
/*Если металл еще влазит в хранилище*/
// Собственно здесь и учитываем фактор производства, считая сколько же произвели за это время (временной интервал * (добыча за час/3600 секунд) * коэффициент фактора производства)
$MetalProduction = ($ProductionTime * ($CurrentPlanet['metal_perhour'] / 3600) * (0.01 * $production_level));  
$MetalBaseProduc = /*считаем базовую добычу*/
/*Теоретическая добыча металла*/
// Сколько есть + сколько произвели за прошедшее с последнего обновления время + базовая добыча за это время
$MetalTheorical  = $CurrentPlanet['metal'] + $MetalProduction  +  $MetalBaseProduc;
/*Если влазит*/
$CurrentPlanet['metal']  = $MetalTheorical; 
/*Аналогично для других ресурсов*/
/*Обновление в БД значений metal из $CurrentPlanet['metal'] и тп*/
Добавлено через 9 минут

не настолько я уже и чайник чтобы этого не понять:confused:
проблема в том что у меня так и стоит (только одна формула несколько другая:(
PHP:
$MetalProduction = (($ProductionTime * ($CurrentPlanet['metal_perhour'] / 3600)) * $game_config['resource_multiplier']) * (0.01 * $production_level);

какие ещё есть соображения ?:(
вот мой файлик (выше уже прикреплял)
 

Вложения

  • PlanetResourceUpdate.rar
    1,8 KB · Просмотры: 8
Альтернатива стандратной админке

Друзья, для своего проекта сделали альтернативу админки, пока не все сделано. Но на мой взгляд, даже тем что сделано, пользоваться гораздо удобней чем штатной админкой :)

Вот, вдруг кому пригодится :)
 

Вложения

  • master.rar
    6,9 KB · Просмотры: 52
BE@ST, прошу прощения тогда :( Порой трудно угадать уровень собеседника. Уж лучше очевидное написать иногда...
По поводу кода, попался один момент. Вот этот
PHP:
	} elseif ($CurrentPlanet["energy_max"] >= $CurrentPlanet["energy_used"]) {
		// Cas normal (Y a assez d'energie toutes les mines tournent a plein rendement)
		$production_level            = 100;
	} else {
		// Cas ou il manque de l'energie ... On calcule un pourcentage de production
$production_level            = floor(($CurrentPlanet['energy_max'] / $CurrentPlanet['energy_used']) * 100);  
}
Вот не знаю как у тебя, но в моей сборке energy_used всегда отрицательное! А значит $production_level = 100; будет выполняться всегда.
Код:
//За 11 последних дней
SELECT count(*) FROM `game_planets` WHERE `energy_used`<0 and last_update>1234567890;
>count(*)
>2540
SELECT count(*) FROM `game_planets` WHERE `energy_used`>0 and last_update>1234567890;
>count(*)
>0
И решение видится как замена в вышеприведенном фрагменте:
PHP:
 $CurrentPlanet["energy_used"]
на
PHP:
 abs($CurrentPlanet["energy_used"])
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху