lo que pasa es que mysql_query no devuelve un resulset, sino un resource (variable de referencia), que lo utilizan otros metodos de la extencion mysql. en el caso de que la consulta se de tipo INSERT, UPDATE, DELETE, DROP mysql_query devuelve TRUE o FALSE, por lo cual te esta pasando eso en los array lo mas apropiado seria lo siguiente
Código php:
Ver original/*
$casti1 = array(0 => mysql_query("SELECT guild_id FROM guild_castle WHERE guild_id = 0"));
$casti1name = array(0 => mysql_query("SELECT name FROM guild WHERE guild_id = '".$casti1[0]."'"));
$casti2 = array(0 => mysql_query("SELECT guild_id FROM guild_castle WHERE guild_id = 13"));
$casti2name = array(0 => mysql_query("SELECT name FROM guild WHERE guild_id ='".$casti2[0]."'"));
$casti3 = array(0 => mysql_query("SELECT guild_id FROM guild_castle WHERE guild_id = 17"));
$casti3name = array(0 => mysql_query("SELECT name FROM guild WHERE guild_id = '".$casti3[0]."'"));
*/
$mRes = mysql_query("SELECT guild_id, name FROM guild_castle WHERE guild_id = 0");
'id' => $fRow['id'],
'name' => $fRow['name']
));
//etc
si pones la estructura de la base de dato te podria ayudar para optimizar la consulta con un join y hacer algo mas automatico para obtener los datos