Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 2 из 2 ПерваяПервая 1 2
Показано с 11 по 18 из 18
  1. #11
    Аватар для Trane911
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.10.2013
    Сообщений
    66
    Репутация:
    1 ±
    Лишнего ничего нету.
    Код:
    public OnGameModeInit()
    {
    EnableStuntBonusForAll(0);
        SetGameModeText("Mode");
        MySQLConnect ( ) ;
        AddPlayerClass(289, 1989.8239,-1779.3820,17.3549, 270, 0, 0, 0, 0, 0, 0); // CJ
        ConnectNPC("Jim", "bot_exit");
        ConnectNPC("Vano", "bot_spawn");
        return 1;
    }
    public OnPlayerConnect(playerid)
    {
    	GetPlayerName ( playerid, PlayerName [ playerid ] , MAX_PLAYER_NAME ) ;//Получаем имя
    	SetTimerEx ( "connection", 500, false, "i", playerid ) ;//таймер
    	ClearPlayerData ( playerid );//очищаем данные игрока
    	new query [ 60 + MAX_PLAYER_NAME ];
    	format ( query, sizeof query, "SELECT `id` FROM `users` WHERE `login` = '%s' LIMIT 1", PlayerName [ playerid ] ) ;//Наш SQL запрос.SELECT-Выбираем ID из таблицы `users` где наш логин равен нашему имени
    	mysql_function_query ( dbHandle, query, true, "CheckPlayerRegistered", "ii", playerid, 0 ) ;//вызываем коллбэк, проверку зарегистрирован игрок или нет
    	SetPlayerPos ( playerid,-1396.0210,980.2402,179.3737 ) ;//Координаты для камеры(интро)
    	SetPlayerCameraPos ( playerid,-1399.0210,976.2402,179.3737 ) ;//Координаты для камеры(интро)
    	SetPlayerCameraLookAt ( playerid, -1754.3281, 669.2344, 62.8203 ) ;//Координаты для камеры(интро)
    	//CheckPlayerRegistered ( playerid );
    	return 1;
    }
    
    public OnPlayerSpawn(playerid)
    {
    	if ( GetPVarInt ( playerid, "Logged" ) == 0)return true;
    	SetPlayerPos(playerid, PlayerInfo[playerid][pPosX],PlayerInfo[playerid][pPosY],PlayerInfo[playerid][pPosZ]);
    	SetPlayerHealth(playerid, PlayerInfo[playerid][pHp]);
    	SetPlayerArmour(playerid, PlayerInfo[playerid][pArmour]);
    	if(PlayerInfo[playerid][pZaraza] >= 80)
    	{
    		SetPlayerSkin(playerid, PlayerInfo[playerid][pZSkin]);
    	}
    	if(PlayerInfo[playerid][pZaraza] <= 79)
    	{
    		SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
    	}
    	GivePlayerWeapon(playerid, PlayerInfo[playerid][gun0], PlayerInfo[playerid][ammo0]);
    	GivePlayerWeapon(playerid, PlayerInfo[playerid][gun1], PlayerInfo[playerid][ammo1]);
        GivePlayerWeapon(playerid, PlayerInfo[playerid][gun2], PlayerInfo[playerid][ammo2]);
        GivePlayerWeapon(playerid, PlayerInfo[playerid][gun3], PlayerInfo[playerid][ammo3]);
        GivePlayerWeapon(playerid, PlayerInfo[playerid][gun4], PlayerInfo[playerid][ammo4]);
        GivePlayerWeapon(playerid, PlayerInfo[playerid][gun5], PlayerInfo[playerid][ammo5]);
        GivePlayerWeapon(playerid, PlayerInfo[playerid][gun6], PlayerInfo[playerid][ammo6]);
        GivePlayerWeapon(playerid, PlayerInfo[playerid][gun7], PlayerInfo[playerid][ammo7]);
        GivePlayerWeapon(playerid, PlayerInfo[playerid][gun8], PlayerInfo[playerid][ammo8]);
        GivePlayerWeapon(playerid, PlayerInfo[playerid][gun9], PlayerInfo[playerid][ammo9]);
        GivePlayerWeapon(playerid, PlayerInfo[playerid][gun10], PlayerInfo[playerid][ammo10]);
        GivePlayerWeapon(playerid, PlayerInfo[playerid][gun11], PlayerInfo[playerid][ammo11]);
        GivePlayerWeapon(playerid, PlayerInfo[playerid][gun12], PlayerInfo[playerid][ammo12]);
    	return 1;
    }

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    SetPlayerPos из OnPlayerConnect стоит убрать. Игрока в виде скина ещё не существует для всех (он есть, но в нулевых координатах)


    В OnPlayerSpawn
    PHP код:
    if ( GetPVarInt playerid"Logged" ) == 0)return true
    замените на
    PHP код:
    if ( GetPVarInt playerid"Logged" ) == 0) return printf("\nError: Игрок с ID %d пытался заспавниться до авторизации\n",playerid); 
    Никогда не ленитесь ко всем подобным ключевым условиям писать какие-то сообщения. Ибо потом, когда случается баг, вы тупо не поймёте, что глючит именно из-за того, что не проходит условие, ведь об этом нигде не сообщается.


    И вот это условие
    PHP код:
    if(PlayerInfo[playerid][pZaraza] >= 80)
    {
        
    SetPlayerSkin(playeridPlayerInfo[playerid][pZSkin]);
    }
    if(
    PlayerInfo[playerid][pZaraza] <= 79)
    {
        
    SetPlayerSkin(playeridPlayerInfo[playerid][pSkin]);

    я переделал бы под такой вид
    PHP код:
    if(PlayerInfo[playerid][pZaraza] >= 80)
    {
        
    SetPlayerSkin(playeridPlayerInfo[playerid][pZSkin]);
    }
    else if(
    PlayerInfo[playerid][pZaraza] <= 79)
    {
        
    SetPlayerSkin(playeridPlayerInfo[playerid][pSkin]);

    Ибо зачем заставлять мод выполнять проверку второго условия, если уже сработало первое?
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  3. Пользователь сказал cпасибо:
    Exclusive (03.06.2014)
  4. #13
    Аватар для Trane911
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.10.2013
    Сообщений
    66
    Репутация:
    1 ±
    Вывело такое на ботов:
    Error: Игрок с ID 0 пытался заспавниться до авторизации
    Error: Игрок с ID 1 пытался заспавниться до авторизации
    На игрока такого не вывело.

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    PHP код:
    if (!GetPVarInt playerid"Logged" ) && !IsPlayerNPC(playerid)) return printf("\nError: Игрок с ID %d пытался заспавниться до авторизации\n",playerid); 
    Ну а проблема то не решилась?
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  6. #15
    Аватар для Trane911
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.10.2013
    Сообщений
    66
    Репутация:
    1 ±
    Неа

  7. #16
    Аватар для Trane911
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.10.2013
    Сообщений
    66
    Репутация:
    1 ±
    Поднимаю.

  8. #17
    Аватар для Mi-Zaft
    Пользователь

    Статус
    Оффлайн
    Регистрация
    26.10.2013
    Сообщений
    11
    Репутация:
    0 ±
    Тоже столкнулся с такой проблемой. Как решить можно?

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Залогируйте каждый колбэк и смотрите какой из них срабатывает перед тем, как спавнит на грув. Дальше его и копайте
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

 

 
Страница 2 из 2 ПерваяПервая 1 2

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

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

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

Ваши права

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