Назад

Дописать

Автор: -OnIZuCa-: Дата: 02.10.2010

Привет. Помогите дописать этот скрипт.
Дописать, нужна оппонента.
Суть оппонента. После того как поговорили с брокером оппонент начинает превращаться в монстров. Всего 5 попыток угадать.
За каждую попытку снимается 20к. Если угадал 4из5 то деньги возвращаются если 5х5 то спер итем ( пока любой) Буду очень благодарен если поможете.

-	script	oni	-1,{
OnInit:
disablenpc "Брокер";
disablenpc "Брокеp";
disablenpc "Брoкер";
end;
}

prontera,150,179,5 script Уборщик 86,{
set .npc$,"^ff0000[Уборщик]^000000";
mes .npc$;
mes "Приветствую тебя ^ff0000"+strcharinfo(0)+"^000000.";
mes "Ты хочешь подзаработать?";
switch(select("Да.:Нет.")){

case 2:
next;
mes .npc$;
mes "До свидания!";
close;

case 1:
next;
mes .npc$;
mes "Я знаю где можно заработать много ^ff0000zeny^000000.";
mes "Но, за все в нашей жизни нужно платить. За эту информацию я возьму с тебя ^ff0000500.000 zeny^000000 ";
next;
mes .npc$;
set @sex, Sex;
if(@sex)
set $@msg$, "согласен";
else
set $@msg$, "согласна";
mes "Ты "+$@msg$+"?";
switch(select("Да.:Нет.")){

case 2:
next;
mes .npc$;
mes "До свидания!";
close;

case 1:
next;
mes .npc$;
mes "Деньги вперед!";
switch(select("Держи.:Уйти.")){

case 2:
next;
mes .npc$;
mes "До свидания!";
close;

case 1:
next;
if (zeny < 500000) {
mes .npc$;
mes "Извени, но у тебя нахватает денег.";
mes "Приходи тогда, когда будут деньги.";
close;
}
mes .npc$;
set Zeny, Zeny - 500000;
mes "Рад иметь с вами дело.";
next;
mes .npc$;
mes "А, теперь как и обещал.";
set $map,rand(2);

if($map == 0){
next;
mes .npc$;
mes "Иди в ^ff0000Пайон^000000. ";
mes "По этим -- координатам найдешь человека по имени ^ff0000[Брокер]^000000. Остальное узнаешь у него. ";
next;
mes .npc$;
mes "Запомни, никому ни слова!";
enablenpc "Брокер";
close;
}

if($map == 1){
next;
mes .npc$;
mes "Иди в ^ff0000Морок^000000. ";
mes "По этим -- координатам найдешь человека по имени ^ff0000[Брокер]^000000. Остальное узнаешь у него. ";
next;
mes .npc$;
mes "Запомни, никому ни слова!";
enablenpc "Брокеp";
close;
}

if($map == 2){
next;
mes .npc$;
mes "Иди в ^ff0000Гефен^000000. ";
mes "По этим -- координатам найдешь человека по имени ^ff0000[Брокер]^000000. Остальное узнаешь у него. ";
next;
mes .npc$;
mes "Запомни, никому ни слова!";
enablenpc "Брoкер";
close;
}

}}}}

prontera,146,173,5 script Брокер 907,{

set .npc$,"^ff0000[Брокер]^000000";
mes .npc$;
mes "Здравствуйте.";
mes "Что вы хотели?";
switch(select("Заработать.:Ничего.")) {

case 2:
next;
mes .npc$;
mes "До свидания.";
close;

case 1:
next;
mes .npc$;
mes "Хм... Хорошо, хорошо.";
mes "Я вот, что могу предложить.";
next;
mes .npc$;
mes "За ^ff0000100.000 zeny^000000 я дам тебе 6 попыток угадать монстра. ";
mes "Если угадаешь я дам тебе супер шапку.";
next;
mes .npc$;
set @sex, Sex;
if(@sex)
set $@msg$, "согласен";
else
set $@msg$, "согласна";
mes "Ты "+$@msg$+"?";
switch(select("Да.:Нет.")){

case 2:
next;
mes .npc$;
mes "До свидания.";
close;

case 1:
next;
mes .npc$;
mes "Деньги в перед!";
switch(select("Держи.:Уйти.")){

case 2:
next;
mes .npc$;
mes "До свидания.";
close;

case 1:
if (zeny < 100000) {
mes .npc$;
mes "Извени, но у тебя нахватает денег.";
mes "Приходи тогда, когда будут деньги.";
close;
}
set Zeny, Zeny - 100000;
next;
mes .npc$;
mes "Сейчас я расскажу правила.";
next;
mes .npc$;
set @sex, Sex;
if(@sex)
set $@msg$, "должен";
else
set $@msg$, "должна";
mes "Мой оппонент может превратиться в любого монстра наугад.";
mes "Ты "+$@msg$+" узнать его и выкрикнуть его имя.";
mes "Большие и маленькие буквы не считаются.";
mes "Вот все правила.";
next;
mes .npc$;
set @sex, Sex;
if(@sex)
set $@msg$, "готов";
else
set $@msg$, "готова";
mes "Ты "+$@msg$+"?";
switch(select("Да.:Нет.")) {

case 2:
next;
mes .npc$;
mes "Приходи, когда будешь готов.";
close;

case 1:
next;
mes .npc$;
mes "Поехали!";
close;


}}}}}

prontera,146,173,5 script Брокеp 907,{

set .npc$,"^ff0000[Брокер]^000000";
mes .npc$;
mes "Здравствуйте.";
mes "Что вы хотели?";
switch(select("Заработать.:Ничего.")) {

case 2:
next;
mes .npc$;
mes "До свидания.";
close;

case 1:
next;
mes .npc$;
mes "Хм... Хорошо, хорошо.";
mes "Я вот, что могу предложить.";
next;
mes .npc$;
mes "За ^ff0000100.000 zeny^000000 я дам тебе 6 попыток угадать монстра. ";
mes "Если угадаешь я дам тебе супер шапку.";
next;
mes .npc$;
set @sex, Sex;
if(@sex)
set $@msg$, "согласен";
else
set $@msg$, "согласна";
mes "Ты "+$@msg$+"?";
switch(select("Да.:Нет.")){

case 2:
next;
mes .npc$;
mes "До свидания.";
close;

case 1:
next;
mes .npc$;
mes "Деньги в перед!";
switch(select("Держи.:Уйти.")){

case 2:
next;
mes .npc$;
mes "До свидания.";
close;

case 1:
if (zeny < 100000) {
mes .npc$;
mes "Извени, но у тебя нахватает денег.";
mes "Приходи тогда, когда будут деньги.";
close;
}
set Zeny, Zeny - 100000;
next;
mes .npc$;
mes "Сейчас я расскажу правила.";
next;
mes .npc$;
set @sex, Sex;
if(@sex)
set $@msg$, "должен";
else
set $@msg$, "должна";
mes "Мой оппонент может превратиться в любого монстра наугад.";
mes "Ты "+$@msg$+" узнать его и выкрикнуть его имя.";
mes "Большие и маленькие буквы не считаются.";
mes "Вот все правила.";
next;
mes .npc$;
set @sex, Sex;
if(@sex)
set $@msg$, "готов";
else
set $@msg$, "готова";
mes "Ты "+$@msg$+"?";
switch(select("Да.:Нет.")) {

case 2:
next;
mes .npc$;
mes "Приходи, когда будешь готов.";
close;

case 1:
next;
mes .npc$;
mes "Поехали!";
close;


}}}}}

prontera,146,173,5 script Брoкер 907,{

set .npc$,"^ff0000[Брокер]^000000";
mes .npc$;
mes "Здравствуйте.";
mes "Что вы хотели?";
switch(select("Заработать.:Ничего.")) {

case 2:
next;
mes .npc$;
mes "До свидания.";
close;

case 1:
next;
mes .npc$;
mes "Хм... Хорошо, хорошо.";
mes "Я вот, что могу предложить.";
next;
mes .npc$;
mes "За ^ff0000100.000 zeny^000000 я дам тебе 6 попыток угадать монстра. ";
mes "Если угадаешь я дам тебе супер шапку.";
next;
mes .npc$;
set @sex, Sex;
if(@sex)
set $@msg$, "согласен";
else
set $@msg$, "согласна";
mes "Ты "+$@msg$+"?";
switch(select("Да.:Нет.")){

case 2:
next;
mes .npc$;
mes "До свидания.";
close;

case 1:
next;
mes .npc$;
mes "Деньги в перед!";
switch(select("Держи.:Уйти.")){

case 2:
next;
mes .npc$;
mes "До свидания.";
close;

case 1:
if (zeny < 100000) {
mes .npc$;
mes "Извени, но у тебя нахватает денег.";
mes "Приходи тогда, когда будут деньги.";
close;
}
set Zeny, Zeny - 100000;
next;
mes .npc$;
mes "Сейчас я расскажу правила.";
next;
mes .npc$;
set @sex, Sex;
if(@sex)
set $@msg$, "должен";
else
set $@msg$, "должна";
mes "Мой оппонент может превратиться в любого монстра наугад.";
mes "Ты "+$@msg$+" узнать его и выкрикнуть его имя.";
mes "Большие и маленькие буквы не считаются.";
mes "Вот все правила.";
next;
mes .npc$;
set @sex, Sex;
if(@sex)
set $@msg$, "готов";
else
set $@msg$, "готова";
mes "Ты "+$@msg$+"?";
switch(select("Да.:Нет.")) {

case 2:
next;
mes .npc$;
mes "Приходи, когда будешь готов.";
close;

case 1:
next;
mes .npc$;
mes "Поехали!";
close;


}}}}}

prontera,144,173,2 script Оппонент 72,{



}

Автор: -OnIZuCa-: Дата: 02.10.2010

Пол правельный, буд благодарен!

Автор: San: Дата: 02.11.2010

вчера забыл выложить.:)
ну вот смотри что получилось:

prontera,150,179,5	script	Уборщик	86,{
set .npc$,"^ff0000[Уборщик]^000000";
mes .npc$;
mes "Приветствую тебя ^ff0000"+strcharinfo(0)+"^000000.";
mes "Ты хочешь подзаработать?";
switch(select("Да.:Нет.")){

case 2:
next;
mes .npc$;
mes "До свидания!";
close;

case 1:
next;
mes .npc$;
mes "Я знаю где можно заработать много ^ff0000zeny^000000.";
mes "Но, за все в нашей жизни нужно платить. За эту информацию я возьму с тебя ^ff0000500.000 zeny^000000 ";
next;
mes .npc$;
set @sex, Sex;
if(@sex)
set $@msg$, "согласен";
else
set $@msg$, "согласна";
mes "Ты "+$@msg$+"?";
switch(select("Да.:Нет.")){

case 2:
next;
mes .npc$;
mes "До свидания!";
close;

case 1:
next;
mes .npc$;
mes "Деньги вперед!";
switch(select("Держи.:Уйти.")){

case 2:
next;
mes .npc$;
mes "До свидания!";
close;

case 1:
next;
if (zeny < 500000) {
mes .npc$;
mes "Извени, но у тебя нахватает денег.";
mes "Приходи тогда, когда будут деньги.";
close;
}
mes .npc$;
set Zeny, Zeny - 500000;
mes "Рад иметь с вами дело.";
next;
mes .npc$;
mes "А, теперь как и обещал.";
set $map,rand(2);

if($map == 0){
next;
mes .npc$;
mes "Иди в ^ff0000Пайон^000000. ";
mes "По этим -- координатам найдешь человека по имени ^ff0000[Брокер]^000000. Остальное узнаешь у него. ";
next;
mes .npc$;
mes "Запомни, никому ни слова!";
set $broker, 1;
close;
}

if($map == 1){
next;
mes .npc$;
mes "Иди в ^ff0000Морок^000000. ";
mes "По этим -- координатам найдешь человека по имени ^ff0000[Брокер]^000000. Остальное узнаешь у него. ";
next;
mes .npc$;
mes "Запомни, никому ни слова!";
set $broker, 2;
close;
}

if($map == 2){
next;
mes .npc$;
mes "Иди в ^ff0000Гефен^000000. ";
mes "По этим -- координатам найдешь человека по имени ^ff0000[Брокер]^000000. Остальное узнаешь у него. ";
next;
mes .npc$;
mes "Запомни, никому ни слова!";
set $broker, 3;
close;
}

}}}}

prontera,146,173,5 script Брокер 907,{

set .npc$,"^ff0000[Брокер]^000000";
if($broker == 1){
if (!$guessbegin)
{
mes "Угадуй монстра";
close;
}
if($vce==1){
mes "Ты выиграл "+$pobeda+" из 5 раунда(ов)";
next;
if($pobeda < 4){mes "Ты выиграл слишком мало раундов";set $vce,0;set $broker,0;close;}
if($pobeda == 4){mes "Поздравляю ты вернул свои деньги";
set $broker,0;
set Zeny,Zeny + 100000;
set $vce,0;
close;
}
if($pobeda == 5){
mes "Поздравляю! Ты выиграл шапку";
set $broker,0;
set $vce,0;
getitem 909,1;
close;
}}else{
mes .npc$;
mes "Здравствуйте.";
mes "Что вы хотели?";
switch(select("Заработать.:Ничего.")) {

case 2:
next;
mes .npc$;
mes "До свидания.";
close;

case 1:
next;
mes .npc$;
mes "Хм... Хорошо, хорошо.";
mes "Я вот, что могу предложить.";
next;
mes .npc$;
mes "За ^ff0000100.000 zeny^000000 я дам тебе 6 попыток угадать монстра. ";
mes "Если угадаешь я дам тебе супер шапку.";
next;
mes .npc$;
set @sex, Sex;
if(@sex)
set $@msg$, "согласен";
else
set $@msg$, "согласна";
mes "Ты "+$@msg$+"?";
switch(select("Да.:Нет.")){

case 2:
next;
mes .npc$;
mes "До свидания.";
close;

case 1:
next;
mes .npc$;
mes "Деньги в перед!";
switch(select("Держи.:Уйти.")){

case 2:
next;
mes .npc$;
mes "До свидания.";
close;

case 1:
if (zeny < 100000) {
mes .npc$;
mes "Извени, но у тебя нахватает денег.";
mes "Приходи тогда, когда будут деньги.";
close;
}
set Zeny, Zeny - 100000;
next;
mes .npc$;
mes "Сейчас я расскажу правила.";
next;
mes .npc$;
set @sex, Sex;
if(@sex)
set $@msg$, "должен";
else
set $@msg$, "должна";
mes "Мой оппонент может превратиться в любого монстра наугад.";
mes "Ты "+$@msg$+" узнать его и выкрикнуть его имя.";
mes "Большие и маленькие буквы не считаются.";
mes "Вот все правила.";
next;
mes .npc$;
set @sex, Sex;
if(@sex)
set $@msg$, "готов";
else
set $@msg$, "готова";
mes "Ты "+$@msg$+"?";
switch(select("Да.:Нет.")) {

case 2:
next;
mes .npc$;
mes "Приходи, когда будешь готов.";
close;

case 1:
next;
mes .npc$;
mes "Поехали!";
next;
set $DisguiseRound, 0;
set Zeny,Zeny -100000;
set $pobeda,0;
set $vce,0;
donpcevent "Оппонент::OnStart";
close;

}}}}}}else{mes "бб";close;}}

prontera,148,175,5 script Брокеp::2 907,{

set .npc$,"^ff0000[Брокер]^000000";
if($broker == 2){
if (!$guessbegin)
{
mes "Угадуй монстра";
close;
}
if($vce==1){
mes "Ты выиграл "+$pobeda+" из 5 раунда(ов)";
next;
if($pobeda < 4){mes "Ты выиграл слишком мало раундов";set $vce,0;set $broker,0;close;}
if($pobeda == 4){mes "Поздравляю ты вернул свои деньги";
set Zeny,Zeny + 100000;
set $broker,0;
set $vce,0;
close;
}
if($pobeda == 5){
mes "Поздравляю! Ты выиграл шапку";
set $broker,0;
getitem 909,1;
set $vce,0;
close;
}}else{
mes .npc$;
mes "Здравствуйте.";
mes "Что вы хотели?";
switch(select("Заработать.:Ничего.")) {

case 2:
next;
mes .npc$;
mes "До свидания.";
close;

case 1:
next;
mes .npc$;
mes "Хм... Хорошо, хорошо.";
mes "Я вот, что могу предложить.";
next;
mes .npc$;
mes "За ^ff0000100.000 zeny^000000 я дам тебе 5 попыток угадать монстра. ";
mes "Если угадаешь я дам тебе супер шапку.";
next;
mes .npc$;
set @sex, Sex;
if(@sex)
set $@msg$, "согласен";
else
set $@msg$, "согласна";
mes "Ты "+$@msg$+"?";
switch(select("Да.:Нет.")){

case 2:
next;
mes .npc$;
mes "До свидания.";
close;

case 1:
next;
mes .npc$;
mes "Деньги в перед!";
switch(select("Держи.:Уйти.")){

case 2:
next;
mes .npc$;
mes "До свидания.";
close;

case 1:
if (zeny < 100000) {
mes .npc$;
mes "Извени, но у тебя нахватает денег.";
mes "Приходи тогда, когда будут деньги.";
close;
}
set Zeny, Zeny - 100000;
next;
mes .npc$;
mes "Сейчас я расскажу правила.";
next;
mes .npc$;
set @sex, Sex;
if(@sex)
set $@msg$, "должен";
else
set $@msg$, "должна";
mes "Мой оппонент может превратиться в любого монстра наугад.";
mes "Ты "+$@msg$+" узнать его и выкрикнуть его имя.";
mes "Большие и маленькие буквы не считаются.";
mes "Вот все правила.";
next;
mes .npc$;
set @sex, Sex;
if(@sex)
set $@msg$, "готов";
else
set $@msg$, "готова";
mes "Ты "+$@msg$+"?";
switch(select("Да.:Нет.")) {

case 2:
next;
mes .npc$;
mes "Приходи, когда будешь готов.";
close;

case 1:
next;
mes .npc$;
mes "Поехали!";
next;
set $DisguiseRound, 0;
set Zeny,Zeny -100000;
set $pobeda,0;
set $vce,0;
donpcevent "Оппонент::OnStart";
close;


}}}}}}else{mes "бб";close;}}

