Ejemplo n.º 1
0
int mapif_load_guild_storage(int fd,int account_id,int guild_id)
{
	if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `guild_id` FROM `%s` WHERE `guild_id`='%d'", guild_db, guild_id) )
		Sql_ShowDebug(sql_handle);
	else if( Sql_NumRows(sql_handle) > 0 )
	{// guild exists
		Sql_FreeResult(sql_handle);
		WFIFOHEAD(fd, sizeof(struct guild_storage)+12);
		WFIFOW(fd,0) = 0x3818;
		WFIFOW(fd,2) = sizeof(struct guild_storage)+12;
		WFIFOL(fd,4) = account_id;
		WFIFOL(fd,8) = guild_id;
		guild_storage_fromsql(guild_id, (struct guild_storage*)WFIFOP(fd,12));
		WFIFOSET(fd, WFIFOW(fd,2));
		return 0;
	}
	// guild does not exist
	Sql_FreeResult(sql_handle);
	WFIFOHEAD(fd, 12);
	WFIFOW(fd,0) = 0x3818;
	WFIFOW(fd,2) = 12;
	WFIFOL(fd,4) = account_id;
	WFIFOL(fd,8) = 0;
	WFIFOSET(fd, 12);
	return 0;
}
Ejemplo n.º 2
0
bool mapif_load_guild_storage(int fd,uint32 account_id,int guild_id, char flag)
{
	if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `guild_id` FROM `%s` WHERE `guild_id`='%d'", schema_config.guild_db, guild_id) )
		Sql_ShowDebug(sql_handle);
	else if( Sql_NumRows(sql_handle) > 0 )
	{// guild exists
		WFIFOHEAD(fd, sizeof(struct s_storage)+13);
		WFIFOW(fd,0) = 0x3818;
		WFIFOW(fd,2) = sizeof(struct s_storage)+13;
		WFIFOL(fd,4) = account_id;
		WFIFOL(fd,8) = guild_id;
		WFIFOB(fd,12) = flag; //1 open storage, 0 don't open
		guild_storage_fromsql(guild_id, (struct s_storage*)WFIFOP(fd,13));
		WFIFOSET(fd, WFIFOW(fd,2));
		return false;
	}
	// guild does not exist
	Sql_FreeResult(sql_handle);
	WFIFOHEAD(fd, 12);
	WFIFOW(fd,0) = 0x3818;
	WFIFOW(fd,2) = 12;
	WFIFOL(fd,4) = account_id;
	WFIFOL(fd,8) = 0;
	WFIFOSET(fd, 12);
	return true;
}
Ejemplo n.º 3
0
int mapif_load_guild_storage(int fd,int account_id,int guild_id)
{
    int guild_exist=1;
    WFIFOHEAD(fd, sizeof(struct guild_storage)+12);
    WFIFOW(fd,0)=0x3818;

#if 0	// innodb guilds should render this check unnecessary [Aru]
    // Check if guild exists, I may write a function for this later, coz I use it several times.
    //printf("- Check if guild %d exists\n",g->guild_id);
    sprintf(tmp_sql, "SELECT count(*) FROM `%s` WHERE `guild_id`='%d'",guild_db, guild_id);
    if(mysql_query(&mysql_handle, tmp_sql) ) {
        ShowSQL("DB error - %s\n",mysql_error(&mysql_handle));
        ShowDebug("at %s:%d - %s\n", __FILE__,__LINE__,tmp_sql);
    }
    sql_res = mysql_store_result(&mysql_handle) ;
    if (sql_res!=NULL && mysql_num_rows(sql_res)>0) {
        sql_row = mysql_fetch_row(sql_res);
        guild_exist =  atoi (sql_row[0]);
        //printf("- Check if guild %d exists : %s\n",g->guild_id,((guild_exist==0)?"No":"Yes"));
    }
    mysql_free_result(sql_res) ; //resource free
#endif
    if(guild_exist==1) {
        guild_storage_fromsql(guild_id,guild_storage_pt);
        WFIFOW(fd,2)=sizeof(struct guild_storage)+12;
        WFIFOL(fd,4)=account_id;
        WFIFOL(fd,8)=guild_id;
        memcpy(WFIFOP(fd,12),guild_storage_pt,sizeof(struct guild_storage));
    }
    else {
        WFIFOW(fd,2)=12;
        WFIFOL(fd,4)=account_id;
        WFIFOL(fd,8)=0;
    }
    WFIFOSET(fd,WFIFOW(fd,2));

    return 0;
}