PDA

Просмотр полной версии : [Вопрос] OnGameModeInit вызывается несколько раз подряд



Smalin
21.11.2018, 16:55
Доброго времени суток

Возникла проблема которая мне раздражает
print или printf пишет несколько раз в консоле

В чем может быть проблема?


https://i.imgur.com/aQV7pXF.png



load_zombie()
{
m_query("SELECT * FROM `zombie`");
new time = GetTickCount(), r;
cache_get_row_count(r);
if(!r) return print("["SQL_VER"][WARNING]: Зомби не найдены.");
for(new idx = 1; idx <= r; idx++)
{
cache_get_value_name_int(idx-1, "zombie_id", zombie[idx-1][zombie_id]);
cache_get_value_name_float(idx-1, "zombie_x", zombie[idx-1][zombie_x]);
cache_get_value_name_float(idx-1, "zombie_y", zombie[idx-1][zombie_y]);
cache_get_value_name_float(idx-1, "zombie_z", zombie[idx-1][zombie_z]);
cache_get_value_name_float(idx-1, "zombie_a", zombie[idx-1][zombie_a]);
}
return printf("["SQL_VER"][%04dМС]: Загружено зомби: %04d.", GetTickCount() - time, r);
}
stock ConnectMySQL(host[], user[], base[], pass[])
{
print("тест1");
mysql_log( ALL );
database = mysql_connect(host, user, pass, base);

if(!mysql_errno()) printf("["SQL_VER"]: Подключение к базе успешно.");
else return printf("["SQL_VER"]: Подключиться к базе не удалось.");

print("тест2");
load_zombie();

m_tquery(!"SET CHARACTER SET 'utf8'");
m_tquery(!"SET NAMES 'utf8'");
m_tquery(!"SET character_set_client = 'cp1251'");
m_tquery(!"SET character_set_connection = 'cp1251'");
m_tquery(!"SET character_set_results = 'cp1251'");
m_tquery(!"SET SESSION collation_connection = 'utf8_general_ci'");

SendRconCommand("hostname "HOST_NAME"");
SetGameModeText(""MODE_NAME"");
SendRconCommand("language "LANG_NAME"");
SendRconCommand("weburl "SITE_NAME"");
SendRconCommand("rcon_password "RCON_NAME"");
print("тест3");
return true;
}


так же пробовал так:


stock load_zombie()
{
new Cache:temp_sql = m_query("SELECT * FROM `zombie`");
new time = GetTickCount(), r;
cache_get_row_count(r);
if(!r) return print("["SQL_VER"][WARNING]: Зомби не найдены.");
for(new idx = 1; idx <= r; idx++)
{
cache_get_value_name_int(idx-1, "zombie_id", zombie[idx-1][zombie_id]);
cache_get_value_name_float(idx-1, "zombie_x", zombie[idx-1][zombie_x]);
cache_get_value_name_float(idx-1, "zombie_y", zombie[idx-1][zombie_y]);
cache_get_value_name_float(idx-1, "zombie_z", zombie[idx-1][zombie_z]);
cache_get_value_name_float(idx-1, "zombie_a", zombie[idx-1][zombie_a]);
}
printf("["SQL_VER"][%04dМС]: Загружено зомби: %04d.", GetTickCount() - time, r);
cache_delete(temp_sql);
return true;
}

И получилось так:

https://i.imgur.com/Zlca5fX.png

но теперь пишет каракули какие то

как мне исправить это всё?

whale
21.11.2018, 20:20
В данном участке кода (подключение к MySQL) у тебя вызываются функции:

print("тест1");
print("тест2");
print("тест3");

Удалить их религия не позволяет?


stock ConnectMySQL(host[], user[], base[], pass[])
{
mysql_log( ALL );
database = mysql_connect(host, user, pass, base);

if(!mysql_errno()) printf("["SQL_VER"]: Подключение к базе успешно.");
else return printf("["SQL_VER"]: Подключиться к базе не удалось.");

load_zombie();

m_tquery(!"SET CHARACTER SET 'utf8'");
m_tquery(!"SET NAMES 'utf8'");
m_tquery(!"SET character_set_client = 'cp1251'");
m_tquery(!"SET character_set_connection = 'cp1251'");
m_tquery(!"SET character_set_results = 'cp1251'");
m_tquery(!"SET SESSION collation_connection = 'utf8_general_ci'");

SendRconCommand("hostname "HOST_NAME"");
SetGameModeText(""MODE_NAME"");
SendRconCommand("language "LANG_NAME"");
SendRconCommand("weburl "SITE_NAME"");
SendRconCommand("rcon_password "RCON_NAME"");
return true;
}

Smalin
22.11.2018, 09:31
В данном участке кода (подключение к MySQL) у тебя вызываются функции:

print("тест1");
print("тест2");
print("тест3");

Удалить их религия не позволяет?


stock ConnectMySQL(host[], user[], base[], pass[])
{
mysql_log( ALL );
database = mysql_connect(host, user, pass, base);

if(!mysql_errno()) printf("["SQL_VER"]: Подключение к базе успешно.");
else return printf("["SQL_VER"]: Подключиться к базе не удалось.");

load_zombie();

m_tquery(!"SET CHARACTER SET 'utf8'");
m_tquery(!"SET NAMES 'utf8'");
m_tquery(!"SET character_set_client = 'cp1251'");
m_tquery(!"SET character_set_connection = 'cp1251'");
m_tquery(!"SET character_set_results = 'cp1251'");
m_tquery(!"SET SESSION collation_connection = 'utf8_general_ci'");

SendRconCommand("hostname "HOST_NAME"");
SetGameModeText(""MODE_NAME"");
SendRconCommand("language "LANG_NAME"");
SendRconCommand("weburl "SITE_NAME"");
SendRconCommand("rcon_password "RCON_NAME"");
return true;
}

На всех форумах мне несут какой то элементарный бред ладно

а что на этот счёт?

https://i.imgur.com/Kpq8oNC.png


stock ConnectMySQL(host[], user[], base[], pass[])
{
mysql_log( ALL );
database = mysql_connect(host, user, pass, base);

if(!mysql_errno()) print("["SQL_VER"]: Подключение к базе успешно.");
else return print("["SQL_VER"]: Подключиться к базе не удалось.");

m_tquery(!"SET CHARACTER SET 'utf8'");
m_tquery(!"SET NAMES 'utf8'");
m_tquery(!"SET character_set_client = 'cp1251'");
m_tquery(!"SET character_set_connection = 'cp1251'");
m_tquery(!"SET character_set_results = 'cp1251'");
m_tquery(!"SET SESSION collation_connection = 'utf8_general_ci'");

SendRconCommand("hostname "HOST_NAME"");
SetGameModeText(""MODE_NAME"");
SendRconCommand("language "LANG_NAME"");
SendRconCommand("weburl "SITE_NAME"");
SendRconCommand("rcon_password "RCON_NAME"");
return true;
}

Все пишут элементарные вещи и нет правильного ответа

ziggi
22.11.2018, 10:34
ConnectMySQL где вызываешь?
В mysql log'е что?

DeimoS
22.11.2018, 10:48
main, случаем, не так записан?

main();
Если так, то запиши так

main(){}
ибо иначе main содержимое OnGameModeInit подтягивает, вызывая код второй раз

Smalin
22.11.2018, 11:05
main, случаем, не так записан?

main();
Если так, то запиши так

main(){}
ибо иначе main содержимое OnGameModeInit подтягивает, вызывая код второй раз

Спасибо огромное

Вы единственный кто сразу ответил правильно )