Collapse Опубликовано 19 декабря, 2016 Жалоба Поделиться Опубликовано 19 декабря, 2016 Здравствуйте, пишу скрипт, который будет выдавать игроку одну из выбранных гильдий. Кроме добавления строки в таблицу guild_member и изменения значения guild_id в таблице char для пользователя. Кроме этого с чем еще надо "пошаманить", чтобы завершить процесс? Или я совсем не в ту парафию полез? Ссылка на комментарий Поделиться на другие сайты Поделиться
Salfer Опубликовано 19 декабря, 2016 Жалоба Поделиться Опубликовано 19 декабря, 2016 (изменено) такое сработает только при условии что ты используешь SQL базу данных. Если же нет, то даже если игрок получит гильдию, то при перезаходе она пропадет. Возможно следующуя команда поможет решить твою проблему: *instance_create("<instance name>"{,<instance mode>{,<owner id>}}); Изменено 19 декабря, 2016 пользователем Salfer Ссылка на комментарий Поделиться на другие сайты Поделиться
Collapse Опубликовано 19 декабря, 2016 Автор Жалоба Поделиться Опубликовано 19 декабря, 2016 32 минуты назад, Salfer сказал: такое сработает только при условии что ты используешь SQL базу данных. Если же нет, то даже если игрок получит гильдию, то при перезаходе она пропадет. Возможно следующуя команда поможет решить твою проблему: *instance_create("<instance name>"{,<instance mode>{,<owner id>}}); Использую SQL, запросы шлю через query_sql(). Разрешите в лс обратиться за помощью?) Ссылка на комментарий Поделиться на другие сайты Поделиться
Kubix! Опубликовано 19 декабря, 2016 Жалоба Поделиться Опубликовано 19 декабря, 2016 (изменено) Как это instance_create вообще поможет с гильдией? Если это инстанс, а это гильдия?оО Апдейтишь гуилд, гуилд_мембер и всё. А, ещё guild_position Изменено 19 декабря, 2016 пользователем Gandalf Ссылка на комментарий Поделиться на другие сайты Поделиться
Break Опубликовано 19 декабря, 2016 Жалоба Поделиться Опубликовано 19 декабря, 2016 (изменено) Скрытый текст /* ========================================== * Forces you to join a guild by Lance, ideas by Linkrulez * ------------------------------------------ */ int atcommand_forceguild( const int fd, struct map_session_data* sd, const char* command, const char* message) { // Initialization char guild_name[100]; struct map_session_data *pl_sd; struct guild *g; struct guild_member m; int guild_id; int i; // WTF crap (Copied from other functions) memset(guild_name, '\0', sizeof(guild_name)); memset(atcmd_output, '\0', sizeof(atcmd_output)); nullpo_retr(-1, sd); // Syntax detection if (!message || !*message || sscanf(message, "%99[^\n]", guild_name) < 1) { clif_displaymessage(fd, "Please, enter a guild name/id (usage: @forceguild <guild_name/id>)."); return -1; } if ((g = guild_search(pl_sd->status.guild_id))!= NULL) { clif_displaymessage(fd, "Target player appears to already be in a guild."); return -1; } // Search for guild if ((g = guild_searchname(guild_name)) != NULL || // name first to avoid error when name begin with a number (g = guild_search(atoi(message))) != NULL) { for(i=0;i<g->max_member;i++) if(g->member[i].account_id==0) // Finding a blank space break; if(i==g->max_member){ // If blank space is the max member? clif_displaymessage(fd,"Sorry, guild is full."); return -1; } else { sd->guild_invite = g->guild_id; // Just in case some function needs it. guild_makemember(&m,sd); // Go format my m variable intif_guild_addmember( g->guild_id, &m ); // Alright, time to do the interconnection return 0; } } else // Dude, you got the wrong guild! { clif_displaymessage(fd,"Sorry, the guild you specified is not found."); return -1; } return 0; // HUH? How it get here? } Код старый, сохранился в одном из древних эмуляторов. Работать будет или нет - без понятия. Надо тестить. Насколько я помню, то команда позволяла игроку без приглашения вступить в любую гильдию. Изменено 19 декабря, 2016 пользователем Sky Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения