Назад

Торговец+Примершик в одном обличии :)

Автор: 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]

А вы пишите через case 1,2,3 и т.д. ?

Автор: Мяфк: Дата: 05.29.2010

Да. Следующий вопрос будет, какая разница?
Плохой стиль программирования. Не удобно, придумывать кучу имён и т.п.

Автор: Gr1nS1de: Дата: 05.29.2010

м... Когда много диалогов, лейблы использовать удобней... :D
Да и вообще это почти как переменные... тоесть ты же не будешь называть переменную например "p1", т.к. потом ты можешь в ней запутаться, если она будет не одна...
Поэтому не согласен, что это "Плохой стиль программирования".
Скорей всего это просто устаревший стиль...

Автор: champ: Дата: 05.29.2010

Цитата Мяфк;24342]Да. Следующий вопрос будет, какая разница?
Плохой стиль программирования. Не удобно, придумывать кучу имён и т.п.



нет, такова вопроса не будет. :)
Полазил по форуму посматерл скрипты, теперь тоже буду так писать, но не везде...


[QUOTE=Gr1nS1de;24354:
м... Когда много диалогов, лейблы использовать удобней... :D
Да и вообще это почти как переменные... тоесть ты же не будешь называть переменную например "p1", т.к. потом ты можешь в ней запутаться, если она будет не одна...
Поэтому не согласен, что это "Плохой стиль программирования".

Вот поэтому и не везде :)