Назад

Анонс за зени для игроков

Автор: unded: Дата: 11.01.2009

Воть:p

Написал простинький сорц. Команда делает анонс на весь мир при этом заберает 10кк

atcommand.c


/*==========================================*
* @usermes by unded *
* Скрипт полностью с патрахами принадлежит *
* RUS-ea http://rus-ea.ru *
*------------------------------------------*/
int atcommand_usermes(const int fd, struct map_session_data* sd, const char* command, const char* message)
{
int ZenyChar = 10000000, OtZenyChar;
nullpo_retr(-1, sd);

memset(atcmd_output, '\0', sizeof(atcmd_output));

if (!message || !*message) {
clif_displaymessage(fd, "Пожалуйста введите так: (usage: @usermes ).");
return -1;
}
else
{
if(sd->status.zeny < ZenyChar) {clif_displaymessage(fd, "У вас не хватает Zeny! Для этой команды вам нужно 10 000 000!");}
else
{
OtZenyChar = sd->status.zeny - ZenyChar;
sd->status.zeny = OtZenyChar;
clif_updatestatus(sd, SP_ZENY);
sscanf(message, "%199[^\n]", atcmd_output);
intif_announce(atcmd_output, strlen(atcmd_output) + 1, 0x00D1FF, 0);
}
}
return 0;
}


и


{ "usermes", 1,1, atcommand_usermes},


в atcommand_athena.conf

usermes: 0,99

Автор: unded: Дата: 11.01.2009

Оке поже за монеты напишу=) хД

Автор: xDREDDx: Дата: 12.31.2010

Немного изменил сорц для новых ревизий... + отображение имени


sscanf(message, "%199[^\n]", atcmd_output);
intif_announce(atcmd_output, strlen(atcmd_output) + 1, 0x00D1FF, 0);


заменить на:

sprintf(atcmd_output, "%s: %s", sd->status.name, message);
intif_broadcast2(atcmd_output, strlen(atcmd_output) + 1, 0xD20000, 0x190, 12, 0, 0);


P.S
Спасибо, полезная команда)