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

Лилит

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

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

  • Посещение

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

    8

Весь контент Лилит

  1. Вообще то должно сохранять в data/OptionInfo.lua, в котором должна быть такая строка:
  2. А можно как то поточнее? + используй Codebox Замечание к администраторам: почему нету тега Codebox ?
  3. Да нет, не легче... с *setlook и слот не занимает и вес от вещи, естественно, не даёт. Чтобы ты не одевал спрайт останется, будет лишь видно, как два головных убора конфликтуют между собой за место на первом плане
  4. Нет. Либо я тебя не понял, либо ты меня не понял.
  5. Только спрайт ? сам предмет
  6. У меня rAthena, остальными не пользуюсь. Возможно из-за этого...
  7. OnPCLogoutEvent вообще здесь ни к чему, призванный монстр и так умирает после выхода из игры.
  8. Ох... в таком случае можно обойтись и без динамики а-ля set @mob,summon("Помошник["+strcharinfo(0)+"]",@supp,1800000); Сори, привычка всё усложнять...
  9. Не учёл переменные. либо использовать скрипт вместо функции и тогда не разбивать скрипт на функцию support и непися support_system, либо использовать глобальную дин. переменную setd "$Mob"+getcharid(0)
  10. Для этого делаем следующее: открой файл src/map/script.c, найди функцию 'summon' и добавь в конце перед 'return 0;' script_pushint(st, md->bl.id); Это будет выглядеть так: BUILDIN_FUNC(summon) { int _class, timeout=0; const char *str,*event=""; TBL_PC *sd; struct mob_data *md; int tick = gettick(); sd=script_rid2sd(st); if (!sd) return 0; str =script_getstr(st,2); _class=script_getnum(st,3); if( script_hasdata(st,4) ) timeout=script_getnum(st,4); if( script_hasdata(st,5) ){ event=script_getstr(st,5); check_event(st, event); } clif_skill_poseffect(&sd->bl,AM_CALLHOMUN,1,sd->bl.x,sd->bl.y,tick); md = mob_once_spawn_sub(&sd->bl, sd->bl.m, sd->bl.x, sd->bl.y, str, _class, event); if (md) { md->master_id=sd->bl.id; md->special_state.ai=1; if( md->deletetimer != INVALID_TIMER ) delete_timer(md->deletetimer, mob_timer_delete); md->deletetimer = add_timer(tick+(timeout>0?timeout*1000:60000),mob_timer_delete,md->bl.id,0); mob_spawn (md); //Now it is ready for spawning. clif_specialeffect(&md->bl,344,AREA); sc_start4(&md->bl, SC_MODECHANGE, 100, 1, 0, MD_AGGRESSIVE, 0, 60000); } script_pushint(st, md->bl.id); // <<< Это добавили return 0; } Далее рекомпилируешь сервер, теперь вместо summon "Помошник["+strcharinfo(0)+"]",@supp,1800000; пишешь setd ".Mob"+getcharid(0),summon("Помошник["+strcharinfo(0)+"]",@supp,1800000); На локации с вое ставишь мапфлаг loadevent, пример: prtg_cas03 mapflag loadevent В сам скрипт функции 'support' дописываешь: OnPCLoadMapEvent: getmapxy(@map$,@x,@y,0); if(@map$ == "prtg_cas03" && (agitcheck() || agitcheck2())){ dispbottom "Извините, но на Войне за Империум нельзя пользоваться помощником"; unitkill getd(".Mob"+getcharid(0)); set called,0; getitem 14345,1; } end; Думаю суть ясна. P.S. а вообще рекомендую использовать 11 тип предмета, чтобы каждый раз не давать игроку предмет, проверка и так стоит.
  11. ПКМ-> Сохранить как... Господи, ну до чего простой способ...
  12. а точнее можно? я про ехе. и почему вас должны за язык тянуть?
  13. А про саму пакетную версию сказать забыл? Или ждёшь пока спросят?
  14. Я немного изменил и пофиксил код Incubus'а. Может кому-нибудь пригодится. Суть: игрок сможет выбрать между зени и другой игровой валютой ( на моём примере - TCG ) в окне. На скриншоте всё видно. Изменить второй предмет можно в itemdb.h : #define ITEMID_VEND 7227 Патч только для rAthena. Ссылка:
×
×
  • Создать...
Яндекс.Метрика