Jump to content
  • 0

pomoc HP Systém


► Anonymous ◄

Dotaz


#include <a_samp>


new Text:Textdraw0;
new string[500];
new Float:HP;




public OnPlayerConnect(playerid)
{


GetPlayerHealth(playerid,Float:HP);
format(string,sizeof(string),"%.1f %%",HP);
Textdraw0 = TextDrawCreate(563.000000, 66.000000, string);
TextDrawBackgroundColor(Textdraw0, 255);
TextDrawFont(Textdraw0, 2);
TextDrawLetterSize(Textdraw0, 0.300000, 1.000000);
TextDrawColor(Textdraw0, -16776961);
TextDrawSetOutline(Textdraw0, 1);
TextDrawSetProportional(Textdraw0, 1);
TextDrawSetString(Textdraw0,string);


return 1;
}


public OnPlayerSpawn(playerid)
{
TextDrawShowForPlayer(playerid, Textdraw0);
return 1;
}

Prosím help .. jak sa spawnem tak mi spravy toto : 

 

sa-mp-194.png

Link to comment
Share on other sites

6 odpovědí na tuto otázku

Recommended Posts

  • 0
#include <a_samp>


new Text:Textdraw0;
new string[500];
new Float:HP;




public OnPlayerConnect(playerid)
{
Textdraw0 = TextDrawCreate(563.000000, 66.000000, "100.0 %%");
TextDrawBackgroundColor(Textdraw0, 255);
TextDrawFont(Textdraw0, 2);
TextDrawLetterSize(Textdraw0, 0.300000, 1.000000);
TextDrawColor(Textdraw0, -16776961);
TextDrawSetOutline(Textdraw0, 1);
TextDrawSetProportional(Textdraw0, 1);
TextDrawSetString(Textdraw0,string);


return 1;
}


public OnPlayerSpawn(playerid)
{
new playerhp[41],
GetPlayerHealth(playerid,Float:HP);
format(playerhp,sizeof(playerhp),"%.1f %%",HP);
TextDrawSetString(Textdraw0, playerhp);   
TextDrawShowForPlayer(playerid, Textdraw0);
return 1;
}

Zkus, netestoval jsem to

Edited by Expertik
Link to comment
Share on other sites

  • 0
  • Administrátor

Musíš to prohnat timerem nebo využít OnPlayerTake nebo GiveDamage což bude uspornější a text aktualizovat jinak máš ten kod celkově špatně pojatý když chvilku vydržíš napíšu ti zhruba jak na to


new Text:TextDraw0[MAX_PLAYERS];
public OnPlayerConnect( playerid ) { TextDrawShowForPlayer( playerid , Textdraw0[playerid] );
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid, bodypart)
{
    new playerhp[41],
	GetPlayerHealth(playerid,Float:HP);
	format(playerhp,sizeof(playerhp),"%.1f %%",HP);
	TextDrawSetString(Textdraw0[playerid], playerhp);
	return 1;
}
// Plus si musíš přidat vytvoření textdrawu a upravit ho Textdraw0 přepsat na Textdraw[playerid] a vytvoření přesunout do connectu
Link to comment
Share on other sites

  • 0

 

Musíš to prohnat timerem nebo využít OnPlayerTake nebo GiveDamage což bude uspornější a text aktualizovat jinak máš ten kod celkově špatně pojatý když chvilku vydržíš napíšu ti zhruba jak na to

new Text:TextDraw0[MAX_PLAYERS];
public OnPlayerConnect( playerid ) { TextDrawShowForPlayer( playerid , Textdraw0[playerid] );
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid, bodypart)
{
    new playerhp[41],
	GetPlayerHealth(playerid,Float:HP);
	format(playerhp,sizeof(playerhp),"%.1f %%",HP);
	TextDrawSetString(Textdraw0[playerid], playerhp);
	return 1;
}
// Plus si musíš přidat vytvoření textdrawu a upravit ho Textdraw0 přepsat na Textdraw[playerid] a vytvoření přesunout do connectu

Ewwe nemohl bys mi to udělat ty ? ja nejsem až tak dobrej pawner jako ty.

#include <a_samp>


new Text:Textdraw0;
new string[500];
new Float:HP;




public OnPlayerConnect(playerid)
{
Textdraw0 = TextDrawCreate(563.000000, 66.000000, "100.0 %%");
TextDrawBackgroundColor(Textdraw0, 255);
TextDrawFont(Textdraw0, 2);
TextDrawLetterSize(Textdraw0, 0.300000, 1.000000);
TextDrawColor(Textdraw0, -16776961);
TextDrawSetOutline(Textdraw0, 1);
TextDrawSetProportional(Textdraw0, 1);
TextDrawSetString(Textdraw0,string);


return 1;
}


public OnPlayerSpawn(playerid)
{
new playerhp[41],
GetPlayerHealth(playerid,Float:HP);
format(playerhp,sizeof(playerhp),"%.1f %%",HP);
TextDrawSetString(Textdraw0, playerhp);   
TextDrawShowForPlayer(playerid, Textdraw0);
return 1;
}

Zkus, netestoval jsem to

 

Error : D:\Documents and Settings\InSaNe_25_IcOn\Plocha\hp.pwn(30) : warning 219: local variable "GetPlayerHealth" shadows a variable at a preceding level

D:\Documents and Settings\InSaNe_25_IcOn\Plocha\hp.pwn(30) : error 001: expected token: ";", but found "("
D:\Documents and Settings\InSaNe_25_IcOn\Plocha\hp.pwn(30) : warning 215: expression has no effect
D:\Documents and Settings\InSaNe_25_IcOn\Plocha\hp.pwn(30) : warning 203: symbol is never used: "GetPlayerHealth"
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
 
 
1 Error.

Prepáčte za spam ale nemá to byť takto ?

 

#include <a_samp>
#pragma tabsize 0
new string[500];
new HP;
new Text:Textdraw0[MAX_PLAYERS];
 
public OnPlayerConnect(playerid)
{
Textdraw0[playerid] = TextDrawCreate(563.000000, 66.000000, "100.0 %%");
TextDrawBackgroundColor(Textdraw0[playerid], 255);
TextDrawFont(Textdraw0[playerid], 2);
TextDrawLetterSize(Textdraw0[playerid], 0.300000, 1.000000);
TextDrawColor(Textdraw0[playerid], -16776961);
TextDrawSetOutline(Textdraw0[playerid], 1);
TextDrawSetProportional(Textdraw0[playerid], 1);
TextDrawSetString(Textdraw0[playerid],string);
return 1;
}
 
 
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid, bodypart)
{
    new playerhp[41];
GetPlayerHealth(playerid,Float:HP);
format(playerhp,sizeof(playerhp),"%.1f %%",HP);
TextDrawSetString(Textdraw0[playerid], playerhp);
return 1;
}

 

 

 
Link to comment
Share on other sites

  • 0

logicky přece nemůžeš zapsat float do integeru..

změn datový typ proměnné HP, uprav formátování znaménka '%' (viz. zde )a doporučuju ti změnit textdraw na playertextdraw

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...