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

ReD_DeviL_16

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

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

  • Посещение

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

  1. Дифни норм и будет тебе счастие ! да вот диф то какой применить?
  2. ReD_DeviL_16

    Проблема с окном

    Помогите с окном открывается в маленьком окне ! в настройках ставлю 1440х900 а открывается 640х480 ехе 20120410
  3. тхт Забрось ты эти ТХТ версии а так или замени базу ! короче косяк в тхт? на мускуле будет похать?
  4. И так всем привет короче проблема такая в mercenary 12161,Bow_Mercenary_Scroll9,Bowman Scroll 9,2,2,,100,,,,,0xFFFFFFFF,15,2,,,,,,{ mercenary_create 6025,1800000; },{},{} короче проблема в том что выдаёт ошибку короче как сделать чтоб они вызывались как homunculus или чтоб вызывались на 5 минут и пропадали потом то есть ими не управлять а вызвать и чтобы они качали персонажа 5 минут и их вызывалось максимально 4
  5. 501,Red_Potion,Red Potion,0,50,,70,,,,,0xFFFFFFFF,15,2,,,,,,{ itemheal rand(45,65),0; },{},{} { bonus bDex,2; },{},{} в первые вижу такое
  6. windows 8 !!!! по 1.ехе клац правой )))) свойства >> запустить в режиме совместимости поставить галочку >> выбрать win 7 >> уровень привилегий галочку >> выполнять эту программу от имени администратора >> далее применить с setup.exe аналогично мне помогло
  7. 1) Два раза щелкни на NewTab_3 измени, как тебе охота. 2-3) Над чатом есть кружочек, где куча настроек, вот там и изменяйте, что захотите. Там последних 5 настроек написаны так же MSG[201] и тд.. короче проблема у меня была в msgstringtable.txt попробуй файлик мб заработает
  8. да вот я по нему и делал))) короче не буду заморачиваться
  9. попробуй скачай какую нибудь временную луа похожей версии если не покажет результата значит я ошибаюсь
  10. люди есть у кого нибудь гайд на новые ехе при старом сделал 9 позиций урона но клиент зависает при использовании любого скила при статах 999 стр(сила) кросс бьёт пикой по порингу 137054236 и зависает с запросом на завершение процесса
  11. так это у тебя проблемка в луа где то у меня тоже было ток не помню как поправил
  12. дроп мвп карт настраивается таким оброзом в эмуль\conf\battle\drops.conf item_rate_card_boss: 60 (тоесть шанс 0.60) там же // Make broadcast ** Player1 won Pupa's Pupa Card (chance 0.01%) *** // Note: It also announces STEAL skill usage with rare items // 0 = don't show announces at all // 1 = show announces for 0.01% drop chance items // 333 = show announces for 3.33% or lower drop chance items // 10000 = show announces for all items rare_drop_announce: 60 по крайней мере это при выподении анансируется на весть сервак а как в чате это хз
  13. небольшая поправка не в луа а в просто папке дата \data\chatwndinfo.lua этот фаил там должен быть в зависимости у exe версии CanDragWnd = 1 ChatSubWnd_1 = { XPos = 0, YPos = 0, Width = 0, Height = 0, TabState = "On", TabName = "Публичный", option1 = 1, option2 = 1, option3 = 1, option4 = 1, option5 = 1, option6 = 1, option7 = 1, option8 = 1, option9 = 1, option10 = 1, option11 = 1, option12 = 1, option13 = 1, option14 = 1, option15 = 0, option16 = 0, option17 = 0, option18 = 0, option19 = 0, option20 = 0, } ChatSubWnd_2 = { XPos = 0, YPos = 0, Width = 0, Height = 0, TabState = "On", TabName = "Гильдия", option1 = 0, option2 = 0, option3 = 0, option4 = 0, option5 = 0, option6 = 0, option7 = 0, option8 = 0, option9 = 0, option10 = 0, option11 = 0, option12 = 0, option13 = 0, option14 = 0, option15 = 0, option16 = 0, option17 = 0, option18 = 0, option19 = 0, option20 = 0, } ChatSubWnd_3 = { XPos = 0, YPos = 0, Width = 0, Height = 0, TabState = "On", TabName = "Пати чат", option1 = 0, option2 = 0, option3 = 0, option4 = 0, option5 = 0, option6 = 0, option7 = 0, option8 = 0, option9 = 0, option10 = 0, option11 = 0, option12 = 0, option13 = 0, option14 = 0, option15 = 0, option16 = 0, option17 = 0, option18 = 0, option19 = 0, option20 = 0, } у меня лично так а может быть и в этом файлике \data\ChatWndInfo_U.lua CanDragWnd = 1 ChatSubWnd_1 = { XPos = 0, YPos = 0, Width = 0, Height = 0, TabState = "On", TabName = [[Публичный]], option1 = 1, option2 = 1, option3 = 1, option4 = 1, option5 = 1, option6 = 1, option7 = 1, option8 = 1, option9 = 1, option10 = 1, option11 = 1, option12 = 1, option13 = 1, option14 = 1, option15 = 0, option16 = 0, option17 = 0, option18 = 0, option19 = 0, option20 = 0, option21 = 0, } ChatSubWnd_2 = { XPos = 0, YPos = 0, Width = 0, Height = 0, TabState = "On", TabName = [[NewTab_2]], option1 = 1, option2 = 1, option3 = 1, option4 = 1, option5 = 1, option6 = 1, option7 = 1, option8 = 1, option9 = 1, option10 = 1, option11 = 1, option12 = 1, option13 = 1, option14 = 1, option15 = 1, option16 = 1, option17 = 1, option18 = 1, option19 = 1, option20 = 1, option21 = 1, }
  14. NewTab_3 меняется в луа \data\chatwndinfo.lua MSG идёт от чего от лута или просто чат?
  15. в том то и всё дело что я вижу стандартную ауру и свою и другого персонажа она отключается но не полностью сама аура под ногами пропадает а от персонажа продолжает идти аура как будто пар ! примерно так
  16. Делаю diff на Disable_lv99_Aura а аура стандартная остаётся ! может что то упустил? как её грохнуть чтоб стандартная пропала навсегда
  17. да я с запятой накололся а щас работает норм! всем спасибо!
  18. нашол { "aura", 1,1, atcommand_aura }, ========== Построение: успешно: 6, с ошибками: 0, без изменений: 0, пропущено: 3 ==========
  19. ПРИ РЕКОМПИЛЯЦИИ ПИШЕТ 9>..\src\map\atcommand.c(9079): error C2061: синтаксическая ошибка: идентификатор "atcommand_aura" А ПРИ НАВЕДЕНИИ НА СТРОКУ { "aura", 1,1 atcommand_aura }, ПИШЕТ ERROR: ТРЕБУЕТСЯ ФИГУРНАЯ СБОРКА "}"
  20. просто пишет что нет такой команды
  21. ещё есть вопрос а чтоб была команда @aura её на недо добавлять в atcommand_athena.conf на том эмуляторе котором тестирую у меня всё работает а на том котором делаю eA14808 не работает после сделаного дифа Index: src/common/mmo.h =================================================================== --- src/common/mmo.h (revision 12718) +++ src/common/mmo.h (working copy) @@ -248,7 +248,7 @@ unsigned char karma; short hair,hair_color,clothes_color; int party_id,guild_id,pet_id,hom_id; - int fame; + int fame,pvprank,aura; short weapon; // enum weapon_type short shield; // view-id Index: src/map/atcommand.c =================================================================== --- src/map/atcommand.c (revision 12718) +++ src/map/atcommand.c (working copy) @@ -8200,6 +8200,43 @@ } /*========================================== + * Auras personalizadas + *------------------------------------------*/ +int atcommand_aura(const int fd, struct map_session_data* sd, const char* command, const char* message) +{ + struct map_session_data *pl_sd = 0; + int type = 0; + + if (!message || !*message || sscanf(message, "%d %[^\n]", &type, atcmd_player_name) < 2) + { + if (!message || !*message || sscanf(message, "%d", &type) < 1) + { + clif_displaymessage(fd, "Please, enter at least an option (usage: @aura <aura> <char>)."); + return -1; + } + + atcmd_player_name[0] = 0; + pl_sd = sd; + } + + if( pl_sd != sd ) + { + if ((pl_sd = map_nick2sd(atcmd_player_name)) == NULL) + return -1; + } + + sprintf(atcmd_output, "Current Aura: %d", pl_sd->status.aura); + clif_displaymessage(fd, atcmd_output); + + pl_sd->status.aura = type; + pc_setglobalreg(pl_sd,"USERAURA",type); + + pc_setpos(pl_sd, pl_sd->mapindex, pl_sd->bl.x, pl_sd->bl.y, 3); + + return 0; +} + +/*========================================== * AUCTION SYSTEM *------------------------------------------*/ int atcommand_auction(const int fd, struct map_session_data *sd, const char *command, const char *message) @@ -8552,6 +8589,7 @@ { "homshuffle", 60, atcommand_homshuffle }, { "showmobs", 10, atcommand_showmobs }, { "feelreset", 10, atcommand_feelreset }, + { "aura", 1, atcommand_aura }, { "auction", 60, atcommand_auction }, { "mail", 1, atcommand_mail }, { "noks", 0, atcommand_ksprotection }, Index: src/map/clif.c =================================================================== --- src/map/clif.c (revision 12718) +++ src/map/clif.c (working copy) @@ -95,6 +95,139 @@ int clif_parse (int fd); /*========================================== + * @aura + *------------------------------------------*/ +static int auraTable[][3] = { + { -1, -1, -1 }, + // Reserved for PK Mode + { 586, -1, -1 }, // LH + { 586, 362, -1 }, // LH Mvp + { 586, 362, 240 }, // 1є PK Place + // Basic Auras + { 418, -1, -1 }, // Red Fury + { 486, -1, -1 }, // Blue Fury + { 485, -1, -1 }, // White Fury + { 239, -1, -1 }, // Aura Red + { 240, -1, -1 }, // Aura White + { 241, -1, -1 }, // Aura Yellow + { 620, -1, -1 }, // Aura Blue + { 202, -1, -1 }, // Lvl 99 Bubbles + { 362, -1, -1 }, // Advanced Lvl 99 Bubbles + { 678, -1, -1 }, // Brazil Aura Bubbles + { 679, -1, -1 }, // Brazil Aura + { 680, -1, -1 }, // Brazil Aura Floor + // 2 Sets + { 239, 418, -1 }, + { 239, 486, -1 }, + { 239, 485, -1 }, + { 240, 418, -1 }, + { 240, 486, -1 }, + { 240, 485, -1 }, + { 241, 418, -1 }, + { 241, 486, -1 }, + { 241, 485, -1 }, + { 620, 418, -1 }, + { 620, 486, -1 }, + { 620, 485, -1 }, + // Full Sets + { 239, 418, 202 }, + { 239, 486, 202 }, + { 239, 485, 202 }, + { 240, 418, 202 }, + { 240, 486, 202 }, + { 240, 485, 202 }, + { 241, 418, 202 }, + { 241, 486, 202 }, + { 241, 485, 202 }, + { 620, 418, 202 }, + { 620, 486, 202 }, + { 620, 485, 202 }, + { 239, 418, 362 }, + { 239, 486, 362 }, + { 239, 485, 362 }, + { 240, 418, 362 }, + { 240, 486, 362 }, + { 240, 485, 362 }, + { 241, 418, 362 }, + { 241, 486, 362 }, + { 241, 485, 362 }, + { 620, 418, 362 }, + { 620, 486, 362 }, + { 620, 485, 362 }, + { 239, 418, 678 }, + { 239, 486, 678 }, + { 239, 485, 678 }, + { 240, 418, 678 }, + { 240, 486, 678 }, + { 240, 485, 678 }, + { 241, 418, 678 }, + { 241, 486, 678 }, + { 241, 485, 678 }, + { 620, 418, 678 }, + { 620, 486, 678 }, + { 620, 485, 678 }, + // Oficial Set + { 680, 679, 678 }, + { -1, -1, -1 } +}; + +int aura_getSize() +{ + return sizeof(auraTable)/(sizeof(int) * 3) - 1; +} + +int aura_getAuraEffect(struct map_session_data *sd, short pos) +{ + int aura = sd->status.aura; + + if (pos < 0 || pos > 2) + return -1; + + if (aura > aura_getSize() || aura < 0) + return -1; + + return auraTable[aura][pos]; +} + +void clif_sendaurastoone(struct map_session_data *sd, struct map_session_data *dsd) +{ + int effect1, effect2, effect3; + + if (pc_ishiding(sd)) + return; + + effect1 = aura_getAuraEffect(sd, 0); + effect2 = aura_getAuraEffect(sd, 1); + effect3 = aura_getAuraEffect(sd, 2); + + if (effect1 >= 0) + clif_specialeffect_single(&sd->bl, effect1, dsd->fd); + if (effect2 >= 0) + clif_specialeffect_single(&sd->bl, effect2, dsd->fd); + if (effect3 >= 0) + clif_specialeffect_single(&sd->bl, effect3, dsd->fd); +} + +void clif_sendauras(struct map_session_data *sd, enum send_target type) +{ + int effect1, effect2, effect3; + + if (pc_ishiding(sd)) + return; + + effect1 = aura_getAuraEffect(sd, 0); + effect2 = aura_getAuraEffect(sd, 1); + effect3 = aura_getAuraEffect(sd, 2); + + if (effect1 >= 0) + clif_specialeffect(&sd->bl, effect1, type); + if (effect2 >= 0) + clif_specialeffect(&sd->bl, effect2, type); + if (effect3 >= 0) + clif_specialeffect(&sd->bl, effect3, type); +} + +/*========================================== * mapЋI‚МipђЭ’и *------------------------------------------*/ int clif_setip(const char* ip) @@ -1016,6 +1149,7 @@ clif_specialeffect(bl,423,AREA); else if(sd->state.size==1) clif_specialeffect(bl,421,AREA); + clif_sendauras((TBL_PC*)bl, AREA); } break; case BL_MOB: @@ -3388,6 +3522,7 @@ clif_specialeffect_single(bl,423,sd->fd); else if(tsd->state.size==1) clif_specialeffect_single(bl,421,sd->fd); + clif_sendaurastoone(tsd, sd); } break; case BL_NPC: @@ -3413,6 +3548,37 @@ } } +int clif_insight2(struct block_list *bl,va_list ap) +{ + struct block_list *tbl; + struct map_session_data *sd, *tsd; + int flag; + + tbl = va_arg(ap,struct block_list*); + flag = va_arg(ap,int); + + if (bl == tbl && !flag) + return 0; + + sd = BL_CAST(BL_PC, bl); + tsd = BL_CAST(BL_PC, tbl); + + if (sd && sd->fd) + { + if (bl == tbl) + clif_sendaurastoone(sd, tsd); + else + clif_getareachar_unit(sd, tbl); + } + + return 0; +} + +void clif_getareachar_char(struct block_list *bl, short flag) +{ + map_foreachinarea(clif_insight2, bl->m, bl->x-AREA_SIZE, bl->y-AREA_SIZE, bl->x+AREA_SIZE, bl->y+AREA_SIZE,BL_PC, bl, flag); +} + //Modifies the type of damage according to status changes [Skotlex] //Aegis data specifies that: 4 endure against single hit sources, 9 against multi-hit. #define clif_calc_delay(type,div,damage,delay) ((delay)==0&&(damage)>0?((div)>1?9:4):type) Index: src/map/clif.h =================================================================== --- src/map/clif.h (revision 12718) +++ src/map/clif.h (working copy) @@ -415,6 +415,10 @@ int do_final_clif(void); int do_init_clif(void); +// [@aura] +void clif_sendauras(struct map_session_data *sd, enum send_target type); +void clif_getareachar_char(struct block_list *bl, short flag); + #ifndef TXT_ONLY // MAIL SYSTEM void clif_Mail_window(int fd, int flag); Index: src/map/pc.c =================================================================== --- src/map/pc.c (revision 12718) +++ src/map/pc.c (working copy) @@ -898,6 +898,9 @@ sd->change_level = pc_readglobalreg(sd,"jobchange_level"); sd->die_counter = pc_readglobalreg(sd,"PC_DIE_COUNTER"); + // @Aura + sd->status.aura = pc_readglobalreg(sd,"USERAURA"); + // Cash shop sd->cashPoints = pc_readaccountreg(sd,"#CASHPOINTS"); sd->kafraPoints = pc_readaccountreg(sd,"#KAFRAPOINTS"); Index: src/map/status.c =================================================================== --- src/map/status.c (revision 12718) +++ src/map/status.c (working copy) @@ -5038,6 +5038,7 @@ vd = status_get_viewdata(bl); calc_flag = StatusChangeFlagTable[type]; if(!(flag&4)) //&4 - Do not parse val settings when loading SCs + { switch(type) { case SC_DECREASEAGI: @@ -5931,6 +5932,15 @@ return 0; } } + // @aura + if (sd && sd->status.aura > 0 && + (type == SC_HIDING || type == SC_CLOAKING || type == SC_CHASEWALK)) + { + sd->status.aura *= -1; + clif_clearunit_area(&sd->bl, 0); + clif_getareachar_char(&sd->bl, 0); + } + } else //Special considerations when loading SC data. switch( type ) { @@ -6693,6 +6703,14 @@ opt_flag = 0; } + // @auras + if (sd && sd->status.aura < 0 && + (type == SC_HIDING || type == SC_CLOAKING || type == SC_CHASEWALK)) + { + sd->status.aura *= -1; + clif_sendauras(sd, AREA_WOS); + } + if (calc_flag&SCB_DYE) { //Restore DYE color if (vd && !vd->cloth_color && sce->val4) и циферек @@ -248,7 +248,7 @@ у меня нет
  22. Спасибо дружише помог! всё прекрасно работает
×
×
  • Создать...
Яндекс.Метрика