Не могу понять как решить данный вопрос.
PHP код:
const max_faction =10;
Error:PHP код:
for (new i = 0; i != sizeof(max_faction); i ++)
PHP код:
error 039: constant symbol has no size
Вид для печати
Не могу понять как решить данный вопрос.
PHP код:
const max_faction =10;
Error:PHP код:
for (new i = 0; i != sizeof(max_faction); i ++)
PHP код:
error 039: constant symbol has no size
Необходимо убрать оператор sizeof из цикла. sizeof в pawn только для массивов!
PHP код:
new
factions_list[10];
// ...
for (new i = 0; i < sizeof (factions_list); ++i) {
// цикл от 0 до 9
}
Как используете с циклом?
Выложите энумератор (enum).
Так и должно работать.PHP код:
for (new i = 0; i < sizeof (faction_info); ++i)
Всё равно выводятся пустые строки.
Может тут что-то не так?
PHP код:
stock ViewFactions(playerid)
{
static
string[104];
for (new i = 0; i < sizeof (faction_info); ++i)
{
format(string, sizeof(string), "%s %i %s\n", string, i, faction_info[i][faction_name]);
}
ShowPlayerDialog(playerid, 1337, DIALOG_STYLE_MSGBOX, "Factions List", string, "Close", "");
return 1;
}
В faction_name до этого записывалось что-нибудь?
Откуда тогда данные будут браться?
- - - Добавлено - - -PHP код:
load_faction() {
mysql_query(connect, "SELECT * FROM `faction`", true);
new rows, fields;
cache_get_data(rows, fields, connect);
if(!rows) return 1;
for(new i; i != rows; i++) {
faction_info[i][factionExists] = true;
faction_info[i][faction_id] = cache_get_field_content_int(i, "id", connect);
cache_get_field_content(i, "name", faction_info[i][faction_name], connect, 24);
cache_get_field_content(i, "leader", faction_info[i][faction_leader], connect, 24);
}
Дак что делать то?
Может что то не так в загрузке фракций?
О господи. Ты можешь на нормальный хостинг загрузить?
Например: http://ihost.pro-pawn.ru/
У тебя в базе данных по твоим словам создана одна фракция.PHP код:
new factions_list[10];
Сколько пустых строчек мне интересно?
Ну, можно создать в БД остальные фракции с названием "Nothing" или что-то вроде того.
А, когда кто-то создаёт новую фракцию на сервере (не знаю, как система реализована), то просто изменять это название на то, которое придумал игрок. Это визуально нас избавит от пустых строчек.
Вот код:PHP код:
stock ViewFactions(playerid)
{
new string[1040];
for (new i = 0; i != MAX_FACTIONS; i ++) if (FactionData[i][factionExists]) {
format(string, sizeof(string), "%s{FFFFFF}Faction ({FFBF00}%i{FFFFFF}) | %s\n", string, i, FactionData[i][factionName]);
}
Dialog_Show(playerid, FactionsList, DIALOG_STYLE_MSGBOX, "Factions List", string, "Close", "");
return 1;
}
Твой код:
Код из другого мода:PHP код:
stock ViewFactions(playerid)
{
static
string[104];
for (new i = 0; i < sizeof (faction_info); ++i)
{
format(string, sizeof(string), "%s %i %s\n", string, i, faction_info[i][faction_name]);
}
ShowPlayerDialog(playerid, 1337, DIALOG_STYLE_MSGBOX, "Factions List", string, "Close", "");
return 1;
}
Никакой проверки не хватает, как думаешь?)PHP код:
if (FactionData[i][factionExists])
Ты проверял с ней? Поставь проверку.Мне кажется, что она присваивает "существование" динамической фракции и выводит только те, которые загрузились.PHP код:
FactionData[i][factionExists] = true;
PHP код:
if (FactionData[i][factionExists])
Если там работает, а у тебя нет, значит есть участок кода, где он не совпадает с твоим.
Методом тыка проверь все условия.
PHP код:
for (new i = 0; i != MAX_FACTIONS; i ++)
PHP код:
for (new i = 0; i < sizeof (faction_info); ++i)