[TRAŽIM INCLUDE] Health se smanjuje svaku minutu

Započeo GloomY
6. Jan. 2010. Zaključano
5,717
pregleda
37
postova
haxby
3
Hustler
6. Jan. 2010.
Ovako, dakle treba mi include za skriptu gdje se smanjuje heath. Imam jedan gamemode, ali ne smanjuje se health, nego stalno stoji na 100hp, naravno osim ako se sam ne ozlijediš ili te netko ozlijedi. Znate na što mislim. Dakle, da se samo smanjuje health, kao na svim RP serverima. Hvala puno.
Deleted User
Obrisan korisnik
6. Jan. 2010.
haxby wrote on January 6, 2010, 8:26 pm:
Ovako, dakle treba mi include za skriptu gdje se smanjuje heath. Imam jedan gamemode, ali ne smanjuje se health, nego stalno stoji na 100hp, naravno osim ako se sam ne ozlijediš ili te netko ozlijedi. Znate na što mislim. Dakle, da se samo smanjuje health, kao na svim RP serverima. Hvala puno.

koji mod koristis😕.....btw skini odavde neki GF mod i nadji tu skriptu.....
Deleted User
Obrisan korisnik
6. Jan. 2010.
kakav include, napravi to sa timerom... pronadji jedan timer od 60 sek ili ako nemas napravi novi i to ovako:
pod:
public OnGameModeInit()

stavi:
SetTimer("HealthSmanjenje",60000,1);// 1 minut timer, mozes i razlicito stavit, 1000ms = 1s

forward HealthSmanjenje();

public HealthSmanjenje()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
                      if(gPlayerLogged == 1)//gledas dali je logiran jer inace nema potrebe da smanjuje health za tog igraca
                      {
                              SetPlayerHealth(i, -5.0);//recimo da se smanji za 5healtha(100 je pun indikator)
                      }
}
}
}

ovo zadnje stavi kod nekih public funkcija tako da ne stavis pod neki callback... i eto, to je sva filozofija
haxby
3
Hustler
6. Jan. 2010.
Hvala puno, sada ću isprobati. Inače, znam da za vas to nije neka filozofija, ali ja sam novi u skriptanju i za mene je to puno. Hvala
Ukoliko nebude radilo, ovdje ću vam odgovoriti.

EDIT : Stavio sam sve kako si mi rekao, ali mi ne smanji hp, nego me skroz ubije, što znači da kraja smanji hp. Probao sam i vidio, dakle bez obzira koliko mi je hp, umrijet ću. Samo da vam napomenem još da nije potpuno GF skriptanje, nego nešto slično.
Deleted User
Obrisan korisnik
6. Jan. 2010.
da, zaboravio sam da f-ja SetPlayerHealth vise ne uzima float...

umjesto SetPlayerHealth(i, -5.0); stavi SetPlayerHealth(i, -5)
John
4
Enforcer
6. Jan. 2010.
ili da stavi
new health;
GetPlayerHealth(i,health);
SetPlayerHealth(i, health -5);
Deleted User
Obrisan korisnik
6. Jan. 2010.
John wrote on January 6, 2010, 9:45 pm:
ili da stavi
new health;
GetPlayerHealth(i,health);
SetPlayerHealth(i, health -5);


da u pravu si, nisam uzimao health, uopce nisam gledao... omg

samo mora malo drugacije nego si napisao jer getplayerhealth uzima float...
ovako stavi
new Float:health;
GetPlayerHealth(playerid,health);
SetPlayerHealth(i, floatround(health)-5);


moras prebacit float u cijeli broj jer su u 0.3 napravili da getplayerhealth uzima float vrijednost, a setplayerhealth ne radi sa floatom... bezveze ali je tako...
JoeBullet v2.1
4
Enforcer
6. Jan. 2010.
zerocoolos wrote on January 6, 2010, 8:47 pm:
kakav include, napravi to sa timerom... pronadji jedan timer od 60 sek ili ako nemas napravi novi i to ovako:
pod:
public OnGameModeInit()

stavi:
SetTimer("HealthSmanjenje",60000,1);// 1 minut timer, mozes i razlicito stavit, 1000ms = 1s

forward HealthSmanjenje();

public HealthSmanjenje()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
                       if(gPlayerLogged == 1)//gledas dali je logiran jer inace nema potrebe da smanjuje health za tog igraca
                       {
                              SetPlayerHealth(i, -5.0);//recimo da se smanji za 5healtha(100 je pun indikator)
                       }
}
}
}

ovo zadnje stavi kod nekih public funkcija tako da ne stavis pod neki callback... i eto, to je sva filozofija


Ovdje ti uopce ne treba IsPlayerConnected. Kao prvo sve funkcije koje ukljucuje playera imaju ugraden check jeli konektan, drugo gPlayerLogged kolko se sjecam stavlja se kada se logira. Znaci radis ovako 3*MAX_PLAYERS loopova umjesto 2*MAX_PLAYERS loopova.
Capone
4
Shot Caller
7. Jan. 2010.
JoeBullet v2.1 wrote on January 6, 2010, 8:47 pm:
kakav include, napravi to sa timerom... pronadji jedan timer od 60 sek ili ako nemas napravi novi i to ovako:
pod:
public OnGameModeInit()

stavi:
SetTimer("HealthSmanjenje",60000,1);// 1 minut timer, mozes i razlicito stavit, 1000ms = 1s

forward HealthSmanjenje();

public HealthSmanjenje()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
                       if(gPlayerLogged == 1)//gledas dali je logiran jer inace nema potrebe da smanjuje health za tog igraca
                       {
                              SetPlayerHealth(i, -5.0);//recimo da se smanji za 5healtha(100 je pun indikator)
                       }
}
}
}

ovo zadnje stavi kod nekih public funkcija tako da ne stavis pod neki callback... i eto, to je sva filozofija


Ovdje ti uopce ne treba IsPlayerConnected. Kao prvo sve funkcije koje ukljucuje playera imaju ugraden check jeli konektan, drugo gPlayerLogged kolko se sjecam stavlja se kada se logira. Znaci radis ovako 3*MAX_PLAYERS loopova umjesto 2*MAX_PLAYERS loopova.

pa omg on je stavio gPlayerLogged == 1 (znaci ako je logiran da mu krene timer) i to je dobro stavio... jer budimo realni kaj ce ic timer ako nije logiran tako da...
John
4
Enforcer
7. Jan. 2010.
po ovome sto ti kazes, ispada da nemas pojma,

1. timer je krenuo cim je stavio SetTimer,...
2. Bullet govori kako u ovom loopu ima "3 loopa" kroz IsPlayerConnected pri kojem prvo provjerava dal je spojen, drugi gPlayerLogged koji u tim spojenim provjerava dal su prijavljeni, te 3 ili ti ovaj prvi koji zatvara IsPlayerConnected i gPlayerLogged u sebe.

Sad neznam dal je to dovoljno dobro objasnjeno ali blizu sam  😁
Deleted User
Obrisan korisnik
7. Jan. 2010.
John wrote on January 7, 2010, 1:45 am:
po ovome sto ti kazes, ispada da nemas pojma,

1. timer je krenuo cim je stavio SetTimer,...
2. Bullet govori kako u ovom loopu ima "3 loopa" kroz IsPlayerConnected pri kojem prvo provjerava dal je spojen, drugi gPlayerLogged koji u tim spojenim provjerava dal su prijavljeni, te 3 ili ti ovaj prvi koji zatvara IsPlayerConnected i gPlayerLogged u sebe.

Sad neznam dal je to dovoljno dobro objasnjeno ali blizu sam  😁


