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

Incubus

Очередь
  • Постов

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

  • Посещение

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

    28

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

  1. Человек надежный, не кинет, можете смело покупать.
  2. Incubus

    Mod. Guild Item.

    Гильд мастер, собрав нужный лут, может создать вещь, закрепленную за гильдией. Список вещей и нужного на нее лута указывается в отдельном файле. Вещь подписывается именем гильдии. Эту вещь нельзя выкинуть, передать игроку не в гильдии или положить в обычный склад. При выходе из гильдии вещь перекидывается в гильд склад. При удалении гильдии вещь удаляется. Цена вопроса: 1000р. Обращаться в ПМ или icq 260474081
  3. для rA в файле skill_cast_db.txt есть колонка Cool down для eA в исходниках есть функция clif_skill_cooldown(struct map_session_data *sd, int skillid, unsigned int tick);
  4. Подобие стандартных массивов(числовых). Сейчас макс. размер выставлен до 500. BUILDIN_DEF(long_array,"si*"), BUILDIN_DEF(getelementoflongarray,"si"), BUILDIN_DEF(deletelongarray,"si?"),
  5. Предлагаю проверить будет ли сумма двух массивов: $@sns_group2 и $@sns_group1 равна размеру массива $@mapusersid, когда количество игроков не четное. В этом куске ты наверное не изменил ничего? for (set .i, 0; .i < $@sns_member; set .i, .i+1) { warpchar "pvp_n_1-5",66,100,$@sns_group1[.i]; warpchar "pvp_n_1-5",136,100,$@sns_group2[.i];} pvpon "pvp_n_1-5"; } не проще ли варпать командой warpparty раз ты уже всех раскидал по пати? А также тут внимательно посмотри if(getmapusers("pvp_n_1-5")>2 && getmapusers("pvp_n_1-5")<4) { inviteparty($@sns_group2[0],$@sns_member);} else if (getmapusers("pvp_n_1-5")>3) { inviteparty($@sns_group1[0],$@sns_member); inviteparty($@sns_group2[0],$@sns_member);} думаю лучше будет писать типа такого: inviteparty($@sns_group2[0],getarraysize($@sns_group2));
  6. как вариант из первого поста замени строку copyarray $@sns_group2[0],$@mapusersid[$@sns_member],$@sns_member; на copyarray $@sns_group2[0],$@mapusersid[$@sns_member],(getarraysize($@mapusersid)%2>0?($@sns_member+1):$@sns_member); если я правильно понял команду inviteparty. В этом случае будет последнего игрока всегда добавлять в $@sns_group2 В твоем первом посте всегда последний игрок отметался, потому как при делении в афине округление идет в меньшую сторону, т.е. 5/2 будет 2.
  7. Сильно не вникал в скрипт, если проблема все еще в том что остается в центре последний игрок, попробуй так: if(getarraysize($@mapusersid)%2>0) { и тут уже делаешь с этим игроком ($@mapusersid[getarraysize($@mapusersid-1)]), что хочешь }
  8. Incubus

    скилл

    в skill.c case SN_FALCONASSAULT: case PA_PRESSURE: case CR_ACIDDEMONSTRATION: case TF_THROWSTONE: case NPC_SMOKING: case GS_FLING: case NJ_ZENYNAGE: case GN_THORNS_TRAP: case GN_BLOOD_SUCKER: case GN_HELLS_PLANT_ATK: skill_attack(BF_MISC,src,src,bl,skillid,skilllv,tick,flag); break; замени на case PA_PRESSURE: case CR_ACIDDEMONSTRATION: case TF_THROWSTONE: case NPC_SMOKING: case GS_FLING: case NJ_ZENYNAGE: case GN_THORNS_TRAP: case GN_BLOOD_SUCKER: case GN_HELLS_PLANT_ATK: skill_attack(BF_MISC,src,src,bl,skillid,skilllv,tick,flag); break; case SN_FALCONASSAULT: skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,flag); break;
  9. Incubus

    скилл

    case SN_FALCONASSAULT: skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,flag); break;
  10. OnNPCKillEvent: if(killedrid == 1002 && @val < 20) set @val,@val+1; end;
  11. Incubus

    Монстр

    getmapxy(.@map$,.@x,.@y,0,.@char_name$); дальше думаю догадаешся.
  12. Правильно, косяк в резидене. Насколько я помню у вас в файле clif.c эта строка: status_calc_pc(sd, true); стоит до условия: if(!map[sd->bl.m].flag.resident && sd->state.resident) { sd->state.resident = 0; pc_disguise(sd,0); } А должно выглядеть вот так: if(!map[sd->bl.m].flag.resident && sd->state.resident) { status_calc_pc(sd, true); sd->state.resident = 0; pc_disguise(sd,0); }
  13. У кого есть этот мод, тот увидит(не полная часть этого лейбла): if(map[sd->bl.m].flag.resident && sd->state.resident == 1) { npc_script_event(sd,NPCE_DAMAGE); pc_stop_attack((TBL_PC*)src); } в функции void pc_damage(struct map_session_data *sd,struct block_list *src,unsigned int hp, unsigned int sp) и как я уже сказал нужно добавить проверку скила. Какой пруф тебе еще нужен?
  14. В моде резидет евил такой лейбл присутствует, только к нему нужно добавить определение скила.
  15. Может будет не так зрелищно как картинками, но можно сделать через announce.
  16. Сохраняем ид гильдии убийцы Set .id, getcharid(2); дальше приаттачиваешь убитого attachrid(killedrid); и сравниваешь if( getcharid(2) == .id) ....
  17. Первый пост обновлен. Исправлена ошибка с количеством символов. в файле clif.c начало функции void badword(char *mes1,char *mes) должно выглядеть так: void badword(char *mes1,char *mes) { char uk[1]; char *line = NULL; int i,k; line = mes; for(i=0; i < strlen(line); i++) line[i] = tolower(line[i]);
  18. rdamage = cap_value(rdamage,1,max_damage); но она на прямую зависит от max_damage
  19. Мб if( rdamage > max_damage ) rdamage = max_damage;
  20. левая карта + табы поди там до этого еще наворочено.
  21. Incubus

    @loginfo

    Вдруг кому понадобится. Команда помогает в просмотре picklog(только в SQL таблице). вводится: @loginfo <ник>,<ид вещи>,<дата> дата вводится в виде: гггг-мм-дд Также пишите как можно было бы улучшить эту команду.
  22. Ну ты облажался, шанс то был . Тебе осталось то всего ничего нафлудить. Может пора тебе свой статус отрабатывать? А серьезно, если очень нужно, пиши в личку.
  23. Да, по стоимости что и покупал при сохранении набора.
  24. Команда упрощает покупку расхода путем сохранения их в наборы и закупки всего набора. Пополнять набор можно только в городе. Сохранение набора: вводим команду @restock new:<имя набора> и в течении 30 секунд открываем магазин. Покупаем расход и он сохраняется у вас в наборе. @restock select выбор и пополнение набора @restock info информация о наборах @restock del удаляет выбранный набор
  25. ап, теперь ид\название лута вводится непосредственно при использовании скила.
×
×
  • Создать...
Яндекс.Метрика