Назад

Приз Бг

Автор: SergeiX: Дата: 04.12.2011

bat_b02,390,13,5 script Guillaume Vintenar#fl1 419,{
if( $@FlaviusBG1_Victory )
{
if( $@FlaviusBG1_Victory == Bat_Team )
{ // Victory
mes "[Swandery]";
mes "Blessed Guillaume!!";
mes "Let's enjoy our glorious victory!";
mes "" + strcharinfo(0) + ", its a sign reflecting victory";
close2;
set .@Reward, 9;
}
else
{ //
mes "[Swandery]";
mes "You lost, but you're dedicated to this battle.";
mes "This is a reward for your great dedication by Guillaume Marollo!";
mes "Just take this defeat a lesson, and later you would definitely learn.";
close2;
set .@Reward, 3;
}
вот стоит так а выдаёт приз всем по 3 баджа кто проиграл и кто выйграл как так почему?

Автор: SergeiX: Дата: 04.12.2011

// Battleground rewards
// *********************************************************************

bat_b02,390,13,5 script Guillaume Vintenar#fl1 419,{
if( $@FlaviusBG1_Victory )
{
if( $@FlaviusBG1_Victory == Bat_Team )
{ // Victory
mes "[Swandery]";
mes "Blessed Guillaume!!";
mes "Let's enjoy our glorious victory!";
mes "" + strcharinfo(0) + ", its a sign reflecting victory";
close2;
set .@Reward, 9;
}
else
{ //
mes "[Swandery]";
mes "You lost, but you're dedicated to this battle.";
mes "This is a reward for your great dedication by Guillaume Marollo!";
mes "Just take this defeat a lesson, and later you would definitely learn.";
close2;
set .@Reward, 3;
}

setquest 2070;
getitem 7829, .@Reward;
bg_leave;
warp "bat_room",155,150;
end;
}
end;
}

bat_b02,10,293,5 script Croix Vintenar#fl1 415,{
if( $@FlaviusBG1_Victory )
{
if( $@FlaviusBG1_Victory == Bat_Team )
{ // Victory
mes "[Swandery]";
mes "Blessed Croax!!";
mes "Let's enjoy our glorious victory!";
mes "" + strcharinfo(0) + ", its a sign reflecting victory";
close2;
set .@Reward, 9;
}
else
{ //
mes "[Swandery]";
mes "Oh, " + strcharinfo(0) + ". Don't be sad.";
mes "Even though we didn't win, we did our best.";
mes "This is a Royal gift from Croix, and please don't forget this battle. We can win the next.";
close2;
set .@Reward, 3;
}

setquest 2070;
getitem 7829, .@Reward;
bg_leave;
warp "bat_room",155,150;
end;
}
end;
}

вот весь;)

Автор: Renegade: Дата: 04.12.2011

а ничего что

setquest 2070;
getitem 7829, .@Reward;


в скрипте встречатеся дважды?

Автор: SergeiX: Дата: 04.12.2011

не понял чуть

Автор: Renegade: Дата: 04.12.2011

включи мозг.

Нарисуй блоксхему в конце концов если сам на вид не понимаешь как отрабатывает скрипт.

Автор: SergeiX: Дата: 04.12.2011

подожди ну я понял что там встречаеться удалить это или как?чёт вообше не понимаю =) обьясни нубу хД

Автор: Renegade: Дата: 04.12.2011

один из getitem отрабатывает в любом случае.

Цель этого форума не делать за вас а научить вас разбиратся самостоятельно.

после though we didn't win у тебя идёт очередной getitem.

Автор: SergeiX: Дата: 04.12.2011

так прально там же пишет что 3 баджа должно давать проигравшей команде??
а я понял походу в скрипте выдаёт приз как будто 2 команды выйгрывают Victory так?

Автор: SergeiX: Дата: 04.12.2011

а я понял походу в скрипте выдаёт приз как будто 2 команды выйгрывают Victory так?

Автор: SergeiX: Дата: 04.13.2011

блин так и не кто не смог помочь кто знает в чём проблема всем по 3 выдают баджа потом некторым по 9 вродь всё норм зделано в скрипте

Автор: Kill Spirit: Дата: 04.13.2011

Выучишь русский язык, либо поставишь ворд в браузер.
Поможем.

Автор: SergeiX: Дата: 04.13.2011

русский язык я и так знаю =)

Автор: Kill Spirit: Дата: 04.13.2011

Что-то не видно.
Ошибок куева туча.
0 пунктуации.
Запятых нету, точек нету.

Автор: Кеник: Дата: 04.13.2011

Цитата SergeiX;38621:
блин так и не кто не смог помочь кто знает в чём проблема всем по 3 выдают баджа потом некторым по 9 вродь всё норм зделано в скрипте


// Battleground rewards
// ************************************************** *******************

bat_b02,390,13,5 script Guillaume Vintenar#fl1 419,{
if( $@FlaviusBG1_Victory )
{
if( $@FlaviusBG1_Victory == Bat_Team )
{ // Victory
mes "[Swandery]";
mes "Blessed Guillaume!!";
mes "Let's enjoy our glorious victory!";
mes "" + strcharinfo(0) + ", its a sign reflecting victory";
close2;
set .@Reward, 9;
}
else
{ //
mes "[Swandery]";
mes "You lost, but you're dedicated to this battle.";
mes "This is a reward for your great dedication by Guillaume Marollo!";
mes "Just take this defeat a lesson, and later you would definitely learn.";
close2;
set .@Reward, 3;
}

setquest 2070;
getitem 7829, .@Reward;
bg_leave;
warp "bat_room",155,150;
end;
}
end;
}

bat_b02,10,293,5 script Croix Vintenar#fl1 415,{
if( $@FlaviusBG1_Victory )
{
if( $@FlaviusBG1_Victory == Bat_Team )
{ // Victory
mes "[Swandery]";
mes "Blessed Croax!!";
mes "Let's enjoy our glorious victory!";
mes "" + strcharinfo(0) + ", its a sign reflecting victory";
close2;
set .@Reward, 9;
}
else
{ //
mes "[Swandery]";
mes "Oh, " + strcharinfo(0) + ". Don't be sad.";
mes "Even though we didn't win, we did our best.";
mes "This is a Royal gift from Croix, and please don't forget this battle. We can win the next.";
close2;
set .@Reward, 3;
}

setquest 2070;
getitem 7829, .@Reward;
bg_leave;
warp "bat_room",155,150;
end;
}
end;
}


Это вообще нормально, что они (2 нпц) проверяют принадлежность к одной команде?

Автор: SergeiX: Дата: 04.13.2011

а я понял удалить 1 =))) :D?

Автор: SergeiX: Дата: 04.13.2011

что нада зделать поправить setquest??

Автор: SergeiX: Дата: 04.13.2011

люди удалить нада 1 или что я блин уже и так и так переделал =)

Автор: SergeiX: Дата: 04.13.2011

блин +)) чтож делать

Автор: Rectedo: Дата: 04.13.2011

Переменной дай другое имя.
для выйгравших одно, для проигравших другое.

Автор: SergeiX: Дата: 04.14.2011

тругой итем в смысле??

Автор: SergeiX: Дата: 04.14.2011

БЛин можете написать строчку как исправить или что вставить просто так задолбался с этим бг стараюсь чтот получаеться а это не как не зделать =)

Автор: Rectedo: Дата: 04.14.2011

Ок. По слогам.
ПЕ-РЕ-МЕ-ННОЙ ДАЙ ДРУ-ГО-Е И-МЯ.
Ответь на вопрос: В чем отличие итема от переменной?

Автор: SergeiX: Дата: 04.14.2011

setquest 2070; ???

Автор: Кеник: Дата: 04.14.2011

if( $@FlaviusBG1_Victory )
{
if( $@FlaviusBG1_Victory == Bat_Team )

Вот на примере:
$@FlaviusBG1_Victory - это временная глобальная переменная (одна на весь сервер, в любом скрипте её можно проверить - везде будет одно значение). Скорее всего отвечает за окончание БГ. Что-то вроде (Если победил -> проверять цвет (или че там проверяется) команды и дальше по сркипту... )
Bat_Team - еще одна переменная. Привязанная к чару, постоянная. То есть её значение для каждого чара, тыкающего на нпц своё. Здесь видимо должна как-то проверяться команда, но в этом куске кода нет назначения этой переменной, да и вообще, я не смотрел весь БГ целиком. Ищи для чего она используется.


З.Ы. Моё пояснение - это все основы, весьма полно расписанные в документации. Если ты и этого не знаешь - зря ты в это дело полез. Пока остановись, начни с детального чтения документации и понимания её. Твои вопросы в подавляющем большинстве относятся к разряду "глупые вопросы", ответы на которые принято тоже давать больше глупый или провокающие. Пока тебя совсем тут не опустили - разберись хоть маленько в типах переменных, массивах, организации скриптов в афине х) Иначе дальше придется понервничать :D

Автор: Renegade: Дата: 04.14.2011

Автор: SergeiX: Дата: 04.14.2011

if( $@FlaviusBG2_Victory )
{
if( $@FlaviusBG2_Victory == Bat_Team )
а если так зделаю можна?

Автор: Кеник: Дата: 04.14.2011

Нашел что спросить :D Попробуй

Автор: SergeiX: Дата: 04.14.2011

смотри там же 2 скрипта Flavius_01 i Flavius_02
в первом
if( $@FlaviusBG1_Victory )
{
if( $@FlaviusBG1_Victory == Bat_Team )

во 2

if( $@FlaviusBG2_Victory )
{
if( $@FlaviusBG2_Victory == Bat_Team ):mellow:

Автор: Кеник: Дата: 04.14.2011

da.. Только где у тебя сама переменная $@FlaviusBG2_Victory определяется? Если нигде - у тебя она всегда будет равна нулю и скрипт неверно работать будет

Автор: SergeiX: Дата: 04.14.2011

а так кеник если я значение поменяю место 1 поставлю 2 может помочь???

Автор: Кеник: Дата: 04.14.2011

Эхъ... Почитай документацию, еще раз говорю... Есть переменная $@FlaviusBG1_Victory. Где-то в скрипте, при окончании боя ей присваивается некое значение (допустим 1). Затем в этом скрипте оно проверяется
if( $@FlaviusBG1_Victory ) -> Если $@FlaviusBG1_Victory не равно 0, в данном примере оно единица - значит скрипт продолжает работу в первом куске кода, если она равна нулю - тогда будет выполняться код, написанный после else. Если переменной нигде не присваивается значение - она равна нулю. Соответственно, если ты просто поменяешь цифры в этих нпцах - у тебя одна из команд всегда будет получать по 3 поинта, так как ты нигде не присваиваешь никаких значений переменной $@FlaviusBG2_Victory - а значит она всегда равна нулю и будет выполняться кусок кода после "} else {". Understand?

Автор: SergeiX: Дата: 04.14.2011

OnMatchEnd:
set $@FlaviusBG1, 2;
stopnpctimer;
вот это???

Автор: Кеник: Дата: 04.14.2011

Ага) Вишь, тут назначается значение переменной при окончании БГ. Смотри дальше, поищи кусок кода, где назначаются команда-победитель и команда проигравших.

Автор: SergeiX: Дата: 04.14.2011

set $@FlaviusBG1_Victory, 0;
такое вот есть =)

Автор: Кеник: Дата: 04.14.2011

Bat_Team - за что отвечает эта переменная?

Автор: SergeiX: Дата: 04.14.2011

я так пологаю за проигрыш команды??

Автор: Renegade: Дата: 04.14.2011

Ничего. Мы тебя вусмерть заебём но научим писать скрипты :-)

Автор: SergeiX: Дата: 04.14.2011

if( $@FlaviusBG2_Victory == Bat_Team )
такс а вот если я зделаю так
if( $@FlaviusBG2_Bat_Team )
то получиться что зачислять будут проигрешней команде?

Автор: SergeiX: Дата: 04.14.2011

set $@FlaviusBG2, 1;
set $@FlaviusBG2_Victory, 0;
так получаеться если я поставлю место 0 - 9 то команда будет получать которая выйграет 9?

Автор: SergeiX: Дата: 04.14.2011

enablenpc "Guillaume Vintenar#fl1";
enablenpc "Croix Vintenar#fl1";
вот эта отвечают нпц за выдачу приза так?

