kael
-
Постов
64 -
Зарегистрирован
-
Посещение
-
Победитель дней
3
Сообщения, опубликованные kael
-
-
Я делал все 2,компиляция без ошибок проходила,но от карты таро все равно не защищает.
Вы думаете я бы создал просто так такую тему?
- 1
-
Ещё такой вот вопрос,прочитал много тем про антикомы,но нечего толкового не нашел так как юзаю старую афину.
Подскажите как реализовать?
- 2
-
Непонял?
- 1
- 1
-
Каким образом можно сделать,чтобы нпц снимал с тебя весь эквип?
- 1
- 2
-
Теперь понял,спасибо.
-
-
Да.
Хочу начать работать с автодеском,мне как раз по профессии нужно будет изучать его)
-
Lable?
Объясните пожалуйста понятнее.
-
Всем привет.
Давно интересовал вот такой вопрос:
Каким образом убить определенного монстра?(Нужен для бонус Итема)
-
Сделал такую простенькую специфическую арену на любителя.
- 3
-
Купил слот,все прошло успешно.
-
1.Не уверен,но скорее луа не той версии и у тебя нету папки System(прилагается с луа файлами)
2.Дисконнектит из за того,что ты не прописал версию своего exe в :
а)clientinfo.xml
б)packet_db(ea/db/packet_db),тут же можешь узнать версию своего exe и прописать.
- 1
-
У тебя в 2 случаях разные названия спрайта и текстур
Смотри внимательнее.
BLACK_SCARF и black_gangster_scarf
-
Gans,а это идея!
- 1
- 1
-
Это не ответ,решение есть,но возможно оно не подходит для данной системы.
-
Всем привет.
Такой вот вопрос:Каким образом осуществить,чтобы нпц выдавал шмотки 1 раз?
Хотя глупый вопрос,так как мне кажется не как.
Можно сменить айп,создать новый акк и снова получить пак.
- 1
- 1
-
Ему лет 13,увидел какой то хай рейтовый ПвП сервер и тоже захотел
А если по теме,то идешь в любой текстовик с мобами и смотришь пример.(npc/mobs/field/yuno.txt)
Нечего сложного.
- 1
-
Я не советую запихивать лишние ресурсы в exe.
Если вы боитесь что ваш скин или же данные неонкуба кто то возьмет,"просто" зашифруйте их.
- 1
-
Пробуй это:
//|-----------------------------------------------------------------------------|//
//|[Release] Points System |//
//|-----------------------------------------------------------------------------|//
//|Скрипт был создан для FatalRO |//
//|-----------------------------------------------------------------------------|//
//|Cкрипт написал DeathHoll |//
//|-----------------------------------------------------------------------------|//
//|Последняя проверка скрипта была на eAthena SQL 13200 stable |//
//|-----------------------------------------------------------------------------|//
//|Description: Скрипт основан на примере Магазина Кафры |//
//|-----------------------------------------------------------------------------|//
//|Версия скрипта на данный момент 1.7 |//
//|1.0- Первая версия скрипта |//
//|1.1- Добавлена конфигурация нпс |//
//|1.2- Добавлена система удаления/добавления предметов из поинт шопа |//
//|1.3- Добавил ГМ Меню и функцию установки очков персонажу |//
//|1.4- Добавил в ГМ Меню функцию удаления всех поинтов с сервера |//
//|1.5- Добавил дубликатов и изменил систему установки очков |//
//|1.6- Исправил все мелкие баги |//
//|1.7- Финальная версия скрипта...но в дальнейшем будет полностью оптимизирован|//
//|-----------------------------------------------------------------------------|//
- shop F_Cash 139,501:50 //Не изменять тут ничего!!!!
//|=====================================================================|//
//| Конфигурация скрипта |//
//|=====================================================================|//
- script cashshop_conf -1,{
end;
OnInit:
set $@cpoint$, "Cash point";
//Указываем ваш сайт где рассказано о донате и т.п
set $@maxpoint, 20000; // Максимальное кол-во очков которое может быть у персонажа
set $@gmlvl, 99; // Минимальный уровень ГМ'а для управления поинтами
set $@npc$,"^000080[ Cash ]^000000"; // Устанавливаем Имя НПС
set $@maxInv,100; // Максимальное кол-во предметов которые может купить персонаж
set $@kickall,0; //Кикает всех персонажей после удаления всех поинтов с сервера
//|=====================================================================|//
//| Конец конфигурации скрипта |//
//|=====================================================================|//
npcshopdelitem "F_Cash",501; // Не изменять тут ничего!!!!
if (getarraysize($cash_item) >= 1) {
npcshopitem "F_Cash",$cash_item[0],$cash_price[0];
for (set .@i,1; .@i < getarraysize($cash_item); set .@i,.@i+1) {
npcshopadditem "F_Cash",$cash_item[.@i],$cash_price[.@i];
}
}
end;
}
//===Прежде чем редактировать координаты посмотрите список дубликатов в конце скрипта===//
moc_prydb1,39,121,5 script Cash 853,{
if(getgmlevel() == $@gmlvl) goto L_GM;
L_start:
mes $@npc$;
mes "Добро пожаловать в Point Shop!";
mes "Сейчас у вас:";
mes "[ ^0000FF"+#cashpoint+"^000000 ] ^FF0000"+$@cpoint$+" Очков^000000";
next;
switch(select("-Купить предметы в Point Shop:-Информация:-Уйти")) {
case 1:
close2;
callshop "F_Cash",1;
dispbottom "У вас "+#cashpoint+" "+$@cpoint$+" Очков.";
end;
case 2:
mes $@npc$;
mes "На нашем серве стоит система ^FF0000"+$@cpoint$+" Очков^000000";
close;
case 3:
close;
}
L_GM:
mes $@npc$;
mes "Здраствуйте Администратор ^0000FF"+strcharinfo(0)+"^000000";
mes "Что желаете?";
next;
switch(select("-Посмотреть список вещей в магазине:-Управление очками:-Изменить поинт шоп:-Нормальное меню")) {
case 1:
close2;
callshop "F_Cash",1;
dispbottom "У вас сейчас "+#cashpoint+" "+$@cpoint$+" Очков.";
end;
case 2:
mes $@npc$;
mes "Что желаете?";
next;
switch(select("-Дать игроку очки:-Удалить все поинты с игроков")) {
case 1:
mes $@npc$;
mes "Вы хотите игроку дать поинты?";
next;
if(select("-Нет:-Да")==2) goto L_adddonate;
goto L_canc;
L_adddonate:
mes $@npc$;
mes "Введите имя игрока.";
mes "Введите ^FF00000^000000 для отмены";
next;
input .@dname$;
if(.@dname$ == "0") goto L_canc;
if(!isloggedin(getcharid(3,.@dname$)) ) {
mes $@npc$;
mes "Игрок [ ^0000FF"+.@dname$+"^000000 ] сейчас в оффлайне.";
mes "Хотите продолжить?";
next;
if(select("-Нет:-Да")==1) close;
goto L_donating;
}
L_donating:
mes $@npc$;
mes "Сколько ^FF0000"+$@cpoint$+" Очков^000000 вы хотите дать персонажу?";
mes "Введите ^FF00000^000000 для отмены";
next;
input .@cpoint;
if(.@cpoint == 0) goto L_canc;
else if(.@cpoint > $@maxpoint) {
mes $@npc$;
mes "Максимальное кол-во ^FF0000"+$@cpoint$+"^000000 очков не должно быть больше ^FF0000"+$@maxpoint+"^000000.";
close;
}
mes $@npc$;
mes "Имя: ^FF0000"+.@dname$+"^000000";
mes "Кол-во очков которые будут у персонажа: ^FF0000"+.@cpoint+"^000000";
next;
if(select("-Отмена:-^FF0000Подтвердить^000000")==2) {
if (!isloggedin(getcharid(3,.@dname$)) ) { goto L_confirmdonate2; }
goto L_confirmdonate;
}
close;
L_confirmdonate:
if(!isloggedin(getcharid(3,.@dname$)) ) {
mes $@npc$;
mes "Процесс не удался так как ^0000FF"+@donatorname$+"^000000 в оффлайне.";
close;
}
mes $@npc$;
mes "^338C60Идет процесс отправки очков..^000000.";
mes " Дать [ ^0000FF"+.@cpoint+"^000000 ] ^FF0000"+$@cpoint$+" Очков^000000 игроку";
mes "[ ^0000FF"+.@dname$+"^000000 ]";
close2;
if(!isloggedin(getcharid(3,.@dname$)) ) {
announce "Oперация не удалась.",bc_self,0x08F8C6;
dispbottom "Игрока нет в онлайне.";
end;
}
announce "Операция удалась.",bc_self,0x08F8C6;
dispbottom "[ "+.@cpoint+" ] "+$@cpoint$+" Очков получил [ "+.@dname$+" ]";
set @RID, getcharid(3,.@dname$);
attachrid(@RID);
set #cashpoint,#cashpoint+.@cpoint;
dispbottom "Вы получили "+#cashpoint+" "+$@cpoint$+" очков.";
detachrid;
end;
L_confirmdonate2:
if (isloggedin(getcharid(3,.@dname$)) ) {
announce "Операция удалась.",bc_self,0x08F8C6;
dispbottom "[ "+.@cpoint+" ] "+$@cpoint$+" Очков получил [ "+.@dname$+" ]";
set @RID, getcharid(3,.@dname$);
attachrid(@RID);
set #cashpoint,#cashpoint+.@cpoint;
dispbottom "Вы получили "+#cashpoint+" "+$@cpoint$+" Очков.";
detachrid;
end;
}
if (getarraysize($dnames$) == 128 ) {
deletearray $dnames$[0],1;
deletearray $dpoints[0],1;
}
set $dnames$[getarraysize($dnames$)],.@dname$;
set $dpoints[getarraysize($dpoints)],.@cpoint;
mes $@npc$;
mes "[ ^0000FF"+.@cpoint+"^000000 ] ^FF0000"+$@cpoint$+" Очков^000000 игроку";
mes "[ ^0000FF"+.@dname$+"^000000 ]";
close;
case 2:
mes $@npc$;
mes "Вы уверены что хотите удалить все";
mes ""+$@cpoint$+" Очки с вашего сервера?";
next;
if(select("-Нет:-Да")==1) goto L_canc;
mes $@npc$;
mes "Все "+$@cpoint$+" Очки были удалены с сервера.";
set $clearpoints,$clearpoints+1;
close2;
switch ($@kickall) {
default:
end;
case 1:
if($@clearannounce) {
announce "Все игроки будут кикнуты из игры через 10 секунд.",bc_all;
sleep 1000;
atcommand "@kickall";
end;
}
atcommand "@kickall";
end;
case 2:
detachrid;
for ( set .@i,2000000; .@i <= 2010000; set .@i, .@i + 1 ) {
if ( .@i % 250 == 0 ) sleep 20;
if ( !attachrid(.@i) ) continue;
set #cashpoint,0;
set clearpoints,$clearpoints;
}
if($@clearannounce)
announce "Все "+$@cpoint$+" Очки были удалены с сервера Администратором.",bc_all;
}
end;
}
case 3:
mes $@npc$;
mes "Что желаете?";
next;
switch(select("Добавить Предметы:Удалить предмет:Удалить все предметы из магазина:Ничего")) {
case 1:
mes $@npc$;
mes "Пожалуйста введите ^0000FFitem id^000000 предмета который хотите добавить.";;
mes "Введите ^FF00000^000000 для отмены";
next;
input .@item;
if(.@item == 0) goto L_canc;
mes $@npc$;
mes "Предмет: ^FF0000"+getitemname(.@item)+"^000000";
mes "Теперь введите цену за которую можно будет его купить";
mes "Введите ^FF00000^000000 для отмены";
next;
input .@price;
if(.@price ==0) goto L_canc;
mes $@npc$;
mes "Предмет: ^FF0000"+getitemname(.@item)+"^000000";
mes "Цена: ^FF0000"+.@price+"^000000";
mes "Все так?";
next;
if(select("-Отмена:-Подтвердить")==1) goto L_canc;
set $cash_item[getarraysize($cash_item)],.@item;
set $cash_price[getarraysize($cash_price)],.@price;
npcshopadditem "F_Cash",.@item,.@price;
mes $@npc$;
mes "^FF0000"+getitemname(.@item)+"^000000 добавлен в поинт шоп.";
close;
case 2:
mes $@npc$;
mes "Пожалуйста введите айди предмета который хотите удалить.";
mes "Введите ^FF00000^000000 для отмены";
next;
input .@remitem;
if(.@remitem == 0) goto L_canc;
mes $@npc$;
mes "Предмет: ^FF0000"+getitemname(.@remitem)+"^000000";
mes "Хотите удалить его из магазина?";
next;
if(select("-Нет:-Да")==1) goto L_canc;
for (set @i,0; @i < getarraysize($cash_item); set @i,@i+1) {
if ($cash_item[@i] == .@remitem) {
deletearray $cash_item[@i],1;
deletearray $cash_price[@i],1;
npcshopdelitem "F_Cash",.@remitem;
mes $@npc$;
mes "^FF0000"+getitemname(.@remitem)+"^000000 удален из магазина.";
close;
} else {
mes $@npc$;
mes "^FF0000"+getitemname(.@remitem)+"^000000 не найден в списке товаров поинт шопа.";
close;
}
}
case 3:
mes $@npc$;
mes "Вы уверены что хотите удалить все предметы из магазина?";
next;
if(select("-Нет:-Да")==1) goto L_canc;
deletearray $cash_item[0],127;
deletearray $cash_price[0],127;
npcshopitem "F_Cash",501,1;
npcshopdelitem "F_Cash",501;
mes $@npc$;
mes "Все предметы были удалены из магазина.";
close;
case 4:
goto L_GM;
end;
L_canc:
mes $@npc$;
mes "Действие отменено.";
close;
}
case 4:
goto L_start;
}
//==Покупка предмета в магазине==//
OnBuyItem:
getinventorylist;
if(@inventorylist_count >= $@maxInv){
dispbottom "Вы привысили максимальное кол-во покупок.";
end;
}
for (set .@i,0; .@i < getarraysize(@bought_nameid); set .@i,.@i+1) {
if (@bought_quantity[@i] <= 0) {
end;
}
set @cost,callfunc("F_CashPrice",@bought_nameid[.@i]);
if ((@cost*@bought_quantity[.@i]) > #cashpoint) {
dispbottom "У вас не хватает "+$@cpoint$+" Очков.";
} else if (!checkweight(@bought_nameid[.@i],@bought_quantity[.@i])) {
dispbottom "Процесс покупки недоступен так как у вас перевес в инвентаре.";
} else {
set #cashpoint,#cashpoint-@cost*@bought_quantity[.@i];
getitem @bought_nameid[.@i],@bought_quantity[.@i];
dispbottom "Cпасибо за покупку!";
dispbottom "Теперь у вас "+#cashpoint+" "+$@cpoint$+" Очков.";
}
}
deletearray @bought_nameid[0],getarraysize(@bought_nameid);
deletearray @bought_quantity[0],getarraysize(@bought_quantity);
end;
//===Ничего тут не изменяем===//
OnInit:
npcshopattach "F_Cash",1;
end;
OnPCLoginEvent:
if(clearpoints != $clearpoints) {
set #cashpoint,0;
set clearpoints,$clearpoints;
}
for ( set .@i,0; .@i < getarraysize($dnames$); set .@i,.@i + 1) {
if ( $dnames$[.@i] != strcharinfo(0) ) continue;
set #cashpoint,#cashpoint + $dpoints[.@i];
deletearray $dnames$[.@i],1;
deletearray $dpoints[.@i],1;
dispbottom "У вас "+#cashpoint+" "+$@cpoint$+" очков.";
}
end;
}
function script F_CashPrice {
for (set .@i,0; .@i < getarraysize($cash_item); set .@i,.@i+1) {
if ($cash_item[.@i] == getarg(0)) {
return $cash_price[.@i];
}
}
return;
}
//Дубликаты
//prontera,141,171,4 duplicate(custom_cash) Cash#1 941- 2
-
Вопрос решен,забыл поменять в packet_db версию exe.
-
Всем привет.
Поставил защиту гармонию,но вот проблема.
При заходе в игру ты нечего не можешь делать( Не шевилиться,команда тоже не работает)
Работает только чат и хоткей бар.
В мапе пишет это:
[Warning]: clif_parse: Received unsupported packet (packet 0x391e, 3 bytes recei
ved), disconnecting session #3.Прописал этот пакет в packet_db,после захода он мне выдает уже другой пакет.
Прописал уже 15 пакетов результата 0.
Подскажите кто знает,в чем может быть проблема?(на exe устанавливал гармонию другой человек)
-
Спасибо за ответы,учту все варианты.
-
Как я понял нужно задействовать удаление из инвентаря предмета и команду @raise в этом скрипте.
А он на ea робит?
-
Такой вот вопрос.
Каким образом осуществить,что если у тебя в инвентаре лежит Yggdrasil Berry,то после того как тебя убьют ты тут же воскреснешь и Yggdrasil Berry удалиться из инвентаря?
Снятие эквипа
в Вопросы, ошибки и баги
Опубликовано
Я не силен в скриптах,у меня наклонность больше к креативности,спрайтам и моделям.
Если бы ответили такое да даже к примеру Преподавателю,он бы поставил вам 2 и послал нах(Извиняюсь за грубость).
Мне нужен развернутый ответ.