First, i dont know russian language sorry... and i use translator is just like an hiv on my screen, doesnt work good.
Two, i looking for someone that can help to compile a SF code, i dont really know how to do that... And looking for someone too that can edit another SF plugin..
The code of the SF plugin that i want to compile (i edit the original one cuz it had an error).
And this is the sf plugin that i want to edit (I CANT DO NO ANIMATIONS BECAUSE IT HAS AN ANTIFREEZE OR SOMETHING I THINK, CAN SOMEONE DELETE THAT SHIT FROM IT?)
Two, i looking for someone that can help to compile a SF code, i dont really know how to do that... And looking for someone too that can edit another SF plugin..
The code of the SF plugin that i want to compile (i edit the original one cuz it had an error).
Код:
#include <windows.h>
#include <string>
#include <assert.h>
#include <process.h>
#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"
SAMPFUNCS *SF = new SAMPFUNCS();
stTextureInfo *pStar;
stTextureInfo *pCrosshairs[4];
stTextureInfo *pCharacter[13];
DWORD dwStartTime = GetTickCount();
bool INI_GetBool(std::string _Section, std::string _Key)
{
char str[256];
GetPrivateProfileString(_Section.c_str(), _Key.c_str(), NULL, str, sizeof(str), "SAMPFUNCS\\Head-Up Display\\Head-Up Display.ini");
if (!strcmp(str, "true"))
return true;
else
return false;
}
int INI_GetInteger(std::string _Section, std::string _Key)
{
char str[256];
GetPrivateProfileString(_Section.c_str(), _Key.c_str(), NULL, str, sizeof(str), "SAMPFUNCS\\Head-Up Display\\Head-Up Display.ini");
return std::stoi(str);
}
float INI_GetFloat(std::string _Section, std::string _Key)
{
char str[256];
GetPrivateProfileString(_Section.c_str(), _Key.c_str(), NULL, str, sizeof(str), "SAMPFUNCS\\Head-Up Display\\Head-Up Display.ini");
return std::stof(str);
}
bool Components_bRadar = INI_GetBool("Components", "bRadar"),
Components_bRadarBar = INI_GetBool("Components", "bRadarBar"),
Components_bMoney = INI_GetBool("Components", "bMoney"),
Components_bAmmo = INI_GetBool("Components", "bAmmo"),
Components_bCrosshair = INI_GetBool("Components", "bCrosshair"),
Components_bStar = INI_GetBool("Components", "bStar");
float Radar_fX = INI_GetFloat("Radar", "fX"),
Radar_fY = INI_GetFloat("Radar", "fY");
float RadarBar_fX = INI_GetFloat("RadarBar", "fX"),
RadarBar_fY = INI_GetFloat("RadarBar", "fY"),
RadarBar_fW = INI_GetFloat("RadarBar", "fWidth"),
RadarBar_fH = INI_GetFloat("RadarBar", "fHeight"),
RadarBar_fB = INI_GetFloat("RadarBar", "fBorder");
int RadarBar_iHPColor = D3DCOLOR_ARGB(
INI_GetInteger("RadarBar", "iHealthColorA"),
INI_GetInteger("RadarBar", "iHealthColorR"),
INI_GetInteger("RadarBar", "iHealthColorG"),
INI_GetInteger("RadarBar", "iHealthColorB")),
RadarBar_iAPColor = D3DCOLOR_ARGB(
INI_GetInteger("RadarBar", "iArmorColorA"),
INI_GetInteger("RadarBar", "iArmorColorR"),
INI_GetInteger("RadarBar", "iArmorColorG"),
INI_GetInteger("RadarBar", "iArmorColorB")),
RadarBar_iOPColor = D3DCOLOR_ARGB(
INI_GetInteger("RadarBar", "iOxygenColorA"),
INI_GetInteger("RadarBar", "iOxygenColorR"),
INI_GetInteger("RadarBar", "iOxygenColorG"),
INI_GetInteger("RadarBar", "iOxygenColorB")),
RadarBar_iBorderColor = D3DCOLOR_ARGB(
INI_GetInteger("RadarBar", "iBorderColorA"),
INI_GetInteger("RadarBar", "iBorderColorR"),
INI_GetInteger("RadarBar", "iBorderColorG"),
INI_GetInteger("RadarBar", "iBorderColorB"));
bool Money_bMain = true,
Money_bDiff = false;
int Money_iMain = 0,
Money_iDiff = 0,
Money_iLast = 0;
float Money_fX = INI_GetFloat("Money", "fX"),
Money_fY = INI_GetFloat("Money", "fY"),
Money_fO = INI_GetFloat("Money", "fYOffset"),
Money_fLetterW = INI_GetFloat("Money", "fLetterWidth"),
Money_fLetterH = INI_GetFloat("Money", "fLetterHeight"),
Money_fLetterO = INI_GetFloat("Money", "fLetterOffset");
int Money_iPositiveColor = D3DCOLOR_ARGB(
INI_GetInteger("Money", "iPositiveColorA"), INI_GetInteger("Money", "iPositiveColorR"),
INI_GetInteger("Money", "iPositiveColorG"), INI_GetInteger("Money", "iPositiveColorB")),
Money_iNegativeColor = D3DCOLOR_ARGB(
INI_GetInteger("Money", "iNegativeColorA"), INI_GetInteger("Money", "iNegativeColorR"),
INI_GetInteger("Money", "iNegativeColorG"), INI_GetInteger("Money", "iNegativeColorB"));
bool Ammo_bTotal = true,
Ammo_bClip = false;
int Ammo_iTotal = 0,
Ammo_iClip = 0;
float Ammo_fX = INI_GetFloat("Ammo", "fX"),
Ammo_fY = INI_GetFloat("Ammo", "fY"),
Ammo_fXO = INI_GetFloat("Ammo", "fXOffset"),
Ammo_fYO = INI_GetFloat("Ammo", "fYOffset"),
Ammo_fLetterW = INI_GetFloat("Ammo", "fLetterWidth"),
Ammo_fLetterH = INI_GetFloat("Ammo", "fLetterHeight"),
Ammo_fLetterO = INI_GetFloat("Ammo", "fLetterOffset");
int Ammo_iTotalColor = D3DCOLOR_ARGB(
INI_GetInteger("Ammo", "iTotalColorA"), INI_GetInteger("Ammo", "iTotalColorR"),
INI_GetInteger("Ammo", "iTotalColorG"), INI_GetInteger("Ammo", "iTotalColorB")),
Ammo_iClipColor = D3DCOLOR_ARGB(
INI_GetInteger("Ammo", "iClipColorA"), INI_GetInteger("Ammo", "iClipColorR"),
INI_GetInteger("Ammo", "iClipColorG"), INI_GetInteger("Ammo", "iClipColorB"));
float Crosshair_fX = INI_GetFloat("Crosshair", "fX"),
Crosshair_fY = INI_GetFloat("Crosshair", "fY"),
Crosshair_fW = INI_GetFloat("Crosshair", "fWidth"),
Crosshair_fH = INI_GetFloat("Crosshair", "fHeight");
int Crosshair_iReadyColor = D3DCOLOR_ARGB(
INI_GetInteger("Crosshair", "iReadyColorA"), INI_GetInteger("Crosshair", "iReadyColorR"),
INI_GetInteger("Crosshair", "iReadyColorG"), INI_GetInteger("Crosshair", "iReadyColorB")),
Crosshair_iReloadColor = D3DCOLOR_ARGB(
INI_GetInteger("Crosshair", "iReloadColorA"), INI_GetInteger("Crosshair", "iReloadColorR"),
INI_GetInteger("Crosshair", "iReloadColorG"), INI_GetInteger("Crosshair", "iReloadColorB"));
float Star_fX = INI_GetFloat("Star", "fX"),
Star_fY = INI_GetFloat("Star", "fY"),
Star_fW = INI_GetFloat("Star", "fWidth"),
Star_fH = INI_GetFloat("Star", "fHeight"),
Star_fO = INI_GetFloat("Star", "fOffset");
int Star_iFullColor = D3DCOLOR_ARGB(
INI_GetInteger("Star", "iFullColorA"), INI_GetInteger("Star", "iFullColorR"),
INI_GetInteger("Star", "iFullColorG"), INI_GetInteger("Star", "iFullColorB")),
Star_iEmptyColor = D3DCOLOR_ARGB(
INI_GetInteger("Star", "iEmptyColorA"), INI_GetInteger("Star", "iEmptyColorR"),
INI_GetInteger("Star", "iEmptyColorG"), INI_GetInteger("Star", "iEmptyColorB"));
int GetNumberLength(int _Number)
{
if (_Number == 0)
return 1;
if (_Number < 0)
_Number *= -1;
int _Count = 0;
for (; _Number >= 1; _Count++, _Number /= 10);
return _Count;
}
float GetHealth()
{
if (PEDSELF->GetHealth() > 100)
return 100;
else
return PEDSELF->GetHealth();
}
float GetArmor()
{
if (PEDSELF->GetArmor() > 100)
return 100;
else
return PEDSELF->GetArmor();
}
float GetOxygen()
{
if (PEDSELF->GetOxygenLevel() / 39.97 > 100)
return 100;
else
return PEDSELF->GetOxygenLevel() / 39.97;
}
int GetWeaponID()
{
CWeapon *Weapon = PEDSELF->GetWeapon(PEDSELF->GetCurrentWeaponSlot());
return Weapon->GetType();
}
eWeaponState GetWeaponState()
{
CWeapon *Weapon = PEDSELF->GetWeapon(PEDSELF->GetCurrentWeaponSlot());
return Weapon->GetState();
}
int GetAmmoInClip()
{
CWeapon *Weapon = PEDSELF->GetWeapon(PEDSELF->GetCurrentWeaponSlot());
return Weapon->GetAmmoInClip();
}
int GetAmmoTotal()
{
CWeapon *Weapon = PEDSELF->GetWeapon(PEDSELF->GetCurrentWeaponSlot());
return Weapon->GetAmmoTotal();
}
int GetWantedLevel()
{
return *(DWORD*)0x58DB60;
}
int ConvertX(float X)
{
int ScreenResolution[2];
SF->getGame()->getScreenResolution(&ScreenResolution[0], &ScreenResolution[1]);
return (ScreenResolution[0] / 640.0) * X + 0.5;
}
int ConvertY(float Y)
{
int ScreenResolution[2];
SF->getGame()->getScreenResolution(&ScreenResolution[0], &ScreenResolution[1]);
return (ScreenResolution[1] / 448.0) * Y + 0.5;
}
void SetRadarSettings()
{
*(float*)0x716642 = 40.0;
*(DWORD*)0x718D14 = (DWORD)0x716642;
*(float*)0x858A10 = Radar_fX;
*(float*)0x866B70 = Radar_fY;
return;
}
void SetHUDComponents()
{
GAME->GetHud()->SetComponentVisible(HUD_HEALTH, INI_GetBool("Standart", "bHP"));
GAME->GetHud()->SetComponentVisible(HUD_ARMOUR, INI_GetBool("Standart", "bAP"));
GAME->GetHud()->SetComponentVisible(HUD_BREATH, INI_GetBool("Standart", "bOP"));
GAME->GetHud()->SetComponentVisible(HUD_RADAR, INI_GetBool("Standart", "bRadar"));
GAME->GetHud()->SetComponentVisible(HUD_RADIO, INI_GetBool("Standart", "bRadio"));
GAME->GetHud()->SetComponentVisible(HUD_VITAL_STATS, INI_GetBool("Standart", "bStats"));
GAME->GetHud()->SetComponentVisible(HUD_MONEY, INI_GetBool("Standart", "bMoney"));
GAME->GetHud()->SetComponentVisible(HUD_AMMO, INI_GetBool("Standart", "bAmmo"));
GAME->GetHud()->SetComponentVisible(HUD_WEAPON, INI_GetBool("Standart", "bWeapon"));
GAME->GetHud()->SetComponentVisible(HUD_WANTED, INI_GetBool("Standart", "bWanted"));
GAME->GetHud()->SetComponentVisible(HUD_CLOCK, INI_GetBool("Standart", "bClock"));
GAME->GetHud()->SetComponentVisible(HUD_CROSSHAIR, INI_GetBool("Standart", "bCrosshair"));
GAME->GetHud()->SetComponentVisible(HUD_VEHICLE_NAME, INI_GetBool("Standart", "bVehicleName"));
GAME->GetHud()->SetComponentVisible(HUD_AREA_NAME, INI_GetBool("Standart", "bAreaName"));
GAME->GetHud()->SetComponentVisible(HUD_HELP_TEXT, INI_GetBool("Standart", "bHelpText"));
return;
}
void LoadTextures()
{
pStar = SF->getRender()->LoadTextureFromFile("SAMPFUNCS\\Head-Up Display\\star\\star.png");
pCrosshairs[0] = SF->getRender()->LoadTextureFromFile("SAMPFUNCS\\Head-Up Display\\crosshairs\\pistol.png");
pCrosshairs[1] = SF->getRender()->LoadTextureFromFile("SAMPFUNCS\\Head-Up Display\\crosshairs\\shotgun.png");
pCrosshairs[2] = SF->getRender()->LoadTextureFromFile("SAMPFUNCS\\Head-Up Display\\crosshairs\\smg.png");
pCrosshairs[3] = SF->getRender()->LoadTextureFromFile("SAMPFUNCS\\Head-Up Display\\crosshairs\\assault.png");
pCrosshairs[4] = SF->getRender()->LoadTextureFromFile("SAMPFUNCS\\Head-Up Display\\crosshairs\\sniper.png");
pCharacter[0] = SF->getRender()->LoadTextureFromFile("SAMPFUNCS\\Head-Up Display\\characters\\0.png");
pCharacter[1] = SF->getRender()->LoadTextureFromFile("SAMPFUNCS\\Head-Up Display\\characters\\1.png");
pCharacter[2] = SF->getRender()->LoadTextureFromFile("SAMPFUNCS\\Head-Up Display\\characters\\2.png");
pCharacter[3] = SF->getRender()->LoadTextureFromFile("SAMPFUNCS\\Head-Up Display\\characters\\3.png");
pCharacter[4] = SF->getRender()->LoadTextureFromFile("SAMPFUNCS\\Head-Up Display\\characters\\4.png");
pCharacter[5] = SF->getRender()->LoadTextureFromFile("SAMPFUNCS\\Head-Up Display\\characters\\5.png");
pCharacter[6] = SF->getRender()->LoadTextureFromFile("SAMPFUNCS\\Head-Up Display\\characters\\6.png");
pCharacter[7] = SF->getRender()->LoadTextureFromFile("SAMPFUNCS\\Head-Up Display\\characters\\7.png");
pCharacter[8] = SF->getRender()->LoadTextureFromFile("SAMPFUNCS\\Head-Up Display\\characters\\8.png");
pCharacter[9] = SF->getRender()->LoadTextureFromFile("SAMPFUNCS\\Head-Up Display\\characters\\9.png");
pCharacter[10] = SF->getRender()->LoadTextureFromFile("SAMPFUNCS\\Head-Up Display\\characters\\dollar.png");
pCharacter[11] = SF->getRender()->LoadTextureFromFile("SAMPFUNCS\\Head-Up Display\\characters\\+.png");
pCharacter[12] = SF->getRender()->LoadTextureFromFile("SAMPFUNCS\\Head-Up Display\\characters\\-.png");
}
void UpdateMoney()
{
if (GAME->GetPlayerInfo()->GetPlayerMoney() != Money_iMain)
{
Money_iMain += (GAME->GetPlayerInfo()->GetPlayerMoney() - Money_iMain) / 150;
if (Money_iMain < GAME->GetPlayerInfo()->GetPlayerMoney())
Money_iMain += 1;
else
Money_iMain -= 1;
}
if (GAME->GetPlayerInfo()->GetPlayerMoney() - Money_iLast != 0)
{
Money_iDiff = GAME->GetPlayerInfo()->GetPlayerMoney() - Money_iLast;
Money_bDiff = true;
dwStartTime = GetTickCount();
}
if (GetTickCount() - dwStartTime > 4000)
Money_bDiff = false;
Money_iLast = GAME->GetPlayerInfo()->GetPlayerMoney();
return;
}
void UpdateAmmo()
{
if (PEDSELF->GetCurrentWeaponSlot() >= 2 && PEDSELF->GetCurrentWeaponSlot() <= 9)
{
if (PEDSELF->GetCurrentWeaponSlot() == 6 || PEDSELF->GetCurrentWeaponSlot() == 8 || GetWeaponID() == 25 || GetWeaponID() == 35 || GetWeaponID() == 36)
{
Ammo_iTotal = GetAmmoTotal();
Ammo_bTotal = true;
Ammo_bClip = false;
}
else
{
Ammo_iTotal = GetAmmoTotal() - GetAmmoInClip();
Ammo_iClip = GetAmmoInClip();
Ammo_bTotal = true;
Ammo_bClip = true;
}
}
else
{
Ammo_bTotal = false;
Ammo_bClip = false;
}
return;
}
bool CALLBACK RENDER(CONST RECT *pSourceRect, CONST RECT *pDestRect, HWND hDestWindowOverride, CONST RGNDATA *pDirtyRegion)
{
if (!SF->getRender()->CanDraw() || !SF->getSAMP()->getChat()->iChatWindowMode || SF->getGame()->isGTAMenuActive())
return true;
SF->getRender()->BeginRender();
if (Components_bRadarBar)
{
SF->getRender()->DrawBox(ConvertX(RadarBar_fX), ConvertY(RadarBar_fY), ConvertX(RadarBar_fW), ConvertY(RadarBar_fH), RadarBar_iBorderColor);
if (!PEDSELF->GetArmor() && !PEDSELF->IsInWater())
{
SF->getRender()->DrawBox(ConvertX(RadarBar_fX), ConvertY(RadarBar_fY) + ConvertY(RadarBar_fB), ConvertX(RadarBar_fW), ConvertY(RadarBar_fH) - ConvertY(RadarBar_fB) * 2, RadarBar_iHPColor - 0xBB000000);
SF->getRender()->DrawBox(ConvertX(RadarBar_fX), ConvertY(RadarBar_fY) + ConvertY(RadarBar_fB), ConvertX(RadarBar_fW / 100 * GetHealth()), ConvertY(RadarBar_fH) - ConvertY(RadarBar_fB) * 2, RadarBar_iHPColor);
}
else
{
SF->getRender()->DrawBox(ConvertX(RadarBar_fX), ConvertY(RadarBar_fY) + ConvertY(RadarBar_fB), ConvertX(RadarBar_fW) / 2 - ConvertY(RadarBar_fB) / 2, ConvertY(RadarBar_fH) - ConvertY(RadarBar_fB) * 2, RadarBar_iHPColor - 0xBB000000);
SF->getRender()->DrawBox(ConvertX(RadarBar_fX), ConvertY(RadarBar_fY) + ConvertY(RadarBar_fB), ConvertX(RadarBar_fW / 100 * GetHealth()) / 2 - ConvertY(RadarBar_fB) / 2, ConvertY(RadarBar_fH) - ConvertY(RadarBar_fB) * 2, RadarBar_iHPColor);
if (!PEDSELF->IsInWater())
{
SF->getRender()->DrawBox(ConvertX(RadarBar_fX) + ConvertX(RadarBar_fW) - ConvertX(RadarBar_fW) / 2 + ConvertY(RadarBar_fB) / 2, ConvertY(RadarBar_fY) + ConvertY(RadarBar_fB), ConvertX(RadarBar_fW) / 2 - ConvertY(RadarBar_fB) / 2, ConvertY(RadarBar_fH) - ConvertY(RadarBar_fB) * 2, RadarBar_iAPColor - 0xBB000000);
SF->getRender()->DrawBox(ConvertX(RadarBar_fX) + ConvertX(RadarBar_fW) - ConvertX(RadarBar_fW) / 2 + ConvertY(RadarBar_fB) / 2, ConvertY(RadarBar_fY) + ConvertY(RadarBar_fB), ConvertX(RadarBar_fW / 100 * GetArmor()) / 2 - ConvertY(RadarBar_fB) / 2, ConvertY(RadarBar_fH) - ConvertY(RadarBar_fB) * 2, RadarBar_iAPColor);
}
else
{
SF->getRender()->DrawBox(ConvertX(RadarBar_fX) + ConvertX(RadarBar_fW) - ConvertX(RadarBar_fW) / 2 + ConvertY(RadarBar_fB) / 2, ConvertY(RadarBar_fY) + ConvertY(RadarBar_fB), ConvertX(RadarBar_fW) / 2 - ConvertY(RadarBar_fB) / 2, ConvertY(RadarBar_fH) - ConvertY(RadarBar_fB) * 2, RadarBar_iOPColor - 0xBB000000);
SF->getRender()->DrawBox(ConvertX(RadarBar_fX) + ConvertX(RadarBar_fW) - ConvertX(RadarBar_fW) / 2 + ConvertY(RadarBar_fB) / 2, ConvertY(RadarBar_fY) + ConvertY(RadarBar_fB), ConvertX(RadarBar_fW / 100 * GetOxygen()) / 2 - ConvertY(RadarBar_fB) / 2, ConvertY(RadarBar_fH) - ConvertY(RadarBar_fB) * 2, RadarBar_iOPColor);
}
}
}
if (Components_bMoney)
{
if (Money_bMain)
{
int iNumber = Money_iMain,
iX = ConvertX(Money_fX) - ConvertX(Money_fLetterW) * Money_fLetterO;
if (iNumber < 0)
{
iNumber *= -1;
for (int i = 1, iLength = GetNumberLength(iNumber); i <= iLength; i++, iNumber /= 10, iX -= ConvertX(Money_fLetterW) * Money_fLetterO)
SF->getRender()->DrawTexture(pCharacter[iNumber % 10], iX, ConvertY(Money_fY), ConvertX(Money_fLetterW), ConvertY(Money_fLetterH), 0, Money_iNegativeColor);
SF->getRender()->DrawTexture(pCharacter[10], iX, ConvertY(Money_fY), ConvertX(Money_fLetterW), ConvertY(Money_fLetterH), 0, Money_iNegativeColor);
SF->getRender()->DrawTexture(pCharacter[12], iX - ConvertX(Money_fLetterW) * Money_fLetterO, ConvertY(Money_fY), ConvertX(Money_fLetterW), ConvertY(Money_fLetterH), 0, Money_iNegativeColor);
}
else
{
for (int i = 1, iLength = GetNumberLength(iNumber); i <= iLength; i++, iNumber /= 10, iX -= ConvertX(Money_fLetterW) * Money_fLetterO)
SF->getRender()->DrawTexture(pCharacter[iNumber % 10], iX, ConvertY(Money_fY), ConvertX(Money_fLetterW), ConvertY(Money_fLetterH), 0, Money_iPositiveColor);
SF->getRender()->DrawTexture(pCharacter[10], iX, ConvertY(Money_fY), ConvertX(Money_fLetterW), ConvertY(Money_fLetterH), 0, Money_iPositiveColor);
}
}
if (Money_bDiff)
{
int iNumber = Money_iDiff,
iX = ConvertX(Money_fX) - ConvertX(Money_fLetterW) * Money_fLetterO;
if (iNumber < 0)
{
iNumber *= -1;
for (int i = 1, iLength = GetNumberLength(iNumber); i <= iLength; i++, iNumber /= 10, iX -= ConvertX(Money_fLetterW) * Money_fLetterO)
SF->getRender()->DrawTexture(pCharacter[iNumber % 10], iX, ConvertY(Money_fY) + ConvertY(Money_fO), ConvertX(Money_fLetterW), ConvertY(Money_fLetterH), 0, Money_iNegativeColor);
SF->getRender()->DrawTexture(pCharacter[12], iX, ConvertY(Money_fY) + ConvertY(Money_fO), ConvertX(Money_fLetterW), ConvertY(Money_fLetterH), 0, Money_iNegativeColor);
}
else
{
for (int i = 1, iLength = GetNumberLength(iNumber); i <= iLength; i++, iNumber /= 10, iX -= ConvertX(Money_fLetterW) * Money_fLetterO)
SF->getRender()->DrawTexture(pCharacter[iNumber % 10], iX, ConvertY(Money_fY) + ConvertY(Money_fO), ConvertX(Money_fLetterW), ConvertY(Money_fLetterH), 0, Money_iPositiveColor);
SF->getRender()->DrawTexture(pCharacter[11], iX, ConvertY(Money_fY) + ConvertY(Money_fO), ConvertX(Money_fLetterW), ConvertY(Money_fLetterH), 0, Money_iPositiveColor);
}
}
}
if (Components_bAmmo)
{
int iX = ConvertX(Ammo_fX) - ConvertX(Ammo_fLetterW) * Ammo_fLetterO,
iY = ConvertY(Ammo_fY);
if (Money_bDiff)
iY += ConvertY(Ammo_fYO);
if (Ammo_bTotal)
for (int iTotal = Ammo_iTotal, iLength = GetNumberLength(iTotal), i = 1; i <= iLength; i++, iTotal /= 10, iX -= ConvertX(Ammo_fLetterW) * Ammo_fLetterO)
SF->getRender()->DrawTexture(pCharacter[iTotal % 10], iX, iY, ConvertX(Ammo_fLetterW), ConvertY(Ammo_fLetterH), 0, Ammo_iTotalColor);
iX -= ConvertX(Ammo_fXO);
if (Ammo_bClip)
for (int iClip = Ammo_iClip, iLength = GetNumberLength(iClip), i = 1; i <= iLength; i++, iClip /= 10, iX -= ConvertX(Ammo_fLetterW) * Ammo_fLetterO)
SF->getRender()->DrawTexture(pCharacter[iClip % 10], iX, iY, ConvertX(Ammo_fLetterW), ConvertY(Ammo_fLetterH), 0, Ammo_iClipColor);
}
if (Components_bCrosshair && SF->getGame()->isKeyDown(0x02))
{
if (PEDSELF->GetCurrentWeaponSlot() == 2 || PEDSELF->GetCurrentWeaponSlot() == 3 || PEDSELF->GetCurrentWeaponSlot() == 4 || PEDSELF->GetCurrentWeaponSlot() == 5 || GetWeaponID() == 33 || GetWeaponID() == 38)
{
int iCrosshair, iColor;
if (GetWeaponState() == WEAPONSTATE_RELOADING || GetWeaponState() == WEAPONSTATE_OUT_OF_AMMO)
iColor = Crosshair_iReloadColor;
else
iColor = Crosshair_iReadyColor;
switch (PEDSELF->GetCurrentWeaponSlot())
{
case 2: iCrosshair = 0; break;
case 3: iCrosshair = 1; break;
case 4: iCrosshair = 2; break;
case 5: iCrosshair = 3; break;
default:
if (GetWeaponID() == 33) iCrosshair = 0;
if (GetWeaponID() == 38) iCrosshair = 3;
if (GetWeaponID() == 34) iCrosshair = 4;
break;
}
SF->getRender()->DrawTexture(pCrosshairs[iCrosshair], ConvertX(Crosshair_fX) - ConvertX(Crosshair_fW) / 2, ConvertY(Crosshair_fY) - ConvertY(Crosshair_fH) / 2, ConvertX(Crosshair_fW), ConvertY(Crosshair_fH), 0.0, iColor);
}
}
if (Components_bStar && GetWantedLevel() >= 1)
{
int iX = ConvertX(Star_fX) - ConvertX(Star_fW);
for (int i = 0; i < GetWantedLevel(); i++, iX -= ConvertX(Star_fW) + ConvertX(Star_fO))
SF->getRender()->DrawTexture(pStar, iX, ConvertY(Star_fY), ConvertX(Star_fW), ConvertY(Star_fH), 0.0, Star_iFullColor);
for (int iCounter = GetWantedLevel(); iCounter < 6; iCounter++, iX -= ConvertX(Star_fW) + ConvertX(Star_fO))
SF->getRender()->DrawTexture(pStar, iX, ConvertY(Star_fY), ConvertX(Star_fW), ConvertY(Star_fH), 0.0, Star_iEmptyColor);
}
SF->getRender()->EndRender();
return true;
}
void CALLBACK mainloop()
{
static bool init = false;
if (!init)
{
if (GAME == nullptr)
return;
if (GAME->GetSystemState() != eSystemState::GS_PLAYING_GAME)
return;
if (!SF->getSAMP()->IsInitialized())
return;
SetRadarSettings();
SetHUDComponents();
LoadTextures();
SF->getRender()->registerD3DCallback(eDirect3DDeviceMethods::D3DMETHOD_PRESENT, RENDER);
SF->getSAMP()->getChat()->AddChatMessage(D3DCOLOR_XRGB(255, 255, 255), "Plugin {AA5555}'Head-Up Display' {FFFFFF}was loaded! Author: {AA5555}AWRage");
init = true;
}
if (Components_bMoney)
UpdateMoney();
if (Components_bAmmo)
UpdateAmmo();
}
BOOL APIENTRY DllMain(HMODULE hModule, DWORD dwReasonForCall, LPVOID lpReserved)
{
if (dwReasonForCall == DLL_PROCESS_ATTACH)
SF->initPlugin(mainloop, hModule);
return true;
}
And this is the sf plugin that i want to edit (I CANT DO NO ANIMATIONS BECAUSE IT HAS AN ANTIFREEZE OR SOMETHING I THINK, CAN SOMEONE DELETE THAT SHIT FROM IT?)