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

Тема: SpawnPlayer

  1. #1
    Аватар для Delgado
    Пользователь

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

    SpawnPlayer

    Всем привет. Пытаюсь сделать систему выбора места спавна.
    Например, если игрок выбрал место №1, то
    Код:
    PlayerInfo[playerid][pPosX] = 843.8967;
    PlayerInfo[playerid][pPosY] = -1855.1732;
    PlayerInfo[playerid][pPosZ] = 8.4677;
    Ну и разумеется
    SetPlayerPos(playerid, PlayerInfo[playerid][pPosX],PlayerInfo[playerid][pPosY],PlayerInfo[playerid][pPosZ]);
    Почему-то игрок спавнится в деревне LS (нулевые координаты)
    Заранее спасибо!

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

    Статус
    Оффлайн
    Регистрация
    05.05.2014
    Сообщений
    47
    Репутация:
    11 ±
    Покажите код, когда респавнится игрок по вашей системе.

  3. #3
    Аватар для wAx
    ¯\_(ツ)_/¯

    Статус
    Оффлайн
    Регистрация
    13.12.2013
    Сообщений
    377
    Репутация:
    146 ±
    Не включаешь ли-ты режим спектатора?
    PHP код:
    TogglePlayerSpectating(playeridtrue
    Или что-то типо того...
    Во всяком случае, попробуй добавить
    PHP код:
    TogglePlayerSpectating(playeridfalse
    перед SetPlayerPos (это если у тебя во время реги спавн выбирают).

    Убедись в правильности объявления переменных
    PHP код:
    PlayerInfo[playerid][pPosX] = 843.8967;
    PlayerInfo[playerid][pPosY] = -1855.1732;
    PlayerInfo[playerid][pPosZ] = 8.4677
    Попытайся изменить свой код и заспавнить игрока напрямую через SetPlayerPos, сохраняя лишь пункт в диалоге который он выбрал.
    Последний раз редактировалось wAx; 16.05.2014 в 06:30.

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

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

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

    Steve Pavlina

  5. #5
    Аватар для Delgado
    Пользователь

    Статус
    Оффлайн
    Регистрация
    16.05.2014
    Сообщений
    6
    Репутация:
    0 ±
    Кстати, хп при спавне тоже 0, но при этом игрок не умирает. Просто моргают жизни.
    Код:
    public OnPlayerSpawn(playerid)
    {
    if ( GetPVarInt ( playerid, "Logged" ) == 0)return true;
    SetPlayerPos(playerid, Float: pPosX,Float: pPosY,Float: pPosZ);
    SetPlayerFacingAngle(playerid, 280);
    SetPlayerHealth(playerid, PlayerInfo[playerid][pHp]);
    SetPlayerArmour(playerid, PlayerInfo[playerid][pArmour]);
    //======TextDraw
    new string[128];
    format(string, sizeof(string), "Development...");
    sait[playerid] = TextDrawCreate(550.000000, 2.000000, string);
    TextDrawFont(sait[playerid], 3);
    TextDrawColor(sait[playerid],0x33AAFFFF);//öâåò òåêñòà
    TextDrawLetterSize(sait[playerid], 0.3600, 1.400000);
    TextDrawSetOutline(sait[playerid], 1);
    TextDrawShowForPlayer(playerid, sait[playerid]);
    //=====================
    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;
    }

  6. #6
    Аватар для wAx
    ¯\_(ツ)_/¯

    Статус
    Оффлайн
    Регистрация
    13.12.2013
    Сообщений
    377
    Репутация:
    146 ±
    PHP код:
    SetPlayerPos(playeridFloatpPosX,FloatpPosY,FloatpPosZ); 
    замени на
    PHP код:
    SetPlayerPos(playerid,  pPosX,pPosYpPosZ); 
    И у меня еще такое предположение есть:

    PHP код:
    if ( GetPVarInt playerid"Logged" ) == 0)return true
    PVar "Logged", не меняется на 1 при авторизации, проверь и это тоже
    Последний раз редактировалось wAx; 16.05.2014 в 13:25.

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

    Статус
    Оффлайн
    Регистрация
    16.05.2014
    Сообщений
    6
    Репутация:
    0 ±
    Если заменить аргументы в SetPlayerPos, то вот, что получается:
    warning 213: tag mismatch
    warning 213: tag mismatch
    warning 213: tag mismatch

  8. #8
    Аватар для wAx
    ¯\_(ツ)_/¯

    Статус
    Оффлайн
    Регистрация
    13.12.2013
    Сообщений
    377
    Репутация:
    146 ±
    Покажи enum где ты создаешь pPosX,pPosY, pPosZ

  9. #9
    Аватар для Delgado
    Пользователь

    Статус
    Оффлайн
    Регистрация
    16.05.2014
    Сообщений
    6
    Репутация:
    0 ±
    Float: pPosX,
    Float: pPosY,
    Float: pPosZ,

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    1) Прочтите это и посмотрите на ваш код
    2) Зачем использовать format? Он там не требуется.
    3) Эмм, вы собираетесь сохранять данные о позиции игрока в глобальную переменную... Если на сервер зайдёт несколько игроков, данные перепутаются. Вот, в общем
    PHP код:
    //Глобальные массивы
        
    new FloatPos_X_[MAX_PLAYERS],
        
    FloatPos_Y_[MAX_PLAYERS],
        
    FloatPos_Z_[MAX_PLAYERS];

    //Колбэк
    public OnPlayerSpawn(playerid)
    {
        if(!
    GetPVarInt(playerid"Logged" ))return true;
        
    SetPlayerPos(playeridPos_X_[playerid], Pos_Y_[playerid], Pos_Z_[playerid]);
        
    SetPlayerFacingAngle(playerid280);
        
    SetPlayerHealth(playeridPlayerInfo[playerid][p/**/Hp]);
        
    SetPlayerArmour(playeridPlayerInfo[playerid][pArmour]);
        
    //======TextDraw
        
    sait[playerid] = TextDrawCreate(550.0000002.000000"Development...");
        
    TextDrawFont(sait[playerid], 3);
        
    TextDrawColor(sait[playerid],0x33AAFFFF);
        
    TextDrawLetterSize(sait[playerid], 0.36001.400000);
        
    TextDrawSetOutline(sait[playerid], 1);
        
    TextDrawShowForPlayer(playeridsait[playerid]);
        
    //=====================
        
    GivePlayerWeapon(playeridPlayerInfo[playerid][gun0], PlayerInfo[playerid][ammo0]);
        
    GivePlayerWeapon(playeridPlayerInfo[playerid][gun1], PlayerInfo[playerid][ammo1]);
        
    GivePlayerWeapon(playeridPlayerInfo[playerid][gun2], PlayerInfo[playerid][ammo2]);
        
    GivePlayerWeapon(playeridPlayerInfo[playerid][gun3], PlayerInfo[playerid][ammo3]);
        
    GivePlayerWeapon(playeridPlayerInfo[playerid][gun4], PlayerInfo[playerid][ammo4]);
        
    GivePlayerWeapon(playeridPlayerInfo[playerid][gun5], PlayerInfo[playerid][ammo5]);
        
    GivePlayerWeapon(playeridPlayerInfo[playerid][gun6], PlayerInfo[playerid][ammo6]);
        
    GivePlayerWeapon(playeridPlayerInfo[playerid][gun7], PlayerInfo[playerid][ammo7]);
        
    GivePlayerWeapon(playeridPlayerInfo[playerid][gun8], PlayerInfo[playerid][ammo8]);
        
    GivePlayerWeapon(playeridPlayerInfo[playerid][gun9], PlayerInfo[playerid][ammo9]);
        
    GivePlayerWeapon(playeridPlayerInfo[playerid][gun10], PlayerInfo[playerid][ammo10]);
        
    GivePlayerWeapon(playeridPlayerInfo[playerid][gun11], PlayerInfo[playerid][ammo11]);
        
    GivePlayerWeapon(playeridPlayerInfo[playerid][gun12], PlayerInfo[playerid][ammo12]);
        return 
    1;

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

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

    Steve Pavlina

 

 
Страница 1 из 2 1 2 ПоследняяПоследняя

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

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

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

Ваши права

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