How can I add GetPLayerHP in Textdraws? Help fast
#1

Hello I need urgent help because I am making a textdraw fs, I will release it soon, I have a problem..
The line is this
Код:
secret = TextDrawCreate(secret, "~y~H~b~P~g~: ~p~%d", GetPlayerHealth(playerid));
I have hidden the X, Y, Z and the name because I dont want it copied, The warnings are :
Код:
warning 202: number of arguments does not match definition
warning 202: number of arguments does not match definition
There are 2 of them, How can I fix it?

and the other line: It has two warnings too
Код:
secret = TextDrawCreate(secret, "~y~A~b~R~g~: ~p~%d", GetPlayerArmour(playerid));
Anyway to fix it?
Reply
#2

It's because you didn't use the correct format which contains the X,Y,Z Place them.
Edit: The post below is more guaranteed to work.
Reply
#3

pawn Код:
secret = TextDrawCreate(X, Y, Z, "my health", GetPlayerArmour(playerid));
pawn Код:
secret = TextDrawCreate(X, Y, Z, "my armour", GetPlayerHealth(playerid));
pawn Код:
format(string,sizeof(string), "~y~A~b~R~g~: ~p~%0.2f", GetPlayerHealth(playerid));
// update it somewhere when the player logs in or whatever
new string[16];
TextDrawSetString(secret, string);
I hope I helped any feedback would be appreciated!
Reply
#4

Oh shit, Still didnt work, The X, Y ,Z is not problem Clad, I have hidden them so no one copies it, The real problem is GetPlayerArmour(playerid));
and GetPlayerHealth.. How to fix it?
Reply
#5

Hint: you are using secret as a variable, I suggest using something like

pawn Код:
new secret[MAX_PLAYERS];
or even using PlayerTextDraws to stop wasting global textdraws around.

** I have corrected my previous post had some stuff forgotten!
Reply
#6

See my all code and try to fix it, I fixed the 2 errors by moving it and doing something new.
Код:
#include <a_samp>

forward OnPlayerJoinAndProceed(playerid);
forward OnPlayerDeathAndAlmostSpawn(playerid, killerid, reason);
forward OnPlayerSpawnIntoGame(playerid);


new Text:HPTXD0;
new Text:HPTXD1;
new Text:HPTXD2;
new Text:HPTXD3;

public OnPlayerConnect(playerid)
{
	SendClientMessage(playerid,0xAACCCCAA,"Please wait 2 seconds before doing anything");
	SetTimer("OnPlayerJoinAndProceed",1000,true);
	TogglePlayerControllable(playerid, 0);
	return 1;
}

public OnPlayerJoinAndProceed(playerid)
{
SendClientMessage(playerid,0x00FF00,"Loading...");
TogglePlayerControllable(playerid, 1);
return 1;
}

public OnPlayerSpawn(playerid)
{
	SetTimer("OnPlayerSpawnIntoGame", 1000, true);
	return 1;
}

public OnPlayerSpawnIntoGame(playerid)
{
	//Textdraw load something
new Float:hp;
new Float:ar;

GetPlayerHealth(playerid, hp);
GetPlayerArmour(playerid, ar);
HPTXD0 = TextDrawCreate(552.800048, 65.706649, "~y~H~p~P: ~g~%d", hp);
TextDrawLetterSize(HPTXD0, 0.381199, 1.144532);
TextDrawTextSize(HPTXD0, 120.000000, 85.866668);
TextDrawAlignment(HPTXD0, 1);
TextDrawColor(HPTXD0, -1);
TextDrawSetShadow(HPTXD0, 0);
TextDrawSetOutline(HPTXD0, 1);
TextDrawBackgroundColor(HPTXD0, 51);
TextDrawFont(HPTXD0, 1);
TextDrawSetProportional(HPTXD0, 1);

HPTXD1 = TextDrawCreate(616.399841, 64.220001, "~r~HP");
TextDrawLetterSize(HPTXD1, 0.081600, 1.147630);
TextDrawTextSize(HPTXD1, 539.599975, 35.093338);
TextDrawAlignment(HPTXD1, 1);
TextDrawColor(HPTXD1, 16777215);
TextDrawUseBox(HPTXD1, true);
TextDrawBoxColor(HPTXD1, -2139062017);
TextDrawSetShadow(HPTXD1, 0);
TextDrawSetOutline(HPTXD1, 0);
TextDrawBackgroundColor(HPTXD1, 16777215);
TextDrawFont(HPTXD1, 0);

HPTXD2 = TextDrawCreate(616.399963, 41.819999, "~r~HP");
TextDrawLetterSize(HPTXD2, 0.024800, 1.750771);
TextDrawTextSize(HPTXD2, 539.600097, 2.240000);
TextDrawAlignment(HPTXD2, 1);
TextDrawColor(HPTXD2, 16777215);
TextDrawUseBox(HPTXD2, true);
TextDrawBoxColor(HPTXD2, -2139062017);
TextDrawSetShadow(HPTXD2, 0);
TextDrawSetOutline(HPTXD2, 0);
TextDrawBackgroundColor(HPTXD2, 16777215);
TextDrawFont(HPTXD2, 0);

HPTXD3 = TextDrawCreate(552.799865, 44.800022, "~y~A~p~R: ~g~%0.2f", ar);
TextDrawLetterSize(HPTXD3, 0.406799, 1.114666);
TextDrawAlignment(HPTXD3, 1);
TextDrawColor(HPTXD3, -1);
TextDrawSetShadow(HPTXD3, 0);
TextDrawSetOutline(HPTXD3, 0);
TextDrawBackgroundColor(HPTXD3, 51);
TextDrawFont(HPTXD3, 1);
TextDrawSetProportional(HPTXD3, 1);
TextDrawDestroy(HPTXD0);
TextDrawDestroy(HPTXD1);
TextDrawDestroy(HPTXD2);
TextDrawDestroy(HPTXD3);
TextDrawShowForPlayer(playerid, HPTXD0);
TextDrawShowForPlayer(playerid, HPTXD1);
TextDrawShowForPlayer(playerid, HPTXD2);
TextDrawShowForPlayer(playerid, HPTXD3);
return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
	SetTimer("OnPlayerDeathAndAlmostSpawn", 1000, true);
	return 1;
}

public OnPlayerDeathAndAlmostSpawn(playerid, killerid, reason)
{
	//Textdraw destroy something
	TextDrawDestroy(HPTXD0);
	TextDrawDestroy(HPTXD1);
	TextDrawDestroy(HPTXD2);
	TextDrawDestroy(HPTXD3);
	return 1;
}
	

public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" HP Textdraw system loaded by ZombieNest");
print("--------------------------------------\n");
return 1;
}

public OnFilterScriptExit()
{
	print("HP Textdraw System UNLOADED By ZombieNest");
	return 1;
}
Reply
#7

Use PlayerTextDraws instead so you won't need to use variables and waste a lot of textdraws. Plus PlayerTextDraws are destroyed automatically after the player disconnects!.
Reply
#8

oh how?
Reply
#9

This will help you:

Just change the callback ( you dont need to change the positions or anything )

https://sampwiki.blast.hk/wiki/CreatePlayerTextDraw
Reply
#10

Your whatever f***** my filterscript, I tried that, every HPTXD0 went argument mismatch 2, Even If I changed using wiki.. closing this..
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)