Skripta koju koristim:moja
Detaljan opis problema: Napravio sam Bar kao fol za glad sys kako da napravim kada je manje od 20 bar da pokazuje poruku da ste gladni da idete jesti i kako da kada dode na 0 da svaki 3 sec skida po 3 helta
Dio skripte:
ovo je da svaki par sekundi skida sa tog bara healt a kao sto sam gore napiso da kada skine sa tog da onda pravi helth skida ?
public ProgressBar()
{
for(new playerid; playerid < MAX_PLAYERS; playerid++)
{
SetProgressBarValue(hungry[playerid], GetProgressBarValue(hungry[playerid])-2);
}
return 1;
}
Neke slike/video za lakse dobivanje pomoci(neobavezno):
Uradi ovako,
// Ako je manje od 5 da uzima 3 helta.
GetProgressBarValue(hungry[playerid]) < 5) { new Float:health; GetPlayerHealth(i, health); SafeSetPlayerHealth(i, floatsub(health, 3)); }
MeÄ'utim definiÅ¡i tajmer koji radi updejtovanje progress bara i gladi.
možeš odraditi ovako
forward GladanSam();
public GladanSam()
{
foreach (Player, i)
{
if(IsPlayerConnected(i))
{
// Ako je manje od 5 da uzima 3 helta.
GetProgressBarValue(hungry[playerid]) < 5) { new Float:health; GetPlayerHealth(i, health); SafeSetPlayerHealth(i, floatsub(health, 3)); }
// ovde stavi da ti oduzima glad sa bara, na primer 1 glad poen.
// ovde daj update bara
}
}
return 1;
}
I sad na osnovu toga definišeš ovako
SetTimer("GladanSam",VREME, 1);
C:\Users\Nikola\Desktop\UCENJE FUNKCIJA\filterscripts\hunger.pwn(48) : error 017: undefined symbol "playerid"
C:\Users\Nikola\Desktop\UCENJE FUNKCIJA\filterscripts\hunger.pwn(48) : error 029: invalid expression, assumed zero
C:\Users\Nikola\Desktop\UCENJE FUNKCIJA\filterscripts\hunger.pwn(49) : error 017: undefined symbol "playerid"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
3 Errors.
forward GladanSam();
public GladanSam()
{
foreach (Player, i)
{
if(IsPlayerConnected(i))
{
// Ako je manje od 5 da uzima 3 helta.
GetProgressBarValue(hungry[playerid]) < 10) { new Float:health; GetPlayerHealth(i, health); SetPlayerHealth(i, floatsub(health, 3)); } //48 linija
UpdateProgressBar(hungry[playerid], i);
// ovde stavi da ti oduzima glad sa bara, na primer 1 glad poen.
// ovde daj update bara
}
}
return 1;
}
Jao benac ti ko da si pao s marsa :D
Updejtuj foreach ili zameni
foreach (Player, i)
sa
for(new playerid; playerid < MAX_PLAYERS; playerid++)
Niko procitaj na PM i na temu molim te brate
C:\Users\Nikola\Desktop\UCENJE FUNKCIJA\filterscripts\hunger.pwn(48) : warning 215: expression has no effect
C:\Users\Nikola\Desktop\UCENJE FUNKCIJA\filterscripts\hunger.pwn(48) : error 001: expected token: ";", but found ")"
C:\Users\Nikola\Desktop\UCENJE FUNKCIJA\filterscripts\hunger.pwn(48) : error 029: invalid expression, assumed zero
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
2 Errors.
GetProgressBarValue(hungry[playerid]) < 10) { new Float:health; GetPlayerHealth(playerid, health); SetPlayerHealth(playerid, floatsub(health, 3)); } //48 linija
forward GladanSam();
public GladanSam()
{
for(new playerid; playerid < MAX_PLAYERS; playerid++)
{
new Float:health;
GetProgressBarValue(hungry[playerid] < 10) //(46) : warning 213: tag mismatch
GetPlayerHealth(playerid, health); //(47) : error 001: expected token: ";", but found "-identifier-"
SetPlayerHealth(playerid, health-3);
UpdateProgressBar(hungry[playerid], playerid);
}
return 1;
}
tu su errori i oznacene linije
EDIT:
Sry za DP
ja ovo nerazumijem :S kako da tu provjeruju napravim
forward GladanSam();
public GladanSam()
{
for(new playerid; playerid < MAX_PLAYERS; playerid++)
{
new Float:health;
SetProgressBarValue(hungry[playerid], GetProgressBarValue(hungry[playerid] < 10)); //(46) : warning 213: tag mismatch
GetPlayerHealth(playerid, health);
SetPlayerHealth(playerid, health-3);
UpdateProgressBar(hungry[playerid], playerid);
}
return 1;
}
public ProgressBar()
{
for(new playerid; playerid < MAX_PLAYERS; playerid++)
{
SetProgressBarValue(hungry[playerid], GetProgressBarValue(hungry[playerid])-2);
}
return 1;
}
enum PlayerStats
{
Hunger
};
new PInfo[MAX_PLAYERS][PlayerStats];
i meni treba provjera kada dode do 0 da opadaju pravi helti
neradi hungry ti je ovo
hungry[playerid] = CreateProgressBar(548.00, 59.00, 56.50, 3.50, 6883839, 100.0);