tehnički nisi u pravu, ne radi tri loopa za jedan id, vec je manji posao do toga, jer da radi tri loopa onda bi u svakom loopu morao i health podesavat ali to ne radi za one koji nisu logirani i konektirani(ovo naravno ne treba vec sam to beze stavio), vec samo ili prodje ili ne prodje provjeru i tu zavrsi za taj id kroz koji ide loop, tako da nije niti bullet u pravu a niti si ti, ustvari i jedan i drugi ste pomalo u pravu 😉
jer kad pogledas nije isto:
npr
ako je neki broj a: a>1, ako je onda provjerava jel a>2 i ako je onda ide recimo se netko iz mase bacit sa mosta.
To jesu dvije provjere prije izvrsenja onoga sto zelimo. Ali recimo da 50 posto do mase koja recimo broji 100 ljudi nece proci provjeru, na prvoj, a na drugoj ce proci samo 25 posto i to te dovodi do racunice da je izvrsio 100 radnji provjere na prvoj provjeri(a>1) + 50 radnji provjere na drugoj(a>2) + 25 izvrsavanja onoga da se baci sa mosta = 175 obavljanih radnji u loopu.

A da radi kao sto bullet 3 loopa ili dva, onda bi to bilo za 3 loopa:
na masi od 100 ljudi prvi loop ide 100 ljudi, pa drugi loop ide 100 i treci ide 100 jer svaka provjera je za njega poseban loop od te mase i to te dovodi do 300+25 izvrsavanja jer samo oni zadovoljavaju = 325 obavljanih radnji. znaci nije tocno.
Tako je i za 2 loopa = 225 opet je vise nego sto kaze...
Logika dovodi do toga da nisi u pravu bullet i nece se toliko puta izvrsiti koliko si ti mislio da hoce, naravno da je bolje da je samo jedna provjera samo jel logiran ali tu opet pogledaj svoju racunicu i opet te dovodi da sigurno nece toliko puta izvrsiti koliko si ti rekao, jer ako imam samo provjeru jel logiran izvrsit ce se 200 puta maksimalno(100 provjera+100 ljudi se baca sa mosta), a za tvoju racunicu dva loopa(kad je u loopu jedna provjera) je to 100 prvi loop, 100 drugi loop+ sa drugim loopom i 100 bacanja ljudi sa mosta = 300...

nikako ovo moze biti isto

Ovo je cista logika, ne moras imat nikakvo znanje programiranja za ovo....

E sad tko ce ovo shvatit super, tko ne zao mi je, bullet zasigurno hoce 😉
Capone
4
Shot Caller
7. Jan. 2010.
John wrote on January 7, 2010, 1:45 am:
po ovome sto ti kazes, ispada da nemas pojma,

1. timer je krenuo cim je stavio SetTimer,...
2. Bullet govori kako u ovom loopu ima "3 loopa" kroz IsPlayerConnected pri kojem prvo provjerava dal je spojen, drugi gPlayerLogged koji u tim spojenim provjerava dal su prijavljeni, te 3 ili ti ovaj prvi koji zatvara IsPlayerConnected i gPlayerLogged u sebe.

Sad neznam dal je to dovoljno dobro objasnjeno ali blizu sam  😁


gledaj taj timer nece napraviti nista ako igrac uopce nije logiran... znaci nece mu smanjiti taj health... koda nije ni krenuo ako razumijes sta ocu rec... a kolko vidim ne... tako da... tisina... i druga stvar ja nisam pricao za IsPlayerConnected samo za gPlayerLogged zato ajde molim te drugi puta kad pises procitaj prvo sto sam napiso... a to sto ti mislis da ja pojma nemam to je tvoja stvar... niti te znam nit poznam tako da me tvoje misljenje niti najmanje ne dira...
JoeBullet v2.1
4
Enforcer
7. Jan. 2010.
zerocoolos wrote on January 7, 2010, 1:45 am:
po ovome sto ti kazes, ispada da nemas pojma,

1. timer je krenuo cim je stavio SetTimer,...
2. Bullet govori kako u ovom loopu ima "3 loopa" kroz IsPlayerConnected pri kojem prvo provjerava dal je spojen, drugi gPlayerLogged koji u tim spojenim provjerava dal su prijavljeni, te 3 ili ti ovaj prvi koji zatvara IsPlayerConnected i gPlayerLogged u sebe.

