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

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 16
  1. #1
    Аватар для nikvlad
    Пользователь

    Статус
    Оффлайн
    Регистрация
    04.02.2016
    Сообщений
    94
    Репутация:
    2 ±

    По поводу смерти игрока.

    Всем привет, наткнулся на проблемку: когда я умираю первый раз, меня спавнит на рандомных координатах в скине CJ.
      Открыть/закрыть
    Появляются кнопки: <, >, SPAWN. Если я умираю второй раз (третий, четвертый и т.д.) меня спавнит там, где надо.
      Открыть/закрыть


    OnPlayerDeath:
      Открыть/закрыть
    Код:
    public OnPlayerDeath(playerid, killerid, reason)
    {
    	return 1;
    }

    OnPlayerSpawn:
      Открыть/закрыть
    Код:
    public OnPlayerSpawn(playerid)
    {
    	TogglePlayerSpectating(playerid,0);
        if(pData[playerid][pSkin] == 0)
    	{
    		if(pData[playerid][pGender] == 1)
    		{
    			SetPlayerSkin(playerid, MaleSkins[0]);
    		}
    		else
    		{
    		    SetPlayerSkin(playerid, FemaleSkins[0]);
    		}
    		SCM(playerid,COLOR_ORANGE,"Выберите внешность Вашего персонажа!");
    		TogglePlayerControllable(playerid,0);
    		SetPlayerVirtualWorld(playerid,playerid+1);
    		SetPlayerPos(playerid,1575.8920,-1235.2469,151.6970);
    		SetPlayerFacingAngle(playerid,129.8999);
    		SetPlayerCameraPos(playerid,1571.8352,-1239.6108,153.0927);
    		SetPlayerCameraLookAt(playerid,1576.4738,-1234.8547,151.6970);
    		SelectTextDraw(playerid, 0xFFFFFFFF);
    	    return 1;
    	}
    	if(GetPVarInt(playerid, "loggined") == 1)
    	{
    		for(new i = 0; i < 7; i++)
    		{
    			TextDrawHideForPlayer(playerid,Logo[i]),TextDrawShowForPlayer(playerid,Logo[i]);
    		}
    		SetPlayerScore(playerid, pData[playerid][pLevel]);
    		SetPlayerHealth(playerid, 100.0);
    		SetPlayerSkin(playerid,pData[playerid][pSkin]);
     		SetPlayerVirtualWorld(playerid,0);
       		TogglePlayerControllable(playerid,1);
    		if(pData[playerid][pLevel] <= 3)
    		{
    			new spawnls = random(4);
    			if(spawnls == 0)
    			{
    				SetPlayerPos(playerid,1762.3660,-1893.1317,13.5606);
    				SetPlayerFacingAngle(playerid,270.7868);
    			}
    			if(spawnls == 1)
    			{
    				SetPlayerPos(playerid,1154.5562,-1768.4633,16.5938);
    				SetPlayerFacingAngle(playerid,1.7675);
    			}
    			if(spawnls == 2)
    			{
    				SetPlayerPos(playerid,1765.0052,-1903.4672,13.5663);
    				SetPlayerFacingAngle(playerid,270.7868);
    			}
    			if(spawnls == 3)
    			{
    				SetPlayerPos(playerid,1147.7163,-1768.9059,16.5992);
    				SetPlayerFacingAngle(playerid,0.7231);
    			}
    		}
    		if(pData[playerid][pLevel] > 3 && pData[playerid][pLevel] <= 8)
    		{
    			SetPlayerPos(playerid,-1969.0582,159.8374,27.6875);
    			SetPlayerFacingAngle(playerid,177.5901);
    		}
    		if(pData[playerid][pLevel] >= 9)
    		{
    			SetPlayerPos(playerid,2846.0134,1291.2833,11.3906);
    			SetPlayerFacingAngle(playerid,92.5072);
    		}
    		SetCameraBehindPlayer(playerid);
    		SetPlayerColor(playerid,0xFFFFFF11);
    	}
    	return 1;
    }


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

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

    Статус
    Оффлайн
    Регистрация
    18.07.2016
    Сообщений
    17
    Репутация:
    3 ±
    Если это происходит тогда, когда вы умираете в транспорте, то фиксается вот так:
    PHP код:
        stock __FixedSpawnPlayer(playerid)
        {
            if (
    GetPlayerVehicleID(playerid))
            {
                new 
    Float:x,Float:y,Float:z;
                
    GetVehiclePos(GetPlayerVehicleID(playerid), xyz),
                
    SetPlayerPos(playeridxyz);
            }
            return 
    SpawnPlayer(playerid);
        }
    #if defined _ALS_SpawnPlayer
        #undef SpawnPlayer
    #else
        #define _ALS_SpawnPlayer
    #endif
    #define SpawnPlayer __FixedSpawnPlayer 
    Последний раз редактировалось Skull; 26.07.2016 в 17:43.

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

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,360
    Репутация:
    113 ±
    Цитата Сообщение от Skull Посмотреть сообщение
    Если это происходит тогда, когда вы умираете в транспорте, то фиксается вот так:
    PHP код:
        stock __FixedSpawnPlayer(playerid)
        {
            if (
    GetPlayerVehicleID(playerid))
            {
                new 
    Float:x,Float:y,Float:z;
                
    GetVehiclePos(GetPlayerVehicleID(playerid), xyz),
                
    SetPlayerPos(playeridxyz);
            }
            return 
    SpawnPlayer(playerid);
        }
    #if defined _ALS_SpawnPlayer
        #undef SpawnPlayer
    #else
        #define _ALS_SpawnPlayer
    #endif
    #define SpawnPlayer __FixedSpawnPlayer 
    А не проще будет эту парочку GetPlayerVehicleID(playerid) засунуть в переменную и юзать её потом?
    _____________________________________
    Я так понял сервер RP жанра, тогда вот эта тема для Вас
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

  4. Пользователь сказал cпасибо:
    HarrWe (27.07.2016)
  5. #4
    Аватар для Skull
    Пользователь

    Статус
    Оффлайн
    Регистрация
    18.07.2016
    Сообщений
    17
    Репутация:
    3 ±
    Ну, имхо, лучше напрямую, потому что я использую ее всего-то дважды, использовал бы больше - объявил бы переменную.
    Ну, если очень принципиально, то пожалуйста:
    PHP код:
        stock __FixedSpawnPlayer(playerid)
        {
            new 
    vehicleid GetPlayerVehicleID(playerid);
            if (
    vehicleid)
            {
                new 
    Float:x,Float:y,Float:z;
                
    GetVehiclePos(vehicleidxyz),
                
    SetPlayerPos(playeridxyz);
            }
            return 
    SpawnPlayer(playerid);
        }
    #if defined _ALS_SpawnPlayer
        #undef SpawnPlayer
    #else
        #define _ALS_SpawnPlayer
    #endif
    #define SpawnPlayer __FixedSpawnPlayer 

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

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,360
    Репутация:
    113 ±
    Цитата Сообщение от Skull Посмотреть сообщение
    Ну, имхо, лучше напрямую, потому что я использую ее всего-то дважды, использовал бы больше - объявил бы переменную.
    Ну, если очень принципиально, то пожалуйста:]
    Это не принципиально, это быстродействие на выполнение команды...
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

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

    Статус
    Оффлайн
    Регистрация
    18.07.2016
    Сообщений
    17
    Репутация:
    3 ±
    Надеюсь, тебе помогут выигранные тобой микромикромикросекунды :)

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

    Статус
    Оффлайн
    Регистрация
    04.02.2016
    Сообщений
    94
    Репутация:
    2 ±
    Цитата Сообщение от Skull Посмотреть сообщение
    Если это происходит тогда, когда вы умираете в транспорте, то фиксается вот так:
    PHP код:
        stock __FixedSpawnPlayer(playerid)
        {
            if (
    GetPlayerVehicleID(playerid))
            {
                new 
    Float:x,Float:y,Float:z;
                
    GetVehiclePos(GetPlayerVehicleID(playerid), xyz),
                
    SetPlayerPos(playeridxyz);
            }
            return 
    SpawnPlayer(playerid);
        }
    #if defined _ALS_SpawnPlayer
        #undef SpawnPlayer
    #else
        #define _ALS_SpawnPlayer
    #endif
    #define SpawnPlayer __FixedSpawnPlayer 
    Нет, это происходит при любой первой смерти игрока

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

    Статус
    Оффлайн
    Регистрация
    04.02.2016
    Сообщений
    94
    Репутация:
    2 ±
    Первый способ Deimos'a сработал, НО я на пару милисекунд все-таки появлялся в скине CJ. Второй способ не работал вообще, спавнюсь в скине CJ, падаю с нулевых координат. Как фиксить?

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

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,360
    Репутация:
    113 ±
    Цитата Сообщение от nikvlad Посмотреть сообщение
    НО я на пару милисекунд все-таки появлялся в скине CJ.
    Ну так не на всю игру уже)) хоть бы и этим 2 секундам спасибо сказал
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    AddPlayerClass имеется? Если нет, то попробуй добавить
    Связаться со мной можно в личных сообщениях этой группы

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

    Steve Pavlina

 

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

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

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

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

Ваши права

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