Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 6 из 6
  1. #1
    Аватар для Smalin
    Пользователь

    Статус
    Оффлайн
    Регистрация
    21.11.2018
    Сообщений
    7
    Репутация:
    0 ±

    OnGameModeInit вызывается несколько раз подряд

    Доброго времени суток

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

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





    Код:
    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;
    }
    И получилось так:



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

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

  2. #2
    Аватар для whale
    Пользователь

    Статус
    Оффлайн
    Регистрация
    10.04.2014
    Сообщений
    74
    Репутация:
    17 ±
    В данном участке кода (подключение к MySQL) у тебя вызываются функции:
    PHP код:
    print("тест1");
    print(
    "тест2");
    print(
    "тест3"); 
    Удалить их религия не позволяет?

    PHP код:
    stock ConnectMySQL(host[], user[], base[], pass[])
    {
        
    mysql_logALL );
        
    database mysql_connect(hostuserpassbase);

        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;


  3. #3
    Аватар для Smalin
    Пользователь

    Статус
    Оффлайн
    Регистрация
    21.11.2018
    Сообщений
    7
    Репутация:
    0 ±
    Цитата Сообщение от Twixyck Посмотреть сообщение
    В данном участке кода (подключение к MySQL) у тебя вызываются функции:
    PHP код:
    print("тест1");
    print(
    "тест2");
    print(
    "тест3"); 
    Удалить их религия не позволяет?

    PHP код:
    stock ConnectMySQL(host[], user[], base[], pass[])
    {
        
    mysql_logALL );
        
    database mysql_connect(hostuserpassbase);

        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;

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

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



    Код:
    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;
    }
    Все пишут элементарные вещи и нет правильного ответа

  4. #4
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    ConnectMySQL где вызываешь?
    В mysql log'е что?

  5. #5
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    main, случаем, не так записан?
    PHP код:
    main(); 
    Если так, то запиши так
    PHP код:
    main(){} 
    ибо иначе main содержимое OnGameModeInit подтягивает, вызывая код второй раз
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  6. Пользователь сказал cпасибо:
    Smalin (22.11.2018)
  7. #6
    Аватар для Smalin
    Пользователь

    Статус
    Оффлайн
    Регистрация
    21.11.2018
    Сообщений
    7
    Репутация:
    0 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    main, случаем, не так записан?
    PHP код:
    main(); 
    Если так, то запиши так
    PHP код:
    main(){} 
    ибо иначе main содержимое OnGameModeInit подтягивает, вызывая код второй раз
    Спасибо огромное

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

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •