avatar_GrInYa

Функциональный Замок: Нужны подробности

Автор GrInYa, 2010 Март 17, 22:58

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Ключевые слова [SEO] mu onlineсерверные файлы MUфункциональный замок

GrInYa

Привет всем,

Может есть кто то на этом форуме который знает и разбираеца в етапах захвата замка, интересуюсь следующим пунктам:

- при регистрации гилда для захвата замка какие значения и где в базе записываютця
- в какой промежуток времени можно зарегистрировать гилд
- в какой промежуток времени можно принести и зарегистрировать марки и что и как меняется в базе
- в какой промежуток времени сам захват происходит
- и.т.д...

ПС: вообще, кто знает и хочет поделица полным списком шагов захвата буду очень рад

8BitCore

#1
Если это нужно для сайта, то вот czf делали веб регистрацию .. можешь посмотреть, что да куда.
https://forum.ragezone.com/f197/czf-castle-...tration-214116/

Цитата: GrInYa от 2010 Март 17, 21:58  - в какой промежуток времени можно зарегистрировать гилд
- в какой промежуток времени можно принести и зарегистрировать марки
- в какой промежуток времени сам захват происходит
время захвата распределяется в muserver/data/MuCastleData.dat, на время перемирия(или как называется), регестрицию, сдачу синг, время перед осадой, объявление осады, осада(всё не помню).

Цитата: GrInYa от 2010 Март 17, 21:58  - при регистрации гилда для захвата замка какие значения и где в базе записываютця
- в какой промежуток времени можно принести и зарегистрировать марки и что и как меняется в базе
- и.т.д...
а в базе MUCastle_Data промежуток времени(в датах) и тп
ну и там рядом остальные таблицы, которые тебе нужны.

сам всё точно не знаю, потому не могу на всё ответить.(пытался сам приписать гуилд на захват ничё не получилось, правда пытался 1 или 2 раза минут 10 :) )

[P4F]v1ru5

у вафлика в скрипте его с CastleSiege было все расписано (то, что ты спрашиваешь) посмотри что и куда обращается, думаю вопросы твои отпадут

GrInYa

8BitCore, я знаю про этот скрипт...с него толку 0

v1ru5, посмотрел...там тупо написано какой то период...думаю он меняется в соответствии с периода когда сам замок уже кем то принадлежит или как хз...

epmak

толк есть. Его скрипт все делает. Он просто не учитывает, что время в 7 дней можно менять(зависит от конфига самого сервера). У него же он пашет как "по дефолту"

GrInYa

Цитата: epmak от 2010 Март 18, 09:23  толк есть. Его скрипт все делает. Он просто не учитывает, что время в 7 дней можно менять(зависит от конфига самого сервера). У него же он пашет как "по дефолту"

ну так может быть для того кто создал скрипт есть толк а для меня нету ;)...там при регистрации или при какой то там инфе берутся данные с ккаких то файлах которые я в серверных файлах еще не встречал :)

D:/muserver/gameserver/lastowner.dat
D:/muserver/gameserver/attackcastle.dat

...с базой никакое отношения не имеет скрипт

epmak

