Habilis

@emotion @heart @show @hold @detach

6 сообщений в этой теме

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

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
0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А ссылки где?XD

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

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

 

 

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

 

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

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

 

 

Изменено пользователем Habilis
0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

-1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
10 час назад, SouZe сказал:

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

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

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

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

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

 

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

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

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

Изменено пользователем Habilis
0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 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
0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас