Kako napraviti knock sys?

Započeo TimurSkripter
21. Dec. 2019.
571
pregleda
6
postova
TimurSkripter
3
Wheel Man
21. Dec. 2019.
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):
Djuk1c
3
Wheel Man
21. Dec. 2019.
Ako se ne varam, mozes OnPlayerDamage da napravis check da li player ima toliko helta koliko hoces, ako ima setas mu animaciju (freeze ako treba) i dodas tajmer da mu se smanjuju helti.
TimurSkripter
3
Wheel Man
21. Dec. 2019.
Stv ne znam ako bi mogao help? Kako?
AndroCorleone
5
OG Legend
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
Djuk1c
3
Wheel Man
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
}
}
TimurSkripter
3
Wheel Man
21. Dec. 2019.
Hvala mnogo, ali mi izbacuje tagsmitch na ovoj liniji:Ž
if(playerHealth < 20 && timerApplied == false) ??

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha