Поиск по сайту

Результаты поиска по тегам '@show'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип публикаций




Фильтр по количеству...

Найдено 3 результата

  1. Хабиля год назад модернизировал эти старые добрые комманды под Геркулес плагины (кое-где подрихтовал, кое-где подчистил) emotion.c @emotion 0 - 81 эмотики без задержки. #include "common/hercules.h" #include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> #include "common/HPMi.h" #include "map/clif.h" #include "map/atcommand.h" #include "map/script.h" #include "map/pc.h" #include "common/nullpo.h" #include "common/HPMDataCheck.h" HPExport struct hplugin_info pinfo = { "@emotion", // Plugin name SERVER_TYPE_MAP,// Which server types this plugin works with? "1.2", // Plugin version HPM_VERSION, // HPM Version (don't change, macro is automatically updated) }; /*========================================== * @emotion X by Anarchist * => Displays the emotions without delay *------------------------------------------*/ int emotion_max = 81; // Set last available emotion number available for this command. // Clients < 2013 support way less emotions. ACMD(emotion) { char err_msg[1024]; // Disabled emotions 34 = mute; [58 to 63] = dice particular sides int rEmoArray[] = {34, 58, 59, 60, 61, 62, 63}; int rEmoArraySize = sizeof(rEmoArray) / sizeof(rEmoArray[0]); if(!*message || atoi(message) < 0 || atoi(message) > emotion_max) { sprintf(err_msg, "Usage: @emotion 0-%d", emotion_max); clif->message(fd, err_msg); return -1; } for (int i = 0; i < rEmoArraySize; i++) { if (rEmoArray[i] == atoi(message)) { sprintf(err_msg, "This emotion is disabled."); clif->message(fd, err_msg); return -1; } } clif->emotion(&sd->bl,atoi(message)); return 1; } /* Server Startup */ HPExport void plugin_init (void) { addAtcommand("emotion",emotion); } heart.c @heart 1 or 2 (сердечки без задержки) #include "common/hercules.h" #include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> #include "common/HPMi.h" #include "map/clif.h" #include "map/atcommand.h" #include "map/script.h" #include "map/pc.h" #include "common/nullpo.h" #include "common/HPMDataCheck.h" HPExport struct hplugin_info pinfo = { "@heart", // Plugin name SERVER_TYPE_MAP,// Which server types this plugin works with? "1.2", // Plugin version HPM_VERSION, // HPM Version (don't change, macro is automatically updated) }; /*========================================== @heart X by Anarchist => Displays the heart special effect ------------------------------------------ */ ACMD(heart) { if(!*message || atoi(message) < 1 || atoi(message) > 2) { clif->message(fd, "usage: @heart 1 or 2"); return -1; } if(atoi(message) == 1) { clif->specialeffect(&sd->bl,364,0); } else if(atoi(message) == 2) { clif->specialeffect(&sd->bl,509,0); } return 1; } /* Server Startup */ HPExport void plugin_init (void) { addAtcommand("heart",heart); } dance.c @dance 1 - 8 (Персонаж выполняет какие-то трюки) #include "common/hercules.h" #include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> #include "common/HPMi.h" #include "map/clif.h" #include "map/atcommand.h" #include "map/script.h" #include "map/pc.h" #include "common/nullpo.h" #include "common/HPMDataCheck.h" HPExport struct hplugin_info pinfo = { "@dance", // Plugin name SERVER_TYPE_MAP,// Which server types this plugin works with? "1.2", // Plugin version HPM_VERSION, // HPM Version (don't change, macro is automatically updated) }; /*========================================== @dance X by Anarchist => Special effects with dance style ------------------------------------------ */ ACMD(dance) { if(!*message || atoi(message) < 1 || atoi(message) > 9) { clif->message(fd, "Usage: @dance 1-9"); return -1; } switch(atoi(message)) { case 1 : clif->specialeffect(&sd->bl,413,0); break; case 2 : clif->specialeffect(&sd->bl,414,0); break; case 3 : clif->specialeffect(&sd->bl,415,0); break; case 4 : clif->specialeffect(&sd->bl, 426,0); break; case 5 : clif->specialeffect(&sd->bl,458,0); break; case 6 : clif->specialeffect(&sd->bl,466,0); break; case 7 : clif->specialeffect(&sd->bl,501,0); break; case 8 : clif->specialeffect(&sd->bl,540,0); break; case 9 : clif->specialeffect(&sd->bl,550,0); break; } return 1; } /* Server Startup */ HPExport void plugin_init (void) { addAtcommand("dance",dance); } show.c @show X Y (Показывает точку на миникарте по заданным координатам.) #include "common/hercules.h" #include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> #include "common/HPMi.h" #include "map/clif.h" #include "map/atcommand.h" #include "map/script.h" #include "map/pc.h" #include "common/nullpo.h" #include "common/HPMDataCheck.h" HPExport struct hplugin_info pinfo = { "@show", // Plugin name SERVER_TYPE_MAP,// Which server types this plugin works with? "1.2", // Plugin version HPM_VERSION, // HPM Version (don't change, macro is automatically updated) }; /*========================================== * @show by KarLaeda * => Displays the point on minimap *------------------------------------------*/ ACMD(show) { int x = 0, y = 0; if(!*message || (sscanf(message, "%d %d", &x, &y) != 2)) { clif->message(fd, "usage: @show <x> <y>"); return -1; } clif->viewpoint(sd, 1, 1, x, y, 2, 0xFF0000); return 1; } /* Server Startup */ HPExport void plugin_init (void) { addAtcommand("show",show); } hold.c @hold (Отключает передвежения персонажа, наверное полезна арчерам и свордмэнам с пикой...) #include "common/hercules.h" #include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> #include "common/HPMi.h" #include "map/clif.h" #include "map/atcommand.h" #include "map/script.h" #include "map/pc.h" #include "common/nullpo.h" #include "common/HPMDataCheck.h" HPExport struct hplugin_info pinfo = { "@hold", // Plugin name SERVER_TYPE_MAP,// Which server types this plugin works with? "1.2", // Plugin version HPM_VERSION, // HPM Version (don't change, macro is automatically updated) }; /*========================================== * @hold by Voidless *==========================================*/ ACMD(hold) { if (!sd->state.blockedmove) { sd->state.blockedmove = 1; clif->message(fd, "Character movement turned off"); } else { sd->state.blockedmove = 0; clif->message(fd, "Character movement turned on"); } return 1; } /* Server Startup */ HPExport void plugin_init (void) { addAtcommand("hold",hold); } detach.c @detach (Оставляет чара в игре с отключеным клиентом) #include "common/hercules.h" #include <stdio.h> #include <stdlib.h> #include <string.h> #include "common/HPMi.h" #include "common/timer.h" #include "common/nullpo.h" #include "map/channel.h" #include "map/script.h" #include "map/pc.h" #include "map/clif.h" #include "map/chat.h" #include "map/battle.h" #include "map/status.h" #include "common/HPMDataCheck.h" HPExport struct hplugin_info pinfo = { "@detach", // Plugin name SERVER_TYPE_MAP,// Which server types this plugin works with? "1.1", // Plugin version HPM_VERSION, // HPM Version (don't change, macro is automatically updated) }; /*========================================== * @detach *==========================================*/ ACMD(detach) { if( pc_isdead(sd) ) { clif->message(fd, "Cannot use @detach if you are dead."); return true; } if( map->list[sd->bl.m].flag.autotrade == battle->bc->autotrade_mapflag ) { if(map->list[sd->bl.m].flag.pvp || map->list[sd->bl.m].flag.gvg){ clif->message(fd, "You may not use @detach when you are on maps PVP or GVG."); return true; } sd->state.monster_ignore = 0; sd->state.autotrade = 1; chat->create_pc_chat(sd, "DETACH", "", 1, true); sd->sc.opt1 = OPT1_STONE; pc->setoption(sd, sd->sc.option); pc_setsit(sd); skill->sit(sd,1); clif->sitting(&sd->bl); channel->quit(sd); clif->authfail_fd(sd->fd, 15); return true; } else { clif->message(fd, "@detach is not allowed on this map."); return true; } } /* Server Startup */ HPExport void plugin_init (void) { addAtcommand("detach",detach); } Над детачем Хабиля еще поработает, нужно в него допилить новы фишки, ДЕТАЧ еще не финальной версии...     Хабиля в скором времени до рихтует их чтобы компиллились с последней версией герка (А то они больше не компиляться) УЖЕ!  Так-же в комманде @emotion заметил возможность вызвать эмотку (Молчанки , и эмотки с определенной стороной кубика из /dice можно лохотроннить в игре с костями...) Хабиля допилит в эту комманду костыль с отключенными Емотиками...     Если есть еще какие-нить интерессные идеи и предложения чего-бы еще накодить, намутить, пишите!    Если чо, накодим с пачанами.... (только что-то очень большое не буду кодить, Хабиля не умеет кодить если-чо)
  2. Грава show equip

    Всем привет! Столкнулся с проблемой, при show equip'е вылетает грава. Кастом и всё остальное работает как надо,но когда я хочу посмотреть что одето на другом чаре (при условии что он открывает свой эквип) то вылетает грава. Подскажите в какую сторону копать , клиент 20120410. Саму граву скинуть не получится,она просто напросто не отображается,клиент как бы крашится и закрывается процесс...
  3. возникло у меня желание сделать такой скрипт, который как в клиенте будет показывать крестик на локации. что было сделано: -получены все картинки локаций из грф -написано простенький скрипт, который сканирует директорию с картинками, создает выпадающий список -потом вводим нужные координаты и передаем в другой скрипт казалось бы, что проще-вывести картинку и поверх нее вывести еще одну, как это сделано к примеру на сайте люмиро. и все выводится, но не совпадает с реальными координатами. вот к примеру с люми ссылка: http://market.lumiro.net/map.php?map=alberta&x=150&y=50 картинка 512*512 пикселей. причем если открыть html код получается кусок кода, отвечающий за положение флажка: <img style="position: absolute; left: 272px; top: 403px;" src="pointer-flag.png" /> причем смещение не ясно, как получается. указано же координата Х=150, то есть смешение с лева 150, но почему то указано 272. в РО отсчет координат происходит как в обычной системе, то есть с нижнего левого угла. в браузере вывод идет с левого верхнего края. но все равно, в таком случае координата Х должна быть равна переданной, а отступ сверху легко сделать, вычтя из высоты картинки переданную координату. но самое интересное, если выбрать другую локацию на люми с точно такими же размерами, то и тогда отступ будет другой. можете сами убедится. и вот вопрос-как сделать соответствие вводимых данных с игрой? или как-то нужно учитывать размеры самой локации в игре? что я не учел?