Wysłany: 2013-06-28, 15:55
matiosek70
Wiek: 29 Na forum: 5213 dni Posty: 58
Piwa : 64
Witam zrobi?em system energi i mam problem taki ?e jak energia spada do 0 to nie zatrzymuje sie tylko leci -1, -2, -3 ... itd. Oraz gry gracz wbije na serwer ma 0 energi na start a chcia?bym ?eby mia? 700.
G?ra mapy:
Kod: new E[MAX_PLAYERS];
new Text:energia[MAX_PLAYERS];
Textdraw
Kod: for(new i=0;i<MAX_PLAYERS;i++)
{
energia[i] = TextDrawCreate(65.000000, 435.000000, "E:");
TextDrawBackgroundColor(energia[i], 255);
TextDrawFont(energia[i], 1);
TextDrawLetterSize(energia[i], 0.500000, 1.300000);
TextDrawColor(energia[i], -65281);
TextDrawSetOutline(energia[i], 1);
TextDrawSetProportional(energia[i], 1);
}
Ongamemodeinit
Kod: SetTimer("Energia", 1000, true); //system energi
SetTimer("odejmije", 20000, true); //odejmuje e co 20 s
SetTimer("sprawdze", 1000, true); //sprawdza ilo?c e co 1 s
OnplayerConnect
Kod: TextDrawShowForPlayer(i, energia[i]);
Callback na ?adowanie sie energi
Kod: forward Energia();
public Energia()
{
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i))
{
if(IsPlayerInRangeOfPoint(i,50.0, 2252.4897,2486.6354,10.9908))
{
TextDrawShowForPlayer(i, plusik1[i]);
TextDrawShowForPlayer(i, plusik2[i]);
E[i]++;
}
else
{
TextDrawHideForPlayer(i, plusik1[i]);
TextDrawHideForPlayer(i, plusik2[i]);
}
}
}
return 1;
}
Oraz jeszcze formatowanie textdrawa i odejmowanie energi
Kod: forward odejmije(playerid);
public odejmije(playerid)
{
E[playerid]--;
return 1;
}
forward sprawdze(playerid);
public sprawdze(playerid)
{
for(new i;i<MAX_PLAYERS;i++)
{
new string[300];
format(string, sizeof(string), "E: %d", E[i]);
TextDrawSetString(energia[i], string);
if(E[playerid] <= 50)
{
format(string, sizeof(string), "E: ~r~%d", E[i]);
TextDrawSetString(energia[i], string);
}
if(E[playerid] <= 0)
{
format(string, sizeof(string), "E: ~r~-");
TextDrawSetString(energia[i], string);
}
}
return 1;
}
Z g?ry thx za pomoc. Daje oczywi?cie respa i piwka ;D
Wysłany: 2013-06-28, 16:16
xqz
otaku desu!
Wiek: 32 Na forum: 6406 dni Posty: 723
Nick w MP: xqz
Piwa : 5465
Kod:
forward sprawdze();
public sprawdze()
{
for(new i;i<MAX_PLAYERS;i++)
{
if(E[i] > 0)
E[i]--;
new string[300];
format(string, sizeof(string), "E: %d", E[i]);
TextDrawSetString(energia[i], string);
if(E[playerid] <= 50)
{
format(string, sizeof(string), "E: ~r~%d", E[i]);
TextDrawSetString(energia[i], string);
}
if(E[playerid] <= 0)
{
format(string, sizeof(string), "E: ~r~-");
TextDrawSetString(energia[i], string);
}
}
return 1;
}
Timer sprawdze + energia mozna polaczyc bo oba wykonuja sie po sekundzie.
Po za tym, w OnPlayerConnect dodaj: Kod:
Ostatnio zmieniony przez xqz 2013-06-28, 17:00, w całości zmieniany 1 raz
Tagi: energia
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: