ЗАКРЫТЬ
Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

23-апр
10-апр
11-апр
02-дек

Раскрутка Counter-Strike 1.6

Sprites Emotions

, Спрайт (смайлик) над головой игрока
Статус пользователя iplague
сообщение 16.12.2019, 19:40
Сообщение #1
Стаж: 7 лет 1 месяц

Сообщений: 12
Благодарностей: 9
Полезность: 0

Простенький плагин, который позволяет выражать эмоции через смайлы.
Подробности на скриншотах.
Скрины
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение


Скрипт
Код:
#include <amxmodx>
#include <fakemeta>

new Float:EMO_TIME[33]=0.0,sprite_index[8];
new CMD[] = {"say emotions","emotions","say /emotions","say /emotion","emotion","say emotion"};
new const g_sprite[8][] ={
"sprites/emotions/devil.spr", //НЕДОВОЛЬСТВО
"sprites/emotions/wow.spr" , //ШОК
"sprites/emotions/like.spr", //ЛЮБОВЬ
"sprites/emotions/sad.spr", //ГРУСТЬ
"sprites/emotions/kiss.spr", //ПОЦЕЛУЙ
"sprites/emotions/smile.spr", //УЛЫБКА
"sprites/emotions/agree.spr", //Согласие
"sprites/emotions/rofl.spr" //РОФЛ
}

public plugin_init(){
register_plugin("Emotion Icon", "1.0", "iPlague");
register_forward(FM_CmdStart, "CmdStart" );
for(new i = 0; i < sizeof(CMD); i ++) register_clcmd(CMD[i],"emotions_menu",_,"Открыть меню эмоций");
register_logevent("round_start",2,"1=Round_Start");
register_menucmd(register_menuid("emotions_menu"), (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<7|1<<9), "handler_emotions_menu");
}

public CmdStart(id,uc_handle,seed)if(get_uc(uc_handle,UC_Impulse) == 100) emotions_menu(id);
public round_start() ChatColor(0, "^4[CSO emotions] ^1Нажмите ^3F ^1(или ^4emotions ^1в чат) что бы открыть меню ^3Эмоций");
public plugin_precache() for(new i; i < sizeof g_sprite; i++) sprite_index[i] = precache_model(g_sprite[i]);
public client_putinserver(id) EMO_TIME[id]=0.0;

public emotions_menu(id)
{
if(!is_user_alive(id)){
ChatColor(id, "^4[CSO emotions] ^1Только для живых!");
return PLUGIN_HANDLED;
}
new Float:GAME_TIME = get_gametime();
if(GAME_TIME < EMO_TIME[id]){
ChatColor(id, "^4[CSO emotions] ^1Возможность будет доcтупна через ^3%.0f",(EMO_TIME[id] - GAME_TIME));
return PLUGIN_HANDLED;
}

static pos, szMenu[512], keys;
keys = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<9);
pos = 0;

pos += formatex( szMenu[pos], charsmax(szMenu)-pos, "\yМеню эмоций^n^n\w");
pos += formatex( szMenu[pos], charsmax(szMenu)-pos, "1. Недовольство^n");
pos += formatex( szMenu[pos], charsmax(szMenu)-pos, "2. Шок^n");
pos += formatex( szMenu[pos], charsmax(szMenu)-pos, "3. Любовь^n");
pos += formatex( szMenu[pos], charsmax(szMenu)-pos, "4. Грусть^n");
pos += formatex( szMenu[pos], charsmax(szMenu)-pos, "5. Поцелуй^n");
pos += formatex( szMenu[pos], charsmax(szMenu)-pos, "6. Улыбка^n");
pos += formatex( szMenu[pos], charsmax(szMenu)-pos, "7. Согласие^n");
pos += formatex( szMenu[pos], charsmax(szMenu)-pos, "8. Смех LOL^n^n");
pos += formatex( szMenu[pos], charsmax(szMenu)-pos, "\y0. Выход");

return show_menu(id, keys, szMenu, -1, "emotions_menu");
}

public handler_emotions_menu(id,item)
{
switch(item)
{
case 0..7:
{
new players[32], pnum;
get_players(players,pnum,"ach");
for (new i = 0; i < pnum; i++ )
{
if(players[i] == id || !is_user_connected(players[i])) continue;
message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, { 0, 0, 0 }, players[i]);
write_byte(TE_PLAYERATTACHMENT);
write_byte(id);
write_coord(45);
write_short(sprite_index[item]);
write_short(25);
message_end();
}
new Float:GAME_TIME = get_gametime();
EMO_TIME[id] = GAME_TIME + 6.0; // что бы не спамили
return;
}
}
return;
}

stock ChatColor(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)

replace_all(msg, 190, "!g", "^4") // Green Color
replace_all(msg, 190, "!y ", "^1") // Default Color
replace_all(msg, 190, "!team", "^3") // Team Color
replace_all(msg, 190, "!team2", "^0") // Team2 Color

if(id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if(is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}


Спрайты:
Прикрепленный файл  spr.7z ( 8,76 килобайт ) Кол-во скачиваний: 36


<3 war3ft mod
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   Цитировать сообщение
Safety1st
сообщение 16.12.2019, 19:49
Сообщение #2
Стаж: 10 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8068
Полезность: 196

register_impulse юзай, ты шо :D

Отредактировал: Safety1st, - 16.12.2019, 19:59
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя OLAF
сообщение 17.12.2019, 10:40
Сообщение #3


Стаж: 8 лет 2 месяца

Сообщений: 494
Благодарностей: 756
Полезность: 1440

Вспомнилось я рисовал такие спрайты для владелицы женского эпицентра еще года 4 назад, ну это так к слову пришлось....
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя iplague
сообщение 17.12.2019, 12:04
Сообщение #4
Стаж: 7 лет 1 месяц

Сообщений: 12
Благодарностей: 9
Полезность: 0

Цитата(OLAF @ 17.12.2019, 11:40) *
Вспомнилось я рисовал такие спрайты для владелицы женского эпицентра еще года 4 назад, ну это так к слову пришлось....

Данный плагин я сделал в 2015 году по просьбе одного человека, если не изменяет память, по аналогии с каким то плагином. Вполне вероятно с ЖЭ.
В 2016 году выложил плагин себе в группу.
Cкрытый текст

Я знаю что вы автор множества отличных моделей. Но вряд ли вы автор смайлов qip, так, к слову....
Но это ни коим образом не уменьшает список ваших заслуг.


<3 war3ft mod
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя OLAF
сообщение 17.12.2019, 21:36
Сообщение #5


Стаж: 8 лет 2 месяца

Сообщений: 494
Благодарностей: 756
Полезность: 1440

iplague,
Я не так выразился - рисовал конечно не с нуля смайлы для кс 1.6, естественно мне были даны уже готовые картинки, я их подгонял под формат кс с необходимыми параметрами, я не в коем случае не говорю что это мои, я если честно даже и не смотрел что там, я же говорю просто вспомнилось
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя iplague
сообщение 17.12.2019, 21:56
Сообщение #6
Стаж: 7 лет 1 месяц

Сообщений: 12
Благодарностей: 9
Полезность: 0

Цитата(OLAF @ 17.12.2019, 22:36) *
iplague,
Я не так выразился - рисовал конечно не с нуля смайлы для кс 1.6, естественно мне были даны уже готовые картинки, я их подгонял под формат кс с необходимыми параметрами, я не в коем случае не говорю что это мои, я если честно даже и не смотрел что там, я же говорю просто вспомнилось


Я гуглил как создавать спрайт, гуглил параметры спрайта "голосовой чат" и через paint делал.
Кстати, раз уж офтоп погнал, я у вас пару раз заказывал модельки разные thank_you2.gif


<3 war3ft mod
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: