Descarca de aici:
Arhiva cu emoticonuri : >>>http://files.filefront.com/emoticonsrar/; 10130373;/fileinfo.html
si de aici
Emoticons.Ini >>> http://files.filefront.com/emoticonsini/; 10130378;/fileinfo.html
Fisierul SMA fiind acesta
#include #include
#define PLUGIN "Emoticons Displayer"
#define VERSION "1.0"
#define AUTHOR "Alka"
#define MAX_EMOTICONS 50
new const g_szSymbol[MAX_EMOTICONS][16];
new const g_szSprite[MAX_EMOTICONS][32];
new g_iSpirteIndex[MAX_EMOTICONS];
new g_iNum;
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR);
register_clcmd("say", "clcmdSay", -1, "");
}
public plugin_precache()
{
new szFile[64];
get_configsdir(szFile, sizeof szFile - 1);
add(szFile, sizeof szFile - 1, "/emoticons.ini");
if(! file_exists(szFile))
write_file(szFile, "", -1);
new szBuffer[128], iLen, iLine;
while(read_file(szFile, iLine++, szBuffer, sizeof szBuffer - 1, iLen))
{
if(! iLen || szBuffer[0] == ';')
continue;
parse(szBuffer, g_szSymbol[g_iNum], sizeof g_szSymbol[] - 1, g_szSprite[g_iNum], sizeof g_szSprite[] - 1);
g_iSpirteIndex[g_iNum] = precache_model(g_szSprite[g_iNum]);
g_iNum++;
if(g_iNum >= MAX_EMOTICONS)
break;
}
}
public clcmdSay(id)
{
if(! is_user_alive(id))
return;
static szArgs[128];
read_args(szArgs, sizeof szArgs - 1);
for(new i = 0; i < sizeof(g_szSymbol); i++)
{
if(! g_szSymbol[i][0])
continue;
if(containi(szArgs, g_szSymbol[i])!= -1)
{
util_p_killattachment(id);
util_p_attach(id, g_iSpirteIndex[i], 5);
}
}
}
stock util_p_killattachment(index)
{
if(! is_user_connected(index))
return;
message_begin(MSG_ALL, SVC_TEMPENTITY)
write_byte(TE_KILLPLAYERATTACHMENTS);
write_byte(index);
message_end();
}
stock util_p_attach(index, iSprite, iHoldTime)
{
if(! is_user_connected(index))
return;
message_begin(MSG_ALL, SVC_TEMPENTITY);
write_byte(TE_PLAYERATTACHMENT);
write_byte(index);
write_coord(60);
write_short(iSprite);
write_short(iHoldTime * 10);
message_end();
}