Автор: xDREDDx: Дата: 02.10.2011
Вот возникла такая идея, даже где-то помню я видел этот скрипт, только не помню где... Вот хочю написать его...
Вобщем суть скрипта такая:
Когда в игру заходит определённого уровня ГМ (например 80)
У всех игроков на сервере автоматически появляются несколько эмоций...
Вот....
Незнаю с чего начать. OnPcLoginEvent, а далее, понятия не имею(
Помогите, кому не лень))
Автор: xDREDDx: Дата: 02.10.2011
А понятно, так значит это команда... В старых ревизиях копался, ничего подходящего не нашёл(
Спасибо, сейчас попробую как подойдёт...
Автор: xDREDDx: Дата: 02.16.2011
atcommand.c
..\src\map\atcommand.c(9389) : error C2039: 'auth' : is not a member of '
d:\архивы\server\ea1\src\map\pc.h(102) : see declaration of '
Как бы исправить?)
Как я понял еще нужно что-то в pc.h добавить
Автор: dimjke: Дата: 02.16.2011
в
struct map_session_data {
//NOTE: When deciding to add a flag to state or special_state, take into consideration that state is preserved in
//status_calc_pc, while special_state is recalculated in each call. [Skotlex]
struct {
unsigned short auth;
Автор: Jarek: Дата: 02.16.2011
Стоп!
dimjke, зачем вы это посоветовали?
Смысл из того, что мы добавим эту переменную? Мы её где-нибудь менять будем?
xDREDDx, я же предупреждал, что команда из старых ревизий, её надо почти полностью переписать.
Вот адаптированный вариант:
int atcommand_happyhappyjoyjoy(const int fd, struct map_session_data* sd, const char* command, const char* message)
{
struct map_session_data *pl_sd;
struct s_mapiterator* iter;
int e;
nullpo_retr(-1, sd);
iter = mapit_getallusers();
for( pl_sd = (TBL_PC*)mapit_first(iter); mapit_exists(iter); pl_sd = (TBL_PC*)mapit_next(iter) )
{
e=rand()%40;
if(e==34) e = 0;
clif_emotion(&pl_sd->bl,e);
}
return 0;
}
ACMD_FUNC(happyhappyjoyjoy)
{
struct map_session_data *pl_sd;
struct s_mapiterator* iter;
int e;
nullpo_retr(-1, sd);
iter = mapit_getallusers();
for( pl_sd = (TBL_PC*)mapit_first(iter); mapit_exists(iter); pl_sd = (TBL_PC*)mapit_next(iter) )
{
e=rand()%40;
if(e==34) e = 0;
clif_emotion(&pl_sd->bl,e);
}
return 0;
}
Автор: dimjke: Дата: 02.16.2011
Jarek, я код самой команды не смотрел, просто написал как убрать ошибку в 4 посте...