Автор: SergeiX: Дата: 04.14.2011


bat_b01,390,13,5 script Guillaume Vintenar#fl1 419,{
if( $@FlaviusBG1_Victory )
{
if( $@FlaviusBG1_Victory == Bat_Team )
{ // Victory
mes "[Swandery]";
mes "Blessed Guillaume!!";
mes "Let's enjoy our glorious victory!";
mes "" + strcharinfo(0) + ", its a sign reflecting victory";
close2;
set .@Reward, 9;
}
else
{ //
mes "[Swandery]";
mes "You lost, but you're dedicated to this battle.";
mes "This is a reward for your great dedication by Guillaume Marollo!";
mes "Just take this defeat a lesson, and later you would definitely learn.";
close2;
set .@Reward, 3;
}

set Flavius_BG_Tick, gettimetick(2) + 300;
getitem 7829, .@Reward;
bg_leave;
warp "bat_room",155,150;
end;
}
end;
}

bat_b01,10,293,5 script Croix Vintenar#fl1 415,{
if( $@FlaviusBG1_Victory )
{
if( $@FlaviusBG1_Victory == Bat_Team )
{ // Victory
mes "[Swandery]";
mes "Blessed Croax!!";
mes "Let's enjoy our glorious victory!";
mes "" + strcharinfo(0) + ", its a sign reflecting victory";
close2;
set .@Reward, 9;
}
else
{ //
mes "[Swandery]";
mes "Oh, " + strcharinfo(0) + ". Don't be sad.";
mes "Even though we didn't win, we did our best.";
mes "This is a Royal gift from Croix, and please don't forget this battle. We can win the next.";
close2;
set .@Reward, 3;
}

set Flavius_BG_Tick, gettimetick(2) + 300;
getitem 7829, .@Reward;
bg_leave;
warp "bat_room",155,150;
end;
}
end;
}

так пральна?

Автор: Кеник: Дата: 04.15.2011

enablenpc "Guillaume Vintenar#fl1";
enablenpc "Croix Vintenar#fl1";
вот эта отвечают нпц за выдачу приза так?

Так.

set $@FlaviusBG2, 1;
set $@FlaviusBG2_Victory, 0;
так получаеться если я поставлю место 0 - 9 то команда будет получать которая выйграет 9?

Так, если ты при выйгрыше это командой назначишь ей $@FlaviusBG2 = 1, а потом при проверке на победителя будешь проверять эту переменную

Автор: SergeiX: Дата: 04.15.2011

ешё маленький вопросик там блин задержка на каждое бг 5-10 минут как убрать её или уменьшить в скрипте не нашол на это дело

Автор: Кеник: Дата: 04.15.2011

Погляди, где gettimetick используется. Подозреваю, что через него сделано, либо смотри использование таймеров.

Автор: SergeiX: Дата: 04.15.2011

set Flavius_BG_Tick, gettimetick(2) + 300
случайно не это?

Автор: Кеник: Дата: 04.15.2011

Мне эта строчка говорит о том же, о чем тебе эта:
mes2 .@npcname$,$@bye$;

Автор: SergeiX: Дата: 04.15.2011

говорит название нпц покупки?

Автор: Кеник: Дата: 04.15.2011

Нет)

Автор: SergeiX: Дата: 04.15.2011

какаята переменая к слову buy??

Автор: Кеник: Дата: 04.15.2011

Нет. Забей уже. Смысл в том, что одна строчка ни о чем не говорит.Говорит только, что какой-то переменной присваивается значение равное gettimetick(2)+300 :D

Автор: SupR1g: Дата: 04.27.2011

Цитата SergeiX;38810:
set Flavius_BG_Tick, gettimetick(2) + 300
случайно не это?


Да эта.
+300 это в секундах, т.е. 5 минут. Так же не забудь выставить нужную тебе задержку и при условии, если игрок выйдет с БГ, это практически в самом начале каждого скрипта БГ идёт, вот здесь:
OnGuillaumeQuit:
OnCroixQuit:
бла бла бла
бла бла бла
бла бла бла
}
}
}
set BG_Delay_Tick, gettimetick(2) + 300;
end;