int digit_from_sql(char *xd_database, char *xt_table, char *xf_callfield, char *xf_datafield, int plr_ID) { MySQL my; char szQueryText[250]; MYSQL_RES *My_result = NULL; snprintf(szQueryText, sizeof(szQueryText), "SELECT * FROM %s.%s WHERE %s = '%d'", xd_database, xt_table, xf_callfield, plr_ID); My_result = MySQL__query(szQueryText); if (my.Query(szQueryText) > 0) { my.NextRow(); int digit_output = atoi(my.GetData(xf_datafield)); MySQL__endquery(My_result); return(digit_output); } MySQL__endquery(My_result); return(0); } void text_from_sql(struct char_data *ch, int flag) { MySQL my; char szQueryText[250]; MYSQL_RES *My_result = NULL; snprintf(szQueryText, sizeof(szQueryText), "SELECT * FROM defined_database.xt_text_files WHERE xf_id = '%d'", flag); My_result = MySQL__query(szQueryText); if (my.Query(szQueryText) > 0) { my.NextRow(); char *text_output = my.GetData("xf_sql_text"); MSGP(ch, 1, "%s", text_output); MySQL__endquery(My_result); return; } MySQL__endquery(My_result); return; } // Subcommands for do_play #define SCMD_ALCAZAR_ROSTER 1 // Some various defines #define SQL_ALCAZAR_RULES 51 #define stri_cmp _stricmp #define C_R "\033[31m" // Red #define C_BrR "\033[1;31m" // Bright Red #define C_G "\033[32m" // Green #define C_BrG "\033[1;32m" // Bright Green #define C_C "\033[36m" // Cyan #define C_BrC "\033[1;36m" // Bright Cyan // General stuff const char *NOPERSON = "I could not find who you were referring to."; // Message Player (used to be defined as the old send_to_char function size_t MSGP(struct char_data *ch, int line_breaks, const char *messg, ...) { if (ch->desc && messg && *messg) { size_t left; va_list args; va_start(args, messg); left = vwrite_to_output(ch->desc, messg, args); switch (line_breaks) { case 0: break; case 1: vwrite_to_output(ch->desc, "\r\n", 0); break; case 2: vwrite_to_output(ch->desc, "\r\n\r\n", 0); break; case 3: vwrite_to_output(ch->desc, "\r\n\r\n\r\n", 0); break; case 4: vwrite_to_output(ch->desc, "\r\n\r\n\r\n\r\n", 0); break; case 5: vwrite_to_output(ch->desc, "\r\n\r\n\r\n\r\n\r\n", 0); break; case 6: vwrite_to_output(ch->desc, "\r\n\r\n\r\n\r\n\r\n\r\n", 0); break; case 7: vwrite_to_output(ch->desc, "\r\n\r\n\r\n\r\n\r\n\r\n\r\n", 0); break; default: break; } va_end(args); return left; } return 0; }