Перейти к содержанию

Помогите с нпц


Рекомендуемые сообщения

prontera,154,86,6 script Refiner 63,{
//npc setting:
set .@npc$, "^FF0000[Refiner]^000000";
set .@rate$,35; // рейт заточки
setarray .@Ref_ItemID[0],7227,1;
set $zeny1,50000; // 1 lvl weapon
set $zeny2,50000; // 2 lvl weapon зени
set $zeny3,50000; // 3 lvl weapon зени
set $zeny4,50000; // 4 lvl weapon зени
//-----------------//

mes .@npc$;
mes "Что будем делать?";
next;
switch(select("Заточить за ^FF0000["+getitemname(.@Ref_ItemID[0])+"]^000000:Переточить"))
{
case 1:
callfunc "refine_refcard";
close;

case 2:
callfunc "refine_refcard";
close;
}
}


function script refine_refcard {
set .@RefBlueCard,10;
setarray .@Ref_ItemID[0],7227,1;
set .@npc$, "^FF0000[Refiner]^000000";

mes .@npc$;
mes "Максимальная безопасная точка + ["+.@RefBlueCard+"]";
mes "Желаете заточить что-нибудь?";
next;
if(select("Конечно!:Нет, спасибо!")==2)
{
mes .@npc$;
mes "Ещё увидимся!";
return;
}

if(countitem(.@ref_itemid[0])<.@ref_itemid[1])
{
mes .@npc$;
mes "Не достаточно ["+getitemname(.@ref_itemid[0])+"]";
close;
}

setarray .@pos$[1], "Голова","Грудь","Левая рука","Правая рука","Накидка","Обувь";
set .@sel$,"";
for( set .@p,1; .@p <= 6; set .@p,.@p+1 )
{
if( getequipisequiped(.@p) )
set .@sel$, .@sel$ + .@pos$[.@p] + "-" + "[" + getequipname(.@p) + "]";

set .@sel$, .@sel$ + ":";
}

set .@part,select(.@sel$);
if(getequiprefinerycnt(.@part) >= .@RefBlueCard)
{
mes .@npc$;
mes "Ваша вещь уже заточена максимально! + ["+.@RefBlueCard+"]";
return;
}
else if(getequiprefinerycnt(.@part) < .@RefBlueCard)
{
if(!getequipisenableref(.@part))
{
mes .@npc$;
mes "Эту вещь заточить не возможно!";
return;
}
else
{
delitem .@Ref_ItemID[0],.@Ref_ItemID[1];
successrefitem .@part;
set @Emotion,rand(1,2);

if(@Emotion == 1)
{
mes .@npc$;
mes "Заточка успешна!";
mes "Спасибо что используете мои услуги ";
emotion 18;
return;
}
else if(@Emotion == 2)
{
mes .@npc$;
mes "Ха-ха-ха!!";
mes "Удачи ";
emotion 21;
return;
}
}
}
}

исправил ошибку зависания. нпц. который скинул

SmokeIT

http://ea-support.ws/index.php?/user/2438-smokeit/

точит без шанса поломки хотя и стоит

set .@rate$,35; // рейт заточки

и без рандома.

за ранее спасибо. кто поможет не обижу))

Ссылка на комментарий
Поделиться на другие сайты

Почему не используешь стандартного?

Да и в чем проблема?

mes "Максимальная безопасная точка + ["+.@RefBlueCard+"]";

.@RefBlueCard = 10

Любая вещь точится до 10 безопасно...

Чего тебе нужно?

И твои 35% вообще нигде не используются

Изменено пользователем botka4aet
Ссылка на комментарий
Поделиться на другие сайты

Почему не используешь стандартного?

нужен был рандомный кузнец. т.е что бы точил рандомно от 0 до 10.

а с этим ло**лся, заказал называется скрипт нпц))))

Ссылка на комментарий
Поделиться на другие сайты

А в чём принцип работы нпц должен быть?

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

Ссылка на комментарий
Поделиться на другие сайты

А в чём принцип работы нпц должен быть?

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

Подходишь к нпц и выбираешь - стандартная заточка или ПЕРЕточка

Если ты выбираешь ПЕРЕточку, то

а) вещь с шансом 35% ломается

б) вещь получает другую заточку(с +9 до +1 изи можно сделать)

Ну и для ПЕРЕточки отдельная цена

Ссылка на комментарий
Поделиться на другие сайты

http://ea-support.ws/index.php?/user/1862-wlillusion/ Именно так, но при этом она может сломаться, а так же можно было сново ее точить, пример дьябла роба заточилось на +5, далее ее можно переточить снова и опять же когда ее точим она точится от 0-10 а заточка +5 в повторной заточке не учавствует, т.е. Заточка +5 убирается и предмет точится как будто он небыл еще заточён. Изменено пользователем ggRo
  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

http://ea-support.ws...862-wlillusion/ Именно так, но при этом она может сломаться, а так же можно было сново ее точить, пример дьябла роба заточилось на +5, далее ее можно переточить снова и опять же когда ее точим она точится от 0-10 а заточка +5 в повторной заточке не учавствует, т.е. Заточка +5 убирается и предмет точится как будто он небыл еще заточён.

Ясно, забавная рулетка.

Ссылка на комментарий
Поделиться на другие сайты

Решил вспомнить молодость, глянь насколько тебе подойдёт.

Разрешённые предметы прописывать в OnInit:

 setarray .allowed[0],1163,2280;

Прописан клеймор и саккат, если первым числом идёт 0, то будут допустимы все предметы, потом может чёрный список добавлю.

Цены там же в OnInit:

 setarray .price[0],5000,5000,10000,15000,25000,50000;

Самая первая цена - для бронек и акссесуаров (у них всегда уровень 0).

Шанс поломать предмет:

 set .breakrate, 30;

от 0 до 100, я тут погонял и вроде идеально всё-таки 50.

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

Изменено пользователем wl.illusion
  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

ругается на 174 строку.

[Error]: Loading NPC file: npc/ggRo/refine.txt
script error on npc/ggRo/refine.txt line 174
parse_line: expect command, missing function name or calling undeclared function
169 : // яОХЯШБЮЕЛ ГЕМХ
170 : set Zeny, Zeny-.price[getequipweaponlv(.@part)];
171 :
172 : // дКЪ МЮВЮКЮ ОПНБЕПХЛ ЬЮМЯ МЮ ОНКНЛЙС
173 : if( rand(101) < .breakrate ) {
* 174 : 'b'reakequip(.@part);
175 : goto L_Oops;
176 : }
177 :
178 : // оНКНЛЙХ МЕ АШКН, Б КЧАНЛ ЯКСВЮЕ сЯОЕУ!
179 : specialeffect 154; // Forge Success

Ссылка на комментарий
Поделиться на другие сайты

ругается на 174 строку.

какая ревизия афины?

свн ревизион exported выдает при запуске.

а так вроде как еамод, какая версия тоже не знаю..

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...
Яндекс.Метрика