Показать сообщение отдельно
Старый 12.07.2011, 12:55   #1
НейроН
Читер со стажем
Аватар для НейроН
OFFLINE
Регистрация: 13.08.2010
Сообщений: 419
Благодарностей:
105 всего
Мнения: + 1661
Репутация: 316

Реализация 7 уровня гильдий


Исходя из информации, которую когда-то предоставил уважаемый D-Cartella не так уж и трудно понять как реализовать 7 уровень гильдий, но все же напишу гайд для не понимающих.

Итак, как уже говорил D-Cartella, обновление рангов гильдий происходит 1 раз каждый день.
Рассчитываеться ранг гильдии исходя из очков мощи и при рейте меньше определённого значения.
Очки мощи рассчитываються из суммы уровней и очков статуса всех членов гильдии поделено на 10000.
Рейт рассчитываеться из позиции гильдии в рейтинге по количеству очков мощи, умноженной на 100 и поделеной на общее количество позиций в рейтинге.


Что бы реализовать 7 уровень гильдии, нам необходимо уменьшить требования очков мощи, так как в сервере установлен лимит на максимальное число персонажей состоящих в гильдии, и необходимое количество очков мощи просто напросто не набрать.

Требования прописаны в зоне в виде обычных запросов в базу, и что б их изменить надо найти их хекс редактором и аккуратно подправить.

Общий вид запросов в зоне на обновление рангов гильдий:
PHP код:
update tbl_GuildRank%s set Rate = ( (Rank*100)/(select count(*) from tbl_GuildRank%s) )    ReConnectDataBase FailQuery : %s
update tbl_GuildRank
%s set Grade 2 where rate <= 95 and GuildPower >= 300    CRFWorldDatabase::Update_GuildRank(charszDate(%s)) : %s Fail!
update tbl_GuildRank%s set Grade 3 where rate <= 85 and GuildPower >= 1500    CRFWorldDatabase::Update_GuildRank(charszDate(%s)) : %s Fail!
update tbl_GuildRank%s set Grade 4 where rate <= 65 and GuildPower >= 3000    CRFWorldDatabase::Update_GuildRank(charszDate(%s)) : %s Fail!
update tbl_GuildRank%s set Grade 5 where rate <= 35 and GuildPower >= 10000    CRFWorldDatabase::Update_GuildRank(charszDate(%s)) : %s Fail!
update tbl_GuildRank%s set Grade 6 where rate <= 15 and GuildPower >= 25000    CRFWorldDatabase::Update_GuildRank(charszDate(%s)) : %s Fail!
update tbl_GuildRank%s set Grade 7 where rate <= and GuildPower >= 30000 
Разберём данный запрос по частям.
PHP код:
set Grade Задаёт уровенькоторый будет присвоен гильдии
where rate 
<= 95 Уровень будет присвоен гильдии если её рейд меньше 95
and GuildPower >= 300 Уровень будет присвоен гильдии если её очки мощи больше 300 
Нам нужно просто аккуратно поправить запрос в части GuildPower так, что б было реально набрать то количество очков мощи которое мы прописали.

Вот и всё, надеюсь вам будет понятно :)

Последний раз редактировалось НейроН; 12.07.2011 в 17:28.
 
Ответить с цитированием
Сказали спасибо:
ToniS (09.08.2014), FG KOSH (04.02.2013), FlyGirl (16.07.2011), ConteX (15.07.2011), Revoult (12.07.2011)