#6
я видел его скрипт с базы данных, про него речь и веду. А что за файлы, либо это кеширование, либо спроси у вафлана =
Спойлер
<?PHP
if($mmw[castle_siege] == 'yes') {
if($check=@fsockopen($mmw[gs_cs_ip],$mmw[gs_cs_port],$ERROR_NO,$ERROR_STR,(float)0.3)){fclose($check); $cs_status = '<span class="online">'.mmw_lang_is_opened.'</span>';}
else{$cs_status = '<span class="offline">'.mmw_lang_is_closed.'</span>';}

$query = mssql_query("SELECT owner_guild,siege_start_date,siege_end_date,money,tax_hunt_zone FROM MuCastle_DATA");
$row = mssql_fetch_row($query);
$cs_guild_row = mssql_fetch_row( mssql_query("SELECT g_master,g_mark FROM Guild WHERE G_Name='$row[0]'") );
if($row[0]!="" && $row[0]!=" ") {
$cs_guild = $row[0];
$cs_guild_master = $cs_guild_row[0];
$logo = urlencode(bin2hex($cs_guild_row[1]));
$cs_guild_mark = "<a class='helpLink' href='java script://' title='<img src=decode.php?decode=$logo height=60 width=60>'><img src='decode.php?decode=$logo' height='10' width='10' broder='0'></a>";
}
else {
$cs_guild = "None";
$cs_guild_master = "None";
}

if($mmw[mix_cs_memb_reset]=="yes") {
if($mmw[max_zen_cs_reset]>$row[3]){$edited_zen_cs = $row[3];} else{$edited_zen_cs = $mmw[max_zen_cs_reset];}
$cs_memb_reset_zen = ( substr($mmw['resetmoney'], 0, -6) * ceil( substr($edited_zen_cs, 0, -6) / $mmw[num_for_mix_cs_reset] ) ) / 100;
$cs_memb_reset_proc = ceil( substr($edited_zen_cs, 0, -6) / $mmw[num_for_mix_cs_reset] );
}

$now_time = time();
$cs_start = time_format($row[1],"d M Y");
$cs_end = time_format($row[2],"d M Y");
if( strtotime($cs_start)+86400 > $now_time ) {$cs_period = mmw_lang_register_for_attack;} //0 00:00 - 0 23:59
elseif( (strtotime($cs_start)+432000) > $now_time ) {$cs_period = mmw_lang_sing_of_lord;} //1 00:00 - 4 23:59
elseif( (strtotime($cs_start)+500400) > $now_time ) {$cs_period = mmw_lang_information;} //5 00:00 - 5 19:00
elseif( (strtotime($cs_start)+586800) > $now_time ) {$cs_period = mmw_lang_ready_for_attack;} //5 19:00 - 6 19:00
elseif( (strtotime($cs_start)+594000) > $now_time ) {$cs_period = mmw_lang_attack_castle_siege;} //6 19:00 - 6 21:00
else {$cs_period="Truce";}
?>
как ты вообще смотришь Оо
функции, если интересуют по обработки даты, то ищи в Includesformat.php
[свернуть]

GrInYa

#7
epmak, я вообще писал не про скрипт вафлана а про этот
Спойлер
<?php
// Written by TOXIX from CZF team !!!
$a=file_get_contents('D:/muserver/gameserver/lastowner.dat');
$csown=file_get_contents('D:/muserver/gameserver/attackcastle.dat');


$file fopen ("D:/muserver/data/commonserver.cfg""r");
$file2 fopen ("D:/muserver/data/commonserver.cfg""r");
$file3 fopen ("D:/muserver/data/commonserver.cfg""r");
$file4 fopen ("D:/muserver/data/commonserver.cfg""r");
if (!
$file) {
echo 
"<p>File can not be opened .n";
exit;
}

while (!
feof ($file)) {
$line2 fgets ($file1024);
$find='CastleAttack_StartHour=';
$cshstrstr($line2$find );
if (
$csh!=FALSE){
//$csh1= substr($csh, 23, 23);
$csval1=$csh{23};
$csval2=$csh{24};
}}

while (!
feof ($file2)) {
$line3 fgets ($file21024);
$find2='CastleAttack_StartMinute=';
$csh1strstr($line3$find2 );
if (
$csh1!=FALSE){
$csmin1=$csh1{25};
$csmin2=$csh1{26};}}
$cstm=$csval1.$csval2.':'.$csmin1.$csmin2 ;

while (!
feof ($file3)) {
$line4 fgets ($file31024);
$find3='CastleAttackTime=';
$csh2strstr($line4$find3 );
if (
$csh2!=FALSE){

$csleng1=$csh2{17};
$csleng2=$csh2{18};   }}

$csleng=$csleng1.$csleng2;

while (!
feof ($file4)) {
$line5 fgets ($file41024);
$find4='CastleAttack_WebWaitTime=';
$csh3strstr($line5$find4 );
if (
$csh3!=FALSE){

$csww1=$csh3{25};
$csww2=$csh3{26};   }}
$csww=$csww1.$csww2 ;

$b=$a+$csww*60*60;
$u=$b-time();
$x=$u/3600%3600;
$z=$u%3600/60%60;
$y=$u%3600%60;

?>

<table style="border: 3px solid black;">
<tr><td style="border: 0px solid black ;background:#9999ff;width:200px;" >Current Castle Owner :</td><td style="border: 0px solid black ;background:#FFCC33;width:200px;" ><?=$csown ?></td></tr>
<tr><td style="border: 0px solid black ;background:#9999ff;width:220px;" >Registration will be available after :</td><td style="border: 0px solid black ;background:#FFCC33;width:250px;" ><?= $x." Hours | ". $z ." Minutes | ". $y." Seconds" ?></td></tr>
<tr><td style="border: 0px solid black ;background:#9999ff;width:200px;" >Cs Start Time :</td><td style="border: 0px solid black ;background:#FFCC33;width:250px;" ><?=$cstm ?></td></tr>
<tr><td style="border: 0px solid black ;background:#9999ff;width:200px;" >Cs Duration Time :</td><td style="border: 0px solid black ;background:#FFCC33;width:250px;" ><?=$csleng ?> Minutes</td></tr>
<tr><td style="border: 0px solid black ;background:#9999ff;width:200px;" >Cs Web Wait Time :</td><td style="border: 0px solid black ;background:#FFCC33;width:250px;" ><?=$csww ?> Hours</td></tr>
</table>

<?
if ($_POST['reg']!=1){
?>
<form method="post" action="./CS_Reg.php?reg=1">
<b>Guild :</b> <input type="text" name="CS" />
<br>
<input type="submit" value="Register">
</form>
<? }
if ($_GET['reg']==1){
$a=file_get_contents('D:/muserver/gameserver/lastowner.dat');
if (time() - $a > 60*60*$csww) {
$filename = 'D:/muserver/gameserver/AttackCastle.dat';
$turinys = $_POST['CS'];
if (is_writable($filename)) {
if (!$handle = fopen($filename, 'w')) {
echo "Could not open file: ($filename)";
exit;
}
if (fwrite($handle, $turinys) === FALSE) {
echo "Could not write info file: ($filename)";
exit;
}
echo "Great guild - $turinys now is owner of the castle";
fclose($handle);
$filename2 = 'D:/muserver/gameserver/lastowner.dat';
$turinys2 = time();
if (is_writable($filename2)) {
if (!$handle = fopen($filename2, 'w')) {
echo "Could not open file: $filename2";
exit;
}
if (fwrite($handle, $turinys2) === FALSE) {
echo "Could not write info file: $filename2";
exit;
}
//echo "Great!, time ($turinys2) written to: ($filename2)";
fclose($handle);
}else{
echo "File $filename2 do not exist.";
}

}
else{
echo "File $filename is not writable.";
}
}
else{
$b=$a+$csww*60*60;
$u=$b-time();
$x=$u/3600%3600;
$z=$u%3600/60%60;
$y=$u%3600%60;
echo "You need to wait until registration will be available.<br>";
echo "It will be available after- $x Hours | $z Minutes | $y Seconds";

}
}
?>
[свернуть]

к тому же мне скрипты по обработки даты не интересуют...в скюле есть такая функция как convert, и не нужно ничего обрабатывать в ручную ;)

epmak

#8
..эм я чет подумал ты про вафлана, чет повнимательнее посмотрел а там про цзф
ты мне скажи, я утолил твой интерес?

GrInYa

к стате что нужно гилд мастеру для того чтоб ево зарегистрировать в захвате и в базе какие правильные значения должны быть введены?

epmak

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

user_MU

Спойлер
In common server set information like this:

CastleSiegeRun = 1
CastleCycleStartYear =0
CastleCycleStartMonth =0
CastleCycleStartDay =0

CastleSpecificState =0
CastleStateStartYear =0
CastleStateStartMonth =0
CastleStateStartDay =0
CastleStateStartHour =0
CastleStateStartMinute =0

Open Enterprise Manager:
Select MuOnline DB and search for MU_Castle_DATA
Press Right Click go to "Open Table" then press "Return all Rows"

Castle Siege Settings:

MAP_SVR_GROUP
0 //Put here 0

SIEGE_START_DATE
4/20/2007 //Put here yesterdays date

SIEGE_END_DATE
4/27/2007 //Yesterdays date + 7days

SIEGE_GUILDLIST
1 //Put here 1

SIEGE_ENDED
0 //Put here 0

CASTLE_OCCUPY
1 //Put here 1

OWNER_GUILD
Your _Guild //Your guild name

