[Pomoc] Ako igrac ima malo hp da lezi na ulici


Započeo salews, Jun 11, 2014, 21:32:11 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

salews

Skripta koju koristim:Raven's
Detaljan opis problema:Pa pokusavao sam da napravim jednostavan sistem ako igrac dodje do 10helti da mu cikac padne na zemlju tacnije ona animacija kao da je tesko ranjen i da je na zemlji i da nemoze ustati ako ne prihvati smrt ili ako ne pozove hitnu.
Dakle kako da napravim da igrac ne moze prekinuti tu animaciju i da ne moze ustati..
I zasto ako igrac ima 10hp ne padne dole a pod taj dio sam stavio i jos sam napravio komandu za prihvati smrt...

Edit:
                               
new Float:health;
				GetPlayerHealth(i, health);
				if(health < 10)
    			{
     				if(!IsPlayerInAnyVehicle(i))
 					LoopingAnim(i, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0); // Dieing of Crack
					SCM(i, COLOR_RED, "Gladni ste, morate da jedete ili cete umreti.");
					{
						SCM(i, COLOR_WHITE, "KORISTITE: /prihvatismrt ili /call 103 da pozovete hitnu pomoc!");
                    }
					SafeSetPlayerHealth(i, health - 2.0);
					return 1;
				}
				else if(health < 10)
				{
					SCM(i, COLOR_LIGHTBLUE, "Gladni ste, morate da jedete ili cete umreti.");
				 	LoopingAnim(i, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0); // Dieing of Crack
				}
				SafeSetPlayerHealth(i, health - 5.0);
			}
			SyncPlayerTime(i);
		}
	}
Poslednja Izmena: Jun 11, 2014, 21:34:49 POSLE PODNE od salews

pa koristis 
TogglePlayerControllable(playerid,0);
da nemozes ustati dok nezovne

i zasto neradis ovu proveru pod OnPlayerUpdate?
69

salews

jaoo,ja i zaboravio toogleplayer lol,pojasni mi dole sta treba pod to,jel treba kakve provjere ako igrac ima odredjeni broj helti ?



public OnPlayerUpdate(playerid)
{
                                new Float:health;
				GetPlayerHealth(playerid, health);
				if(health < 10)
    			       {
     				        if(!IsPlayerInAnyVehicle(playerid)) 
                                        {
                                         TogglePlayerControllable(playerid,0);
 					LoopingAnim(playerid, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0); 
                                        }
                               }
                               return true;
}
Poslednja Izmena: Jun 11, 2014, 21:56:24 POSLE PODNE od [SF]C++
69

salews

Vec mi je definisan taj public jel mogu da stavim updater umjesto update valjda ce da ga ocita kad bude ocitavalo iznad onaj pravi.

Citat: salews poslato Jun 12, 2014, 12:59:43 POSLE PODNE
Vec mi je definisan taj public jel mogu da stavim updater umjesto update valjda ce da ga ocita kad bude ocitavalo iznad onaj pravi.
pa uvrsti ovo u call back koji sam ti dao posto ga imas samo ovo ubacis

new Float:health;
				GetPlayerHealth(playerid, health);
				if(health < 10)
    			       {
     				        if(!IsPlayerInAnyVehicle(playerid)) 
                                        {
                                         TogglePlayerControllable(playerid,0);
 					LoopingAnim(playerid, "CRACK", "crckdeth2", 4.1,0,1,1,1,1); 
                                        }
                               }
Poslednja Izmena: Jun 12, 2014, 13:04:16 POSLE PODNE od [SF]C++
69

salews

Ok,mozes li jos staviti ovdje ako igracu se nadopune helti da moze ustati i hodati..
Zaboravio sam funkciju treba koliko ja znam
else  if(health > 10)

TogglePlayerControllable(playerid,0);
tako nekako :D

pa sto ce ti jer ce to biti samo ako igrac ima manje od 10 ostalo se biti normalno bez ikakve provere
69

salews

napravio sam ja kada ima igrac manje od 11hp da lezi na zemlji i da nemoze ustat i to dobro radi,a sta kad pozove hitnu i kad mu oni dodju i kad mu nadopune helte,on moze ustati desnim klikom ali ne moze hodati...to je problem zato ti kazem

pa uklonis mu animaciju i toggle mu stavis na true kad ga izlece.
69

salews

Ovako nesto ?

new Float:health;
		GetPlayerHealth(playerid, health);
		if(health < 11)
	{
		if(!IsPlayerInAnyVehicle(playerid))
   	{
       		TogglePlayerControllable(playerid,0);
       		SCM(playerid, COLOR_WHITE, "KORISTITE: /prihvatismrt ili /call 103 da pozovete hitnu pomoc!");
			LoopingAnim(playerid, "CRACK", "crckdeth2", 4.1,0,1,1,1,1);
			}
			else if (health > 10)
			TogglePlayerControllable(playerid)) true;
   	}


salews

Napravi mi ovdje ako moze da mi ne spama ovaj tekst

new Float:health;
		GetPlayerHealth(playerid, health);
		if(health < 11)
	{
		if(!IsPlayerInAnyVehicle(playerid))
   	{
       		TogglePlayerControllable(playerid,0);
			LoopingAnim(playerid, "CRACK", "crckdeth2", 4.1,0,1,1,1,1);
			}
			{
			SCM(playerid, COLOR_WHITE, "KORISTITE: /prihvatismrt ili /call 103 da pozovete hitnu pomoc!");
			}
   	}



Mislim da treba samo return 1;