Sad neznam dal je to dovoljno dobro objasnjeno ali blizu sam  😁


tehnički nisi u pravu, ne radi tri loopa za jedan id, vec je manji posao do toga, jer da radi tri loopa onda bi u svakom loopu morao i health podesavat ali to ne radi za one koji nisu logirani i konektirani(ovo naravno ne treba vec sam to beze stavio), vec samo ili prodje ili ne prodje provjeru i tu zavrsi za taj id kroz koji ide loop, tako da nije niti bullet u pravu a niti si ti, ustvari i jedan i drugi ste pomalo u pravu 😉
jer kad pogledas nije isto:
npr
ako je neki broj a: a>1, ako je onda provjerava jel a>2 i ako je onda ide recimo se netko iz mase bacit sa mosta.
To jesu dvije provjere prije izvrsenja onoga sto zelimo. Ali recimo da 50 posto do mase koja recimo broji 100 ljudi nece proci provjeru, na prvoj, a na drugoj ce proci samo 25 posto i to te dovodi do racunice da je izvrsio 100 radnji provjere na prvoj provjeri(a>1) + 50 radnji provjere na drugoj(a>2) + 25 izvrsavanja onoga da se baci sa mosta = 175 obavljanih radnji u loopu.

A da radi kao sto bullet 3 loopa ili dva, onda bi to bilo za 3 loopa:
na masi od 100 ljudi prvi loop ide 100 ljudi, pa drugi loop ide 100 i treci ide 100 jer svaka provjera je za njega poseban loop od te mase i to te dovodi do 300+25 izvrsavanja jer samo oni zadovoljavaju = 325 obavljanih radnji. znaci nije tocno.
Tako je i za 2 loopa = 225 opet je vise nego sto kaze...
Logika dovodi do toga da nisi u pravu bullet i nece se toliko puta izvrsiti koliko si ti mislio da hoce, naravno da je bolje da je samo jedna provjera samo jel logiran ali tu opet pogledaj svoju racunicu i opet te dovodi da sigurno nece toliko puta izvrsiti koliko si ti rekao, jer ako imam samo provjeru jel logiran izvrsit ce se 200 puta maksimalno(100 provjera+100 ljudi se baca sa mosta), a za tvoju racunicu dva loopa(kad je u loopu jedna provjera) je to 100 prvi loop, 100 drugi loop+ sa drugim loopom i 100 bacanja ljudi sa mosta = 300...

nikako ovo moze biti isto

Ovo je cista logika, ne moras imat nikakvo znanje programiranja za ovo....

E sad tko ce ovo shvatit super, tko ne zao mi je, bullet zasigurno hoce 😉

ma nisam ja mislio doslovno koliko ce ici puta nego da ce 3x loop ici ( znaci 1x ne treba ) za IsPlayerConnected
Deleted User
Obrisan korisnik
7. Jan. 2010.
ma znam joe, zato sam i napisao da ces ti shvatit primjer 😉
ostali ce se samo pridruzit i vidi kao i oni kontaju, al ima jedan greska sto sam napisao  😛
John
4
Enforcer
7. Jan. 2010.
Zato jesu gore navodnici pod "3 loopa".

A ti Capone malo se skoncentriraj i slusaj se, lako je bit borac poslje bitke, kladim se u kolko god oces novaca da nisi ni procitao post od zerocoolsa. Nema "ko da nije krenuo" kad je to globalni timer koji krece kad se mod u kojem je pokrene, procitaj malo SetTimer funkciju i bit ce ti jasno.
To sto ne radi nista tom igracu, o bome bogami i njega loopa ili po tvome misljenju ne? i loopa samo konektirane igrace kazes?

covjece nemoj me nasmijavat i malo pazi kome ces tisina govorit ubuduce

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha