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

@emotion @heart @show @hold @detach


Habilis

Рекомендуемые сообщения

Хабиля год назад модернизировал эти старые добрые комманды под Геркулес плагины (кое-где подрихтовал, кое-где подчистил)

emotion.c

@emotion 0 - 81 эмотики без задержки.

PhrUjcN.jpg

#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 (сердечки без задержки)

RR1bcJM.jpg

#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 (Показывает точку на миникарте по заданным координатам.)

dNPDi1p.jpg

#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 (Оставляет чара в игре с отключеным клиентом)

fBMKJSS.jpg

#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 можно лохотроннить в игре с костями...)

Хабиля допилит в эту комманду костыль с отключенными Емотиками...

 

 

Если есть еще какие-нить интерессные идеи и предложения чего-бы еще накодить, намутить, пишите! 

 

Если чо, накодим с пачанами....

(только что-то очень большое не буду кодить, Хабиля не умеет кодить если-чо)

Изменено пользователем Habilis
Ссылка на комментарий
Поделиться на другие сайты

Так не зделал еще...

4 часа назад, Habilis сказал:

Хабиля в скором времени до рихтует их чтобы компиллились с последней версией герка (А то они больше не компиляться)

Так-же в комманде @emotion заметил возможность вызвать эмотку (Молчанки , и эмотки с определенной стороной кубика из /dice можно лохотроннить в игре с костями...)

Хабиля допилит в эту комманду костыль с отключенными Емотиками...

 

 

УПД : Просто если у пачанов есть еще какие-то Ах*тельные идеи, пусть пока пишут, если чо понравиться и будет по силам Хабиле релизну все сразу кароч...

 

А вот ссыль на то что было релизнуто на Герке, год назад.

http://herc.ws/board/topic/12855-emotion-heart-show-hold-detach/

 

 

Изменено пользователем Habilis
Ссылка на комментарий
Поделиться на другие сайты

хабиля упарывает вещества? почему ты о себе в третьем лице говоришь?

как сделать так, чтобы твои посты не раздражали?

  • Downvote 1
Ссылка на комментарий
Поделиться на другие сайты

10 час назад, SouZe сказал:

хабиля упарывает вещества? почему ты о себе в третьем лице говоришь?

Много Употребляет, а еще Много курит и не только табак, Много пьет..... Много ест, и морально разлагается

10 час назад, SouZe сказал:

как сделать так, чтобы твои посты не раздражали?

Проще некуда, Не читать их , Ё*та....

 

УПД : Раз ^^^ это ^^^ самая крутая идея, которую пачаны смогли сгенерировать... Смотрите первый пост, там проапдейтанные версии плагинов компилящиеся на последнем герке.

В комманде @emotion добавлен костыль, убирающий эмотики молчанки и определенной стороны кубика из /dice.

Читайте коментарии к коду, если хотите убрать еще какие-то емотики.

Изменено пользователем Habilis
Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...
В 13.09.2017в1:56 AM, Habilis сказал:

УПД : Просто если у пачанов есть еще какие-то Ах*тельные идеи, пусть пока пишут, если чо понравиться и будет по силам Хабиле релизну все сразу кароч...

а почему бы не сделать плагин для склеивания пати, то есть если по русски плагин что бы объединить обе пати группы, в обеих патях должны быть лидеры к примеру с премиум аккаунтом

чем выгодна такая штука? ну во-первых патя имеющая уровень 80-90+ лв из 12 человек в шаре делают дополнительную группу возможно из более высоких лв уровней возможно это будут танки или биши

в данном плагине сделать общий чат который видят обе группы читать и писать обе группы будут видеть хп каждого из пать, и только 2 премиум игрока могут сделать пати коннект и объединить обе группы, только 2 премиум игрока должны быть лидерами каждой пати

@partyconnect <name>
Посылает запрос на объединение групп лидеру <name> другой группы. У присоединенной группы видно полоску HP и чат группы. Лидер другой группы тоже должен быть премиум.
@partydisconnect
Отключает объединение групп.

@partysp (<period>)
Показывает текущее SP у вашей пати. Откат 5 секунд. Можно задать время <period> блокировки просмотра SP.

@partyleader <name>
Смена лидера группы с текущего на участника группы <name>. Используется лидером группы. Работает только в городах.

Изменено пользователем ucell-uz
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...
Яндекс.Метрика