MONEY
10000 //Put here 10000

TAX_RATE_CHAOS
3 //Can be change in Senior

TAX_RATE_STORE
3 //Can be change in Senior

TAX_HUNT_ZONE
300000 //Money To entrance in to the "Land Of Trail"

MuOnline/StoredProcedure/
WZ_CS_RegRegAttackGuild

Code:
IF (@iGuildMasterLevel < 200)
BEGIN
SELECT 5 As QueryResult
END
ELSE
BEGIN
IF (@iGuildMemberCount < 20)

[свернуть]

GrInYa

#12
epmak, да уже мой виндовс забит и нужна очистка, если запускать и сервер то вобше пойдёт на перезагрузку

ну про инфо замка всё норм уже...я уже интересуюсь о регистрации и то что бывает после.. до самого захвата...так как хочу написать регистрацию на сайте+добавление марков тоже через сайт ну и то что ещё нужно до начало захвата

если б знал всё это я б не спрашивал а в гс-е капаться я не умею

user_MU

1 не вижу смысла тыкать это в Веб если есть НПЦ в игре.
2 это же не браузерка что бы все через вебку делать.

Ну можно оформить красиво состояние замка, статус зарегистрированных гильдий, покупку марков ....

epmak

Спойлер
все время хотел задать вопрос грине. Ты что правда думаешь что все функции, которые ты пишешь буду востребованы?) не надо пенеосить игру в браузер.
[свернуть]

GrInYa

Цитата: user_MU от 2010 Март 18, 11:50  1 не вижу смысла тыкать это в Веб если есть НПЦ в игре.
2 это же не браузерка что бы все через вебку делать.

Ну можно оформить красиво состояние замка, статус зарегистрированных гильдий, покупку марков ....

1. бывают они нерабочие
2. если что то в игре не работает или баганутое то переписываю на веб...в итоге получается норм функциональный сервер ;)...и быстрая навигация

Цитата: epmak от 2010 Март 18, 11:57  
Спойлер
все время хотел задать вопрос грине. Ты что правда думаешь что все функции, которые ты пишешь буду востребованы?) не надо пенеосить игру в браузер.
[свернуть]

Спойлер
камуто надо камуто нет...я всё это не делаю для кого то а для меня...я сам себя подставляю в разных ситуациях только для того чтоб в будущее мне было хорошо на работе
[свернуть]

epmak

Спойлер
угу... а теперь представь, какого пользователю сидеть и выбирать из списка 100 функций нужную :D
[свернуть]

GrInYa

Цитата: epmak от 2010 Март 18, 12:16  
Спойлер
угу... а теперь представь, какого пользователю сидеть и выбирать из списка 100 функций нужную :D
[свернуть]
Спойлер
для этого есть разделы и подразделы ;)...никто в первые зайдя на какой нибудь сайт знает обо всём и всё где находица ;)
[свернуть]

Похожие темы (5)

Сообщений: 0
Просмотров: 1620

Сообщений: 3
Просмотров: 1880

Сообщений: 3
Просмотров: 1709