Автор: champ: Дата: 05.28.2010
Простенький Торговец+Примершик в одном обличии.
Очень давно не практикавался в кодах, возможно коды усторели но всё же :)
pvp_y_1-1,158,188,5 script Злая Валькирия 403,{
mes "[Злая Валькирия]";
mes "Привет! У тебя есть немного TCG?";
mes "Могу поменять на что нибуть стоющие!";
mes "Выбирай...";
next;
menu "Шлемы Валькирии - Уровень 1",v1,"Шлемы Валькирии - Уровень 2",v2;
close;
v1:
Mes "Описание:";
next;
menu "Синяя Валькирия",bv,"Зелёная Валькирия",gv,"Оранжевая Валькирия",ov,"Красная Валькирия",rv,"Чёрная Валькирия",blv,"Фиолетовая валькирия",vv;
close;
bv:
mes "Приниси мне:";
mes "20 TCG";
next;
menu "Сделать",-,"Примерить",p1,"Нет",no;
if (countitem(7227) < 20) goto noItems;
delitem 7227,20;
getitem 18353,1;
close;
p1:
mes "После перезахода в игру спрайт вещи пропадет.";
mes "Эта шапка будет выглядеть на тебе так:";
next;
atcommand "@changelook "+595;
close;
gv:
mes "Приниси мне:";
mes "25 TCG";
next;
menu "Сделать",-,"Примерить",p2,"Нет",no;
if (countitem(7227) < 25) goto noItems;
delitem 7227,25;
getitem 18354,1;
close;
p2:
mes "После перезахода в игру спрайт вещи пропадет.";
mes "Эта шапка будет выглядеть на тебе так:";
next;
atcommand "@changelook "+596;
close;
ov:
mes "Приниси мне:";
mes "25 TCG";
next;
menu "Сделать",-,"Примерить",p3,"Нет",no;
if (countitem(7227) < 25) goto noItems;
delitem 7227,25;
getitem 18355,1;
close;
p3:
mes "После перезахода в игру спрайт вещи пропадет.";
mes "Эта шапка будет выглядеть на тебе так:";
next;
atcommand "@changelook "+597;
close;
rv:
mes "Приниси мне:";
mes "35 TCG";
next;
menu "Сделать",-,"Примерить",p4,"Нет",no;
if (countitem(7227) < 35) goto noItems;
delitem 7227,35;
getitem 18356,1;
close;
p4:
mes "После перезахода в игру спрайт вещи пропадет.";
mes "Эта шапка будет выглядеть на тебе так:";
next;
atcommand "@changelook "+598;
close;
blv:
mes "Приниси мне:";
mes "25 TCG";
next;
menu "Сделать",-,"Примерить",p5,"Нет",no;
if (countitem(7227) < 25) goto noItems;
delitem 7227,25;
getitem 18357,1;
close;
p5:
mes "После перезахода в игру спрайт вещи пропадет.";
mes "Эта шапка будет выглядеть на тебе так:";
next;
atcommand "@changelook "+599;
close;
vv:
mes "Я гляжу тебе приглянулась Фиолетовая Валькирия??";
mes "Она очень дорогая";
next;
mes "Приниси мне:";
mes "Синяя Валькирия";
mes "Зелёная Валькирия";
mes "Оранжевая Валькирия";
mes "Красная Валькирия";
mes "Чёрная Валькирия";
next;
menu "Сделать",-,"Примерить",p6,"Нет",no;
if (countitem(18353) < 1) goto noItems2;
if (countitem(18354) < 1) goto noItems2;
if (countitem(18355) < 1) goto noItems2;
if (countitem(18356) < 1) goto noItems2;
if (countitem(18357) < 1) goto noItems2;
delitem 18353,1;
delitem 18354,1;
delitem 18355,1;
delitem 18356,1;
delitem 18357,1;
getitem 18358,1;
close;
p6:
mes "После перезахода в игру спрайт вещи пропадет.";
mes "Эта шапка будет выглядеть на тебе так:";
next;
atcommand "@changelook "+600;
close;
v2:
Mes "Описание:";
Mes "Синяя Валькирия";
mes "Dex+7,Agi+3,Vit+4,Luk+10";
mes "Красная Валькрия";
mes "Str+3,Int+7,Vit+4,Luk+10";
next;
menu "Синяя Валькирия ",bv2,"Красная валькирия",rv2;
close;
bv2:
mes "Приниси мне:";
mes "40 TCG";
next;
menu "Сделать",-,"Примерить",p7,"Нет",no;
if (countitem(7227) < 40) goto noItems;
delitem 7227,40;
getitem 18379,1;
close;
p7:
mes "После перезахода в игру спрайт вещи пропадет.";
mes "Эта шапка будет выглядеть на тебе так:";
next;
atcommand "@changelook "+621;
close;
rv2:
mes "Приниси мне:";
mes "40 TCG";
next;
menu "Сделать",-,"Примерить",p8,"Нет",no;
if (countitem(7227) < 40) goto noItems;
delitem 7227,40;
getitem 18380,1;
close;
p8:
mes "После перезахода в игру спрайт вещи пропадет.";
mes "Эта шапка будет выглядеть на тебе так:";
next;
atcommand "@changelook "+622;
close;
noItems:
mes "У тебя нехватает TCG";
close;
noItems2:
mes "У тебя нехватает Шлемов";
close;
no:
mes "Приходи ещё...";
close;
end;
}
Автор: Даниил: Дата: 05.29.2010
Вот когда выходишь с непися, чтобы он снимал с тебя этот спрайт вещи:
Это сверху:
set @topview, getlook(4);
addtimer 1000, strnpcinfo(3)+"::OnLeave";
prontera,x,y,0 script Name sprite,{
L_Valk_Pri:
set @view, getiteminfo(ID ШМОТКИ,11);
atcommand "@changelook 1 " + @view;
next;
goto L_Valk;
close;
OnLeave:
atcommand "@changelook 1 " + @topview;
close;
Автор: champ: Дата: 05.29.2010
Цитата Даниил;24304:
Неочень, вот что получилось у меня:
prontera,147,171,5 script Jack 407,{
set @topview, getlook(4);
addtimer 1000, strnpcinfo(3)+"::OnLeave";
mes "[Jack]";
mes "Здрасте, "+strcharinfo(0) +"";
mes "Я знаменитый мастер в Королевстве!";
mes "Чем я могу вам помочь?";
next;
menu "Valkyrie Helm",L_Valk,"Lord Kaho's Horn",L_Kaho;
L_Valk:
mes "[Jack]";
mes "Принеси мне...";
next;
mes "[Jack]";
mes "Soft Feather - 3.000 шт";
mes "Valkyrie Randris Card - 15 шт";
mes "Valkyrie Helm [1] - 5 шт";
mes "Rune of the Darkness - 3.000 шт";
mes "Bloody Rune - 3.000 шт";
mes "Drifting Air - 5 шт";
mes "950.000.000 zeny";
next;
menu "Я все собрал",L_Valk_1,"Что он дает?",L_Valk_Inf,"Примерить",L_Valk_Pri,"Пойду собирать",L_move;
L_Valk_1:
if(countitem(7063)<3000 || countitem(4407)<15 || countitem(5171)<5 || countitem(7511)<3000 || countitem(7563)<3000 || countitem(7092)<5 || Zeny < 950000000) goto L_NO_MAT;
delitem 7063,3000;
delitem 4407,15;
delitem 5171,5;
delitem 7511,3000;
delitem 7563,3000;
delitem 7092,5;
getitem 26044,1;
set Zeny,zeny-950000000;
misceffect 154;
mes "[Jack]";
mes "Вот твой шлем!";
close;
L_Valk_Pri:
set @view, getiteminfo(26044,11);
atcommand "@changelook 1 " + @view;
next;
goto L_Valk;
close;
L_Valk_Inf:
next;
mes "[Jack]";
mes "[4] - слота";
mes "STR + 5, INT + 5";
mes "VIT + 10, AGI + 10";
mes "LUK + 20, MDEF + 10";
next;
goto L_Valk;
close;
L_Kaho:
mes "[Jack]";
mes "Принеси мне...";
next;
mes "[Jack]";
mes "Evil Horn - 1.500 шт";
mes "Emblem of the Sun God - 2 шт";
mes "Green Feeler - 5 шт";
mes "Antelope Horn - 1.500 шт";
mes "Stiff Horn - 3.000 шт";
mes "Baphomet Card - 5 шт";
mes "850.000.000 zeny";
next;
menu "Я все собрал",L_Kaho_1,"Что они дают?",L_Kaho_Inf,"Примерить",L_Kaho_Pri,"Пойду собирать",L_move;
L_Kaho_1:
if(countitem(923)<1500 || countitem(7086)<2 || countitem(2298)<5 || countitem(7106)<1500 || countitem(7008)<1500 || countitem(4147)<5 || Zeny < 850000000) goto L_NO_MAT;
delitem 923,1500;
delitem 7086,2;
delitem 2298,5;
delitem 7106,1500;
delitem 7008,1500;
delitem 4147,5;
getitem 26044,1;
set Zeny,zeny-850000000;
misceffect 154;
mes "[Jack]";
mes "Вот твои рога!";
close;
L_Kaho_Pri:
set @view, getiteminfo(5013,11);
atcommand "@changelook 1 " + @view;
next;
goto L_Valk;
close;
L_Kaho_Inf:
mes "[Jack]";
mes "[4] - слота";
mes "STR + 5, INT + 5";
mes "VIT + 10, AGI + 10";
mes "LUK + 20, MDEF + 10";
next;
goto L_Kaho;
close;
L_move:
mes "[Jack]";
mes "Желаю удачи!";
close;
L_NO_MAT:
mes "[Jack]";
mes "Эх.. я не такой уж глупый, где вещи?";
mes "Досвидания мистер, приходите когда собирёте!";
close;
OnLeave:
atcommand "@changelook 1 " + @topview;
close;
}
Автор: Мяфк: Дата: 05.29.2010
Боже, лэйблы ещё кто-то использует..
Автор: DiS[IP]: Дата: 05.29.2010
[FONT=Lucida Console]Дай-ка я еще по оффтоплю..Мяфк,лейбы используют ВСЕ,кроме нас. :)[/FONT]
Автор: champ: Дата: 05.29.2010
Цитата Dis[IP];24318:
[FONT=Lucida Console]Дай-ка я еще по оффтоплю..Мяфк,лейбы используют ВСЕ,кроме нас. :)[/FONT]
Автор: Мяфк: Дата: 05.29.2010
Да. Следующий вопрос будет, какая разница?
Плохой стиль программирования. Не удобно, придумывать кучу имён и т.п.
Автор: Gr1nS1de: Дата: 05.29.2010
м... Когда много диалогов, лейблы использовать удобней... :D
Да и вообще это почти как переменные... тоесть ты же не будешь называть переменную например "p1", т.к. потом ты можешь в ней запутаться, если она будет не одна...
Поэтому не согласен, что это "Плохой стиль программирования".
Скорей всего это просто устаревший стиль...
Автор: champ: Дата: 05.29.2010
Цитата Мяфк;24342]Да. Следующий вопрос будет, какая разница?
Плохой стиль программирования. Не удобно, придумывать кучу имён и т.п.