prontera,146,175,5 script Брoкер::3 907,{

set .npc$,"^ff0000[Брокер]^000000";
if($broker == 3){
if (!$guessbegin)
{
mes "Угадуй монстра";
close;
}
if($vce==1){
mes "Ты выиграл "+$pobeda+" из 5 раунда(ов)";
next;
if($pobeda < 4){mes "Ты выиграл слишком мало раундов";set $vce,0;set $broker,0;close;}
if($pobeda == 4){mes "Поздравляю ты вернул свои деньги";
set $vce,0;
set Zeny,Zeny + 100000;
set $broker,0;
close;
}
if($pobeda == 5){
mes "Поздравляю! Ты выиграл шапку";
getitem 909,1;
set $broker,0;
set $vce,0;
close;
}}else{
mes .npc$;
mes "Здравствуйте.";
mes "Что вы хотели?";
switch(select("Заработать.:Ничего.")) {

case 2:
next;
mes .npc$;
mes "До свидания.";
close;

case 1:
next;
mes .npc$;
mes "Хм... Хорошо, хорошо.";
mes "Я вот, что могу предложить.";
next;
mes .npc$;
mes "За ^ff0000100.000 zeny^000000 я дам тебе 5 попыток угадать монстра. ";
mes "Если угадаешь я дам тебе супер шапку.";
next;
mes .npc$;
set @sex, Sex;
if(@sex)
set $@msg$, "согласен";
else
set $@msg$, "согласна";
mes "Ты "+$@msg$+"?";
switch(select("Да.:Нет.")){

case 2:
next;
mes .npc$;
mes "До свидания.";
close;

case 1:
next;
mes .npc$;
mes "Деньги в перед!";
switch(select("Держи.:Уйти.")){

case 2:
next;
mes .npc$;
mes "До свидания.";
close;

case 1:
if (zeny < 100000) {
mes .npc$;
mes "Извени, но у тебя нахватает денег.";
mes "Приходи тогда, когда будут деньги.";
close;
}
set Zeny, Zeny - 100000;
next;
mes .npc$;
mes "Сейчас я расскажу правила.";
next;
mes .npc$;
set @sex, Sex;
if(@sex)
set $@msg$, "должен";
else
set $@msg$, "должна";
mes "Мой оппонент может превратиться в любого монстра наугад.";
mes "Ты "+$@msg$+" узнать его и выкрикнуть его имя.";
mes "Большие и маленькие буквы не считаются.";
mes "Вот все правила.";
next;
mes .npc$;
set @sex, Sex;
if(@sex)
set $@msg$, "готов";
else
set $@msg$, "готова";
mes "Ты "+$@msg$+"?";
switch(select("Да.:Нет.")) {

case 2:
next;
mes .npc$;
mes "Приходи, когда будешь готов.";
close;

case 1:
next;
mes .npc$;
mes "Поехали!";
next;
set $DisguiseRound, 0;
set Zeny,Zeny -100000;
set $pobeda,0;
set $vce,0;
donpcevent "Оппонент::OnStart";
close;


}}}}}}else{mes "бб";close;}}
prontera,144,173,2 script Оппонент 72,{
if (!$guessbegin)
{
mes "...";
close;
}
end;

OnStart:
npctalk "ггг!";
set $guessbegin, 1;
set .DisguiseWon, 0;
if (!$DisguiseRound)
{
npctalk "Хорошо. Начнем!";
}
else if ($DisguiseRound < 5)
{
npctalk "Будьте готовы к следующему раунду.";
setnpctimer 0;
}
else
{
npctalk "Последний раунд!";
sleep 2000;
npctalk "Приготовьтесь.";
}
do
{
set $monster, rand(1001,1797);
}
while ($monster == 1003 || $monster == 1006 || $monster == 1017 || $monster == 1021 || $monster == 1022 || $monster == 1027 || $monster == 1043 || $monster == 1006 || $monster == 1136 || $monster == 1137 || $monster == 1168 || $monster == 1171 || $monster == 1172 || $monster == 1173 || $monster == 1181 || $monster == 1210 || $monster == 1223 || $monster == 1284 || ($monster >= 1324 && $monster <= 1363) || $monster == 1006 || $monster == 1407 || $monster == 1411 || $monster == 1414 || $monster == 1496 || $monster == 1501);
setnpctimer 0;
initnpctimer;
setnpcdisplay "Оппонент",$monster;
set $MonsterName$, strmobinfo(1,$monster);
defpattern 1, "([^:]+):.*\\s"+$MonsterName$+"(.*)", "OnWin";
activatepset 1;
npctalk "Ну что как зовут монстра?";
end;

OnTimer10000:
if (!.DisguiseWon)
{
npctalk "Давайте. Какой я монстер?";
}
end;


OnTimer20000:
if (!.DisguiseWon)
{
npctalk "Не знаеш?";
}
end;

OnTimer25000:
if (!.DisguiseWon)
{
npctalk "У вас есть 10 секунд чтобы назвать имя!!.";
}
end;

OnTimer35000:
if (!.DisguiseWon)
{
npctalk "Раунд окончен.";
set $DisguiseRound, $DisguiseRound + 1;
sleep 3000;
deletepset 1;
npctalk $MonsterName$ + " правильное имя!.";
sleep 5000;
if ($DisguiseRound >= 5)
{
set $DisguiseRound, 0;
sleep 3000;
npctalk "Евент кончился!";
sleep 3500;
npctalk "Увидимся!";
set $vce,1;
setnpcdisplay "Оппонент",50;
end;
}
goto OnStart;
}
end;

OnWin:
setnpctimer 0;
deletepset 1;
set .DisguiseWon, 1;
set $pobeda,$pobeda + 1;
set $DisguiseRound, $DisguiseRound + 1;
sleep2 3000;
npctalk "Ты дал верное имя!",0;
sleep2 3000;
npctalk $MonsterName$ + " Это правильное имя.";
sleep2 3000;

if ($DisguiseRound >= 5)
{
set $DisguiseRound, 0;
sleep 3000;
npctalk "Тест окончен!";
sleep 3500;
npctalk "Увидимся!";
sleep 2000;
emotion 12;
sleep 1000;
set $vce,1;
setnpcdisplay "Оппонент",50;
end;
}
sleep 5000;
goto OnStart;
end;
}


там только осталось раставить нпц, вписать айди приза.
и думаю лутше сделать чтобы нпц Оппонент стоял в какой то комнате, в которую варпал бы нпц брокер.

для написания оппонента взял ивент "Угадай монстра", ненужное убрал, и добавил туда несколько переменных.:D