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

Nurkz

Donators
  • Постов

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

  • Посещение

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

    24

Весь контент Nurkz

  1. Почему нет? Логика есть, значит должно работать..
  2. setarray $t_id[0],2383,2410,2541; for(set @i,0; @i < getarraysize($t_id); set @i, @i+1) { if( isequipped($t_id[@i]) ) { warp "geffen",0,0; break; } } Попробуй так.
  3. Стыдно должно быть, 2 строчки не заменить.
  4. Nurkz

    @dt и pets

    Добавь элементарную проверку if( sd->status.pet_id || sd->pd ) pet_menu(sd, 3);
  5. По порядку, что, где и как писал/делал, что именно не работает? Только что проверял на тестовом сервере, все идеально работает
  6. В item_db, в поле OnEquip_Script и OnUnequip_Script соответственно пишем: callfunc("f_mySummon",1,EQI_HEAD_TOP); //вызываем и callfunc("f_mySummon",0,EQI_HEAD_TOP); //убиваем Создаем скриптовый файл и пишем туда следующее: function script f_mySummon { function f_checkSummon; function f_checkRefine; set summonRefine,(summonRefine?(f_checkSummon()?summonRefine:0):(getarg(1)?getequiprefinerycnt(getarg(1)):0)); switch(getarg(0)?getarg(0):0) { Default: case 0: if( f_checkSummon() ) { for( set .@i, 1; .@i <= f_checkRefine(summonRefine); set .@i, .@i +1 ) killmonster strcharinfo(3),"f_mySummon::OnSummon_"+getcharid(3)+"x"+.@i; set summonRefine, 0; } break; case 1: if( f_checkSummon() ) dispbottom "You already have "+f_checkRefine(summonRefine)+" summons.",0; else if( f_checkRefine(summonRefine) ) { for( set .@i, 1; .@i <= f_checkRefine(summonRefine); set .@i, .@i +1 ) summon getmonsterinfo(1399,0),1399,86400000,"f_mySummon::OnSummon_"+getcharid(3)+"x"+.@i; } break; } end; function f_checkSummon { for( set .@i, 1; .@i <= f_checkRefine(summonRefine); set .@i, .@i +1 ) { if( mobcount(strcharinfo(3),"f_mySummon::OnSummon_"+getcharid(3)+"x"+.@i) ) return 1; } return 0; } function f_checkRefine { switch(getarg(0)) { case 5: case 6: set .@i, 1; break; case 7: case 8: case 9: set .@i, 2; break; case 10: set .@i, 3; break; Default: set .@i, 0; break; } return .@i; } } Должно работать. @Gavard Нужны скриншоты ошибки из item_db.
  7. Открываем clif.c и ищем эту строку case 0x02: // sitdown и после if (battle_config.basic_skill_check && pc_checkskill(sd, NV_BASIC) < 3) { clif_skill_fail(sd, 1, USESKILL_FAIL_LEVEL, 2); break; } добавляем if(map[sd->bl.m].flag.pvp) { clif_displaymessage(sd->fd, "You can't sit at this place."); break; } Вот так просто.
  8. Открываем *Athena-9.sln с помощью Visual Studio, выбираем Release и начинаем компилирование.
  9. Молодой человек, как вам не стыдно? @JxOxKxExR Однако он прав, не стоит взваливать на себя непосильную ношу, легче перечислить перечень услуг и красиво оформить топик, нежели отхватывать вот такие сообщения. Удачи в начинаниях.
  10. Убедитесь что в ../src/common/mmo.h стоит правильная версия клиента игры, совпадающая с вашим собственным. Создадите еще одного персонажа, попробуйте зайти с него.
  11. Удаляй участки кода в ..src/map/*.* везде где есть #IFDEF RENEWAL ну и естественно в ..src/config/core.h удали строчку #include "./renewal.h" и сам файл renewal.h находящийся в той же директории Только зачем удалять, если его можно просто отключить? UPD! Так можно удалить renewal из rAthena, в eAthena 3-их профессий и renewal-механики нет изначально.
  12. Зайдите в: ../src/map/pc.c Найдите там функции pc_payzeny pc_getzeny pc_paycash pc_getcash Обратите внимание на то сколько и какие значения эти функции принмают. Зайдите в: ../src/map/vending.c Найдите строчки с ошибкой, и дайте этим функциям недостающие значения
  13. офигеть, МОДИФИКАЦИЯ, сорсы-то хоть ставить не надо? Как они до этого додумались, гениально без понятия как они это реализовали, может в 2 строчки, а может в 500 просто факт того что в eAmod'е это имеется и как-раз таки на уровне src
  14. Как-то так.. OnInit: setarray .Maps$[0], "prontera", "morocc", "payon"; for( set .@i, 0; .@i < getarraysize(.Maps$); set .@i, .@i +1 ) { set .@tMapsName$, .Maps[.@i]; set .MapsName$[.@i], setchar(.@tMapsName$, strtoupper(charat(.@tMapsName$,0)), 0); setmapflag .Maps$[.@i], mf_loadevent; } end; OnPCLoadMapEvent: for( set .@i, 0; .@i < getarraysize(.Maps$); set .@i, .@i +1 ) { if( .Maps$[.@i] == strcharinfo(3) ) { announce "[ "+.MapsName$[.@i]+" Town ]",bc_self,0x00FFFF,bold,16; break; } } end; А вообще это модификация из eAmod'а
  15. Вместо make install нужно писать make sql, выше уже давал ответ на этот вопрос http://ea-support.ws...vera-pod-linux/
  16. if( bl->type == BL_PC && ((TBL_PC*)bl)->state.novenders && (((TBL_PC*)bl)->state.vending || ((TBL_PC*)bl)->state.buyingstore) ) return 0;
×
×
  • Создать...
Яндекс.Метрика