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

kael

Продвинутый пользователь
  • Постов

    64
  • Зарегистрирован

  • Посещение

  • Победитель дней

    3

Сообщения, опубликованные kael

  1. Я не силен в скриптах,у меня наклонность больше к креативности,спрайтам и моделям.

    Если бы ответили такое да даже к примеру Преподавателю,он бы поставил вам 2 и послал нах(Извиняюсь за грубость).

    Мне нужен развернутый ответ.

    • Downvote 1
  2. 1.Не уверен,но скорее луа не той версии и у тебя нету папки System(прилагается с луа файлами)

    2.Дисконнектит из за того,что ты не прописал версию своего exe в :

    а)clientinfo.xml

    б)packet_db(ea/db/packet_db),тут же можешь узнать версию своего exe и прописать.

    • Upvote 1
  3. Пробуй это:


    //|-----------------------------------------------------------------------------|//

    //|[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

    • Upvote 2
  4. Всем привет.

    Поставил защиту гармонию,но вот проблема.

    При заходе в игру ты нечего не можешь делать( Не шевилиться,команда тоже не работает)

    Работает только чат и хоткей бар.

    В мапе пишет это:


    [Warning]: clif_parse: Received unsupported packet (packet 0x391e, 3 bytes recei
    ved), disconnecting session #3.

    Прописал этот пакет в packet_db,после захода он мне выдает уже другой пакет.

    Прописал уже 15 пакетов результата 0.

    Подскажите кто знает,в чем может быть проблема?(на exe устанавливал гармонию другой человек)

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