Problem(error/warning): Kako da napeavim ako igrac ima malo hp da ga kao na pod baci ona animacija i da je kao nokan i umire npr za 20 sec?
Dio skripte:
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log):
Slika/video ingame problema(obavezno ako je ingame problem):
Kako napraviti knock sys?
571
pregleda
6
postova
21. Dec. 2019.
21. Dec. 2019.
Bavis se skriptanjem 4-5 godina a ne znas to da napravis? napravis provjeru koliko ima healtha kao sto je rekao djuk1c na onplayerdamage ako ima toliko healtha stavis mu animaciju i smanjujes mu health, najbolje bi bilo sa tajmerom
21. Dec. 2019.
TimurSkripter wrote on December 21, 2019, 2:08 pm:
Stv ne znam ako bi mogao help? Kako?
Evo, razbacan je kod jer sada stvarno nemam vremena, nadam se da radi (nisam testirao).
Cak i ako ne radi, nadam se da sam ti objasnio, pa ces sam shvatiti.
Ako koristis weapon-config include moraces da zamenis ovo sa public OnPlayerDamage(&playerid, &Float:amount, &issuerid, &weapon, &bodypart)
new damageTimer;
new timerApplied = false;
public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)
{
new Float:playerHealth; //pravimo health varijablu
GetPlayerHealth(playerid, playerHealth); //storujemo current health u tu varijablu
if (playerHealth < 20 && timerApplied == false) //checkujemo da li je health manji od 20
{
ApplyAnimation(playerid, "PED", "KO_shot_stom", 4.1, 1, 1, 1, 1, 1, 1); //apply animation
TogglePlayerControllable(playerid, false); //freeze
damageTimer = SetTimerEx("HealthDown", 1000, true, "i", playerid); //timer za skidanje healtha
timerApplied = true; //ovo je da se tajmer ne bi pokretao stalno, jer kada dole u funkciji oduzmes health igracu to se racuna
//kao damage (koliko ja znam), pa da se ne bi startao ovaj tajmer svaki put, vec samo jednom.
}
return 0;
}
forward HealthDown(playerid);
public HealthDown(playerid)
{
new Float:currentHealth; //varijabla za trenutni health
GetPlayerHealth(playerid, currentHealth); //storujemo health ovde
if (currentHealth == 0) //ako je health 0 (znaci player je mrtav)
{
KillTimer(damageTimer); //gasimo tajmer
timerApplied = false; //vracamo onaj boolean na false da bi sledeci put mogli da pokrenemo tajmer kada je igracev health ispod 20
}
else
{
SetPlayerHealth(playerid, currentHealth - 2); //ako igrac nije mrtav, oduzimamo mu 2 healtha
}
}
21. Dec. 2019.
Hvala mnogo, ali mi izbacuje tagsmitch na ovoj liniji:Ž
if(playerHealth < 20 && timerApplied == false) ??
if(playerHealth < 20 && timerApplied == false) ??
Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava
