GTAMulti.com - Türkiye'nin Türkçe GTA Sitesi

FPS Sistemi

Başlatan TRSinan28, 04 Temmuz 2017, 16:31:36

« önceki - sonraki »

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

TRSinan28

Arkadaşlar Umut Baysal'ın yaptığı vardıda kaldırılmış heralde.Sağ üste FPS göstergesi istiyorum.Yardım ederseniz sevinirim.Şimdiden teşekkürler.


Excision

Bilgisayara geçince yapıp atarım yardım eden birisi olmazsa.


TRSinan28

Alıntı yapılan: Excision - 04 Temmuz 2017, 16:44:45

Bilgisayara geçince yapıp atarım yardım eden birisi olmazsa.


Çok teşekkürler :)


TRSinan28

Geçtin mi bilgisayara abi :D


Excision

GetPlayerFPS fonksiyonunu internetten buldum, bir sıkıntı çıkarsa bildir.
#include <a_samp>

new Text:FPS[MAX_PLAYERS];
new pDrunkLevelLast[MAX_PLAYERS];
new pFPS[MAX_PLAYERS];

public OnFilterScriptInit()
{
SetTimer("FPSControl", 1000, true);
return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
return 1;
}

public OnPlayerConnect(playerid)
{
    FPS[playerid] = TextDrawCreate(596.000000, 0.000000, "");
    TextDrawBackgroundColor(FPS[playerid], 255);
    TextDrawFont(FPS[playerid], 3);
    TextDrawLetterSize(FPS[playerid], 0.669999, 1.900000);
    TextDrawColor(FPS[playerid], -1);
    TextDrawSetOutline(FPS[playerid], 0);
    TextDrawSetProportional(FPS[playerid], 1);
    TextDrawSetShadow(FPS[playerid], 1);
return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
TextDrawDestroy(FPS[playerid]);
return 1;
}
public OnPlayerUpdate(playerid)
{
    new drunknew;
    drunknew = GetPlayerDrunkLevel(playerid);
    if (drunknew < 100)
{
        SetPlayerDrunkLevel(playerid, 2000);
    }else
{
        if (pDrunkLevelLast[playerid] != drunknew)
{
            new wfps = pDrunkLevelLast[playerid] - drunknew;
            if ((wfps > 0) && (wfps < 200))
                pFPS[playerid] = wfps;
            pDrunkLevelLast[playerid] = drunknew;
        }
    }
return 1;
}
forward FPSControl();
public FPSControl()
{
    for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++)
    {
new str[24];
format(str, 24, "~r~~h~~h~FPS: ~w~~h~%d", GetPlayerFPS(i));
TextDrawSetString(FPS[i], str);
    }
return 1;
}
stock GetPlayerFPS(playerid)
{
    SetPVarInt(playerid, "DrunkL", GetPlayerDrunkLevel(playerid));
    if(GetPVarInt(playerid, "DrunkL") < 100)
    {
        SetPlayerDrunkLevel(playerid, 2000);
    }
    else
    {
        if(GetPVarInt(playerid, "LDrunkL") != GetPVarInt(playerid, "DrunkL"))
        {
            SetPVarInt(playerid, "FPS", (GetPVarInt(playerid, "LDrunkL") - GetPVarInt(playerid, "DrunkL")));
            SetPVarInt(playerid, "LDrunkL", GetPVarInt(playerid, "DrunkL"));
            if((GetPVarInt(playerid, "FPS") > 0) && (GetPVarInt(playerid, "FPS") < 256))
            {
                return GetPVarInt(playerid, "FPS") - 1;
            }
        }
    }
    return 0;
}


TRSinan28

Bi kaç sistem ekliyorum sunucuya birazdan bakacam şimdiden teşekkürler.


Excision

TextDrawShowForPlayer ile göstermeyi unutma :D ben unumuşum :P


TRSinan28


TRSinan28

Onplayerrequestclass ı atmama gerek yok dimi.Girişi bozar atarsam.


TRSinan28

Bu hatayı aldım büyük ihtimal benim salakça kodları yerleştirmemden kaynaklanıyodur :D



Excision

Ben compile ettim bi sorun çıkmadı. Kodları iyi yerleştir.


TRSinan28

Denedim olmuyo abi twden yardımcı olabilirmisin


TRSinan28

Nette araştırdım ve farklı bir sistem buldum.Normalde bi konu açmadan araştırırdım ama bu sefer unuttum.Mallığım için özür diliyorum :) Yinede teşekkürler Excision  :helal: