Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Страница 1 из 2 12 ПоследняяПоследняя
Показано с 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
    Сообщений
    375
    Репутация:
    144 ±
    Не включаешь ли-ты режим спектатора?
    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
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    OnPlayerSpawn покажите.
    Связаться со мной можно в личных сообщениях этой группы

    Широко известно, что идеи стоят 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
    Сообщений
    375
    Репутация:
    144 ±
    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
    Сообщений
    375
    Репутация:
    144 ±
    Покажи enum где ты создаешь pPosX,pPosY, pPosZ

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

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

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    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;

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

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

    Steve Pavlina

 

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

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

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

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

Ваши права

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