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

ocelote

Проверенные
  • Постов

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

  • Посещение

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

    9

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

  1. В общем, увидив свою старую тему офигел, решил чуток переделать эвент менеджера.

    А точнее, запилил пару простых функций для добавления и управления эвентами через одного NPC.

    Скриптики можно увидеть на моем github'e (удобно же)

    https://github.com/k...r/event_manager

    manager_function = сами функции

    manager_main = обычный нпц для теста

    В общем, немного подробнее :

    У нас есть несколько обычных функций.

    Каждая из них возвращает какой-то параметр базируясь на Event ID (Event ID это обычная переменная $event_Add)

    С помощью этих функций Вы сможете создать эвент менеджера, с включением / выключением эвентов, добавлением новых эвентов, варпы на эвенты, получение приза, редактирование всего этого.

    Например, функция return_Event_Map вернет Вам название локации по Event ID.


    function script return_Event_Map {
    return getd("$event_Map_Name_" + getarg(0) + "$");
    }

    Так же присутствуют функции для возвращения координатов на локацию, ID призов и т.п.

    Поэтому, с их помощью можно легко реализовать варп на эвент.

    Это будет выглядеть так :


    warp callfunc("return_Event_Map", $EventID), callfunc("return_Event_X", $EventID), callfunc("return_Event_Y", $EventID);

    Где $EventID = ID эвента который сейчас стартует (нужно будет добавить его после лейбла OnClock или после лейбла на старт эвент)

    В общем, все функции Вы можете глянуть в примере (скрипт manager_main.c)

    Скрипт дополняю по немного, скоро добавлю новые функции а так же отображение текущего эвента на сайт.

    П.С. Сорри за .c формат, просто привык писать в Visual Studio. И ещё за англ, гитхаб не любит русский :)

    • Upvote 1
  2. какое отношение имеет дата запуска сервера к человекочасам потраченным на разработку?

    Я просто пример скинул.

    Конечно часы можно высчитать.

    Взять например по 2 часа в день убивать на сервер, да. за 5 месяцев получится 300~ часов (у меня проблемы с математикой)

    300 * 1500 = 450,000

    Это только дата запуска. А если сервер до этого разрабатывали ещё год?

  3. Нет блять, не разводит.

    Возьмем первое сообщение на ее форуме - 24 февраля.

    Пускай будет прошло 5 месяцев. (это без разработки самого сервера, я так думаю)

    5 месяцев = 3652 часа.

    3652 * 1500 = 5,478,000р

    разве что белорусских даст

  4. да, сайт у них что надо. Я тож люблю порекламиться в чужих группах, но к знакомым не лезу ;]

    Иногда появляется желание предложить "дружить" сервами, но понимаю, что никаких бонусов никто от этого не получит...

    Ну знаешь, зарекламить в богом забытой группе вк это одно, а заходить ночью на сервер и сидеть с чатом это совсем другое )

  5. Переменные!


    @hp = 20000; // hp banki

    OnTouch:
    @myHp = Hp * 100 / MaxHP; //высчитываем хп
    @need2Heal = 100 - @myHp; // высчитываем недостающие хп

    percentheal @need2Heal, 0; // Восстановили недостающий % хп

    Кароч ну это все идет в %, дальше сам высчитывай, мне лень. За бабло помогу.

    • Upvote 1

  6. prontera,164,172,7 script TCG Диллер 120,{
    mes "[TCG Диллер]";
    mes "Приветствую тебя. Я могу продать или купить у тебя TCG карты.";
    mes "Что нибудь интересует?";
    next;
    menu "Продать TCG",L_buy_tcg,"Купить TCG",L_sell_tcg,"Выход",-;
    close;
    L_buy_tcg:
    set .tcg,countitem(7227);
    mes "[TCG Диллер]";
    mes "Хорошо.";
    mes "У тебя в инвентаре ^43BD24" +(countitem(7227))+ "^000000 TCG карт.";
    mes "Курс на продажу TCG : ^9D0004310.000.000 зени^000000";
    mes "Сколько из них ты хочешь мне продать?";
    next;
    input @a;
    if (@a > .tcg) goto L_no_tcg;
    set .selltcg,@a * 310000000;
    mes "[TCG Диллер]";
    mes "С продажи ^43BD24" +(@a)+ "^000000 TCG карт ты получишь ^B7911E" +(.selltcg)+ "^000000 зени.";
    mes "Ты уверен в том, что ты мне хочешь их продать?";
    next;
    menu "Да",L_seeell,"Я передумал",-;
    close;
    next;
    L_seeell:
    delitem 7227,@a;
    set zeny,zeny + .selltcg;
    mes "[TCG Диллер]";
    mes "Хорошо. Сделка завершена.";
    mes "Ты продал ^43BD24" +@a+ "^000000 TCG";
    mes "И получил ^B7911E" +.selltcg+ "^000000 зени";
    mes "Удачи.";
    close;
    L_sell_tcg:
    set .tcg,countitem(7227);
    mes "[TCG Диллер]";
    mes "Хорошо.";
    mes "У тебя в инвентаре ^43BD24" +(countitem(7227))+ "^000000 TCG карт.";
    mes "Курс на покупку TCG : ^9D0004320.000.000 зени^000000";
    mes "Сколько ты хочешь купить?";
    next;
    input @b;
    set .buytcg,@b * 320000000;
    if (zeny < .buytcg) goto L_no_zeny;
    set .zeny,zeny - .buytcg;
    mes "[TCG Диллер]";
    mes "^43BD24" +(@+ "^000000 TCG будет стоить ^B7911E" +(.buytcg)+ "^000000 зени.";
    mes "У тебя останется ^B7911E" +(.zeny)+ "^000000 зени.";
    mes "Ты уверен в том, что ты хочешь совершить сделку?";
    next;
    menu "Да",L_buuuuy,"Я передумал",-;
    close;
    L_buuuuy:
    getitem 7227,@b;
    set zeny,zeny - .buytcg;
    mes "[TCG Диллер]";
    mes "Хорошо. Сделка завершена.";
    mes "Ты купил ^43BD24" +@b+ "^000000 TCG";
    mes "Осталось ^1A0C65" +(zeny)+"^000000 зени.";
    mes "Теперь у тебя ^43BD24" +(countitem(7227))+ "^000000 TCG карт.";
    mes "Удачи.";
    close;
    L_no_tcg:
    mes "[TCG Диллер]";
    mes "У вас недостаточно TCG.";
    close;
    L_no_zeny:
    mes "[TCG Диллер]";
    mes "У вас недостаточно зени.";
    close;
    }

    Вот так пишется нпц тцг за зени)

    Нет, так не пишется нпц.

    Да ладно))) Этот вполне хорошо работает)

    Возможно работает, но столько лишнего гуана, даже мне смотреть страшно)

    Вполне прикольно написанно))) ДА можно проще))) согласен) но зачем?) Если можно и опыт показать?)

    Как зачем? Чтобы не было лишних лейблов, чтобы проще было читать. Конечно к этому нпцу не относится, но вообще да, для этого.


  7. prontera,164,172,7 script TCG Диллер 120,{
    mes "[TCG Диллер]";
    mes "Приветствую тебя. Я могу продать или купить у тебя TCG карты.";
    mes "Что нибудь интересует?";
    next;
    menu "Продать TCG",L_buy_tcg,"Купить TCG",L_sell_tcg,"Выход",-;
    close;
    L_buy_tcg:
    set .tcg,countitem(7227);
    mes "[TCG Диллер]";
    mes "Хорошо.";
    mes "У тебя в инвентаре ^43BD24" +(countitem(7227))+ "^000000 TCG карт.";
    mes "Курс на продажу TCG : ^9D0004310.000.000 зени^000000";
    mes "Сколько из них ты хочешь мне продать?";
    next;
    input @a;
    if (@a > .tcg) goto L_no_tcg;
    set .selltcg,@a * 310000000;
    mes "[TCG Диллер]";
    mes "С продажи ^43BD24" +(@a)+ "^000000 TCG карт ты получишь ^B7911E" +(.selltcg)+ "^000000 зени.";
    mes "Ты уверен в том, что ты мне хочешь их продать?";
    next;
    menu "Да",L_seeell,"Я передумал",-;
    close;
    next;
    L_seeell:
    delitem 7227,@a;
    set zeny,zeny + .selltcg;
    mes "[TCG Диллер]";
    mes "Хорошо. Сделка завершена.";
    mes "Ты продал ^43BD24" +@a+ "^000000 TCG";
    mes "И получил ^B7911E" +.selltcg+ "^000000 зени";
    mes "Удачи.";
    close;
    L_sell_tcg:
    set .tcg,countitem(7227);
    mes "[TCG Диллер]";
    mes "Хорошо.";
    mes "У тебя в инвентаре ^43BD24" +(countitem(7227))+ "^000000 TCG карт.";
    mes "Курс на покупку TCG : ^9D0004320.000.000 зени^000000";
    mes "Сколько ты хочешь купить?";
    next;
    input @b;
    set .buytcg,@b * 320000000;
    if (zeny < .buytcg) goto L_no_zeny;
    set .zeny,zeny - .buytcg;
    mes "[TCG Диллер]";
    mes "^43BD24" +(@+ "^000000 TCG будет стоить ^B7911E" +(.buytcg)+ "^000000 зени.";
    mes "У тебя останется ^B7911E" +(.zeny)+ "^000000 зени.";
    mes "Ты уверен в том, что ты хочешь совершить сделку?";
    next;
    menu "Да",L_buuuuy,"Я передумал",-;
    close;
    L_buuuuy:
    getitem 7227,@b;
    set zeny,zeny - .buytcg;
    mes "[TCG Диллер]";
    mes "Хорошо. Сделка завершена.";
    mes "Ты купил ^43BD24" +@b+ "^000000 TCG";
    mes "Осталось ^1A0C65" +(zeny)+"^000000 зени.";
    mes "Теперь у тебя ^43BD24" +(countitem(7227))+ "^000000 TCG карт.";
    mes "Удачи.";
    close;
    L_no_tcg:
    mes "[TCG Диллер]";
    mes "У вас недостаточно TCG.";
    close;
    L_no_zeny:
    mes "[TCG Диллер]";
    mes "У вас недостаточно зени.";
    close;
    }

    Вот так пишется нпц тцг за зени)

    Нет, так не пишется нпц.

    Да ладно))) Этот вполне хорошо работает)

    Возможно работает, но столько лишнего гуана, даже мне смотреть страшно)


  8. prontera,164,172,7 script TCG Диллер 120,{
    mes "[TCG Диллер]";
    mes "Приветствую тебя. Я могу продать или купить у тебя TCG карты.";
    mes "Что нибудь интересует?";
    next;
    menu "Продать TCG",L_buy_tcg,"Купить TCG",L_sell_tcg,"Выход",-;
    close;
    L_buy_tcg:
    set .tcg,countitem(7227);
    mes "[TCG Диллер]";
    mes "Хорошо.";
    mes "У тебя в инвентаре ^43BD24" +(countitem(7227))+ "^000000 TCG карт.";
    mes "Курс на продажу TCG : ^9D0004310.000.000 зени^000000";
    mes "Сколько из них ты хочешь мне продать?";
    next;
    input @a;
    if (@a > .tcg) goto L_no_tcg;
    set .selltcg,@a * 310000000;
    mes "[TCG Диллер]";
    mes "С продажи ^43BD24" +(@a)+ "^000000 TCG карт ты получишь ^B7911E" +(.selltcg)+ "^000000 зени.";
    mes "Ты уверен в том, что ты мне хочешь их продать?";
    next;
    menu "Да",L_seeell,"Я передумал",-;
    close;
    next;
    L_seeell:
    delitem 7227,@a;
    set zeny,zeny + .selltcg;
    mes "[TCG Диллер]";
    mes "Хорошо. Сделка завершена.";
    mes "Ты продал ^43BD24" +@a+ "^000000 TCG";
    mes "И получил ^B7911E" +.selltcg+ "^000000 зени";
    mes "Удачи.";
    close;
    L_sell_tcg:
    set .tcg,countitem(7227);
    mes "[TCG Диллер]";
    mes "Хорошо.";
    mes "У тебя в инвентаре ^43BD24" +(countitem(7227))+ "^000000 TCG карт.";
    mes "Курс на покупку TCG : ^9D0004320.000.000 зени^000000";
    mes "Сколько ты хочешь купить?";
    next;
    input @b;
    set .buytcg,@b * 320000000;
    if (zeny < .buytcg) goto L_no_zeny;
    set .zeny,zeny - .buytcg;
    mes "[TCG Диллер]";
    mes "^43BD24" +(@+ "^000000 TCG будет стоить ^B7911E" +(.buytcg)+ "^000000 зени.";
    mes "У тебя останется ^B7911E" +(.zeny)+ "^000000 зени.";
    mes "Ты уверен в том, что ты хочешь совершить сделку?";
    next;
    menu "Да",L_buuuuy,"Я передумал",-;
    close;
    L_buuuuy:
    getitem 7227,@b;
    set zeny,zeny - .buytcg;
    mes "[TCG Диллер]";
    mes "Хорошо. Сделка завершена.";
    mes "Ты купил ^43BD24" +@b+ "^000000 TCG";
    mes "Осталось ^1A0C65" +(zeny)+"^000000 зени.";
    mes "Теперь у тебя ^43BD24" +(countitem(7227))+ "^000000 TCG карт.";
    mes "Удачи.";
    close;
    L_no_tcg:
    mes "[TCG Диллер]";
    mes "У вас недостаточно TCG.";
    close;
    L_no_zeny:
    mes "[TCG Диллер]";
    mes "У вас недостаточно зени.";
    close;
    }

    Вот так пишется нпц тцг за зени)

    Нет, так не пишется нпц.

  9. Prontera,149,140,6 Script Покупка Продажа TCG 100

    menu "Я могу покупать у вас ТЦГ Карточки"; "Что вы можите мне предложить в замен на ТЦГ карточки?",12"

    11;Я могу купить их у вас за 100000000 Zeny"

    close;

    12;"Я их покупаю просто так,я Коллекционер"

    close

    if{select{Вы не принесли мне денег"Уходите пожалуста}==1} {

    close

    }

    close;

    Не это ты щас бред написал, Это банальный нпц))) нету даже проверки наличия тцг и удаления тцг взамен на зени))))

    Другими словами это просто диалоги он не заберёт тцг и не даст денег)

    его даже емуль не приймет)

    археология, тебе стоит заняться археологией.

  10. Насколько я помню, ты не можешь сменить или выключить музыку.

    Тоесть если я поставлю одну мелодию, то одна и будет весь инстанс?)

    Чет я пасс забыл от акка своего -_-

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

    Точнее, переключить сможешь, но будут играть сразу две мелодии.

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