[Pomoc]Vrjeme


Započeo Erorche, April 01, 2012, 22:37:08 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim: Moje u izrade
Detaljan opis problema: sada imam skripte za da legacu MD kad umre i sada kako da napravim /time i ako je vo MD da pokazuje jos koliko sec/min je vo MD ?
Dio skripte: ako treba dacu..
Neke slike/video za lakse dobivanje pomoci(neobavezno)://
Macedonia <3 !


Ajde malo pojasni da mozemo da ti pomognemo !!
Izvinjavam se na svim glupostima i ako sam nekome napisao nesto lose, neko drugi je koristio moj profil!
__________________________________________
https://bk.gta.world - GTA World Balkan - RAGEMP

neli kada ukucas /time ti pokazuje Min i sada kako da napravam kada ukucate /time da pokazuje Vreme za MD kad umres ti se odbrojuva ?
Macedonia <3 !

"Imam skriptu, kad netko umre stvori se u lezecem polozaju u MD-u, kako da napravim timer da pokazuje kolko se on jos mora "oporavljat"u tom lezecem polozaju"?

na to mislis?  :D

Snich

Pa, moras imati naprimjer neki interijer sa medicinskim krevetima. Onda spremis pozicije kamere:
Ovo su pozicije koje ce "gledat" u krevete medicinske sobe/prostorije ...
SetPlayerCameraPos
SetPlayerCameraLookAt


Onda dajemo forward za tajmer:

forward Hospital(playerid);


Nakon toga odredis pozicije na svakom od kreveta i podesis random pozicije, tj. da igrac kada umre, random se pozicionira na jedan od kreveta ...

Nakon toga na public SetPlayerSpawn dodajes slijedece:

if(MedicBill[playerid] == 1 && PlayerInfo[playerid][pJailed] == 0)
{
  	if(FirstSpawn[playerid] != 1)
        {
   		SetPlayerCameraPos(playerid, X,Y,Z); //Koordinate
		SetPlayerCameraLookAt(playerid, X,Y,Z); //Koordinate 
		PlayerInfo[playerid][pDeaths] += 1;
		SetPlayerHealth(playerid, 50.0);
   		SetPlayerInterior(playerid, 0); //ID interiora
		SetPlayerFacingAngle(playerid, 120);
   		TogglePlayerControllable(playerid, 0);
      		switch(random(4))
	{
		case 0: SetPlayerPos(playerid, X,Y,Z); //pozicija kreveta 1.
		case 1: SetPlayerPos(playerid, X,Y,Z); //pozicija kreveta 2.
		case 2: SetPlayerPos(playerid, X,Y,Z); //pozicija kreveta 3.
		case 3: SetPlayerPos(playerid, X,Y,Z); //pozicija kreveta 4.
	}
       		SetTimerEx("Hospital", 60000, 0, "i", playerid); //aktivira se tajmer za vrijeme koje ce igrac provest u lezecem polozaju ...
	        ApplyAnimation(playerid, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0); //animacija igraca
	        GameTextForPlayer(playerid, "~w~Ozivjet cete za 60 sec ...", 30000, 4);
	}
}


Nakon toga nam jos samo preostaje da dodamo public za tajmer i to je to ...

public Hospital(playerid)
{
	TogglePlayerControllable(playerid, 1);
	SetCameraBehindPlayer(playerid);
	SetPlayerHealth(playerid, 100.0);
	SetPlayerPos(playerid, X,Y,Z); //Koordinate na koje ce se igrac spawnat, prilikom izlaska iz bolnice
}


Mr.Gagi

Em je mogao ako koristi jedan global timer jer je bolje. A aj moze i ovako ali to ce biti previse timer-a pokrenutih.
Em ovaj timer: SetTimerEx("Hospital", 60000, 0, "i", playerid); //aktivira se tajmer za vrijeme koje ce igrac provest u lezecem polozaju ...
On se mora killati kada se zavrsi!
Znaci kada ga dodaje npr:
//Gore dodas
new hTimer[MAX_PLAYERS];
//Taj timer po to gde je bio:
hTimer[playerid] = SetTimerEx("Hospital", 60000, 0, "i", playerid); //aktivira se tajmer za vrijeme koje ce igrac provest u lezecem polozaju ...
//I u public
public Hospital(playerid)
{
	TogglePlayerControllable(playerid, 1);
	SetCameraBehindPlayer(playerid);
	SetPlayerHealth(playerid, 100.0);
	SetPlayerPos(playerid, X,Y,Z); //Koordinate na koje ce se igrac spawnat, prilikom izlaska iz bolnice
        KillTimer(hTimer[playerid])
}

Citat: [BD:RP]Mr.Gagi poslato April 03, 2012, 08:09:02 PRE PODNE
Em je mogao ako koristi jedan global timer jer je bolje. A aj moze i ovako ali to ce biti previse timer-a pokrenutih.
Em ovaj timer: SetTimerEx("Hospital", 60000, 0, "i", playerid); //aktivira se tajmer za vrijeme koje ce igrac provest u lezecem polozaju ...
On se mora killati kada se zavrsi!
Znaci kada ga dodaje npr:
//Gore dodas
new hTimer[MAX_PLAYERS];
//Taj timer po to gde je bio:
hTimer[playerid] = SetTimerEx("Hospital", 60000, 0, "i", playerid); //aktivira se tajmer za vrijeme koje ce igrac provest u lezecem polozaju ...
//I u public
public Hospital(playerid)
{
	TogglePlayerControllable(playerid, 1);
	SetCameraBehindPlayer(playerid);
	SetPlayerHealth(playerid, 100.0);
	SetPlayerPos(playerid, X,Y,Z); //Koordinate na koje ce se igrac spawnat, prilikom izlaska iz bolnice
        KillTimer(hTimer[playerid])
}


Sve je oke to što si rekao, ali timer koji se samo jednom ponavlja - sam se i gasi. Tako da nema potrebe za KillTimer funkcijom.

Last nick: Paradox

:@
ovako ja imam skriptu za legajne MD sad mi treba /time kad upisuje nekog igraca /time i ako e vo Bolnicu da pokazuje Legate vo Bolnicu: Min/Sec vo /time...
Macedonia <3 !

Snich

Citat: tonchi ;) poslato April 03, 2012, 12:09:38 POSLE PODNE
:@
ovako ja imam skriptu za legajne MD sad mi treba /time kad upisuje nekog igraca /time i ako e vo Bolnicu da pokazuje Legate vo Bolnicu: Min/Sec vo /time...
Kralju, jel ti gledas prosle postove, napisao sam ti kako da napravis to sto zelis.

Lol,Ja hocem ovdje krale :))))
if(strcmp(cmd, "/time", true) == 0 || strcmp(cmd, "/vreme", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
		{
		    new mtext[20];
			new year, month,day;
			getdate(year, month, day);
			if(month == 1) { mtext = "Januar"; }
			else if(month == 2) { mtext = "Februar"; }
			else if(month == 3) { mtext = "Mart"; }
			else if(month == 4) { mtext = "April"; }
			else if(month == 5) { mtext = "Maj"; }
			else if(month == 6) { mtext = "Jun"; }
			else if(month == 7) { mtext = "Jul"; }
			else if(month == 8) { mtext = "Avgust"; }
			else if(month == 9) { mtext = "Septembar"; }
			else if(month == 10) { mtext = "Oktobar"; }
			else if(month == 11) { mtext = "Novembar"; }
			else if(month == 12) { mtext = "Decembar"; }
		    new hour,minuite,second;
			gettime(hour,minuite,second);
			FixHour(hour);
			hour = shifthour;
			if (minuite < 10)
			{
				if (PlayerInfo[playerid][pJailTime] > 0)
				{
				    if(PlayerInfo[playerid][pWatch] == 1)
				    {
						format(string, sizeof(string), "~y~%d %s~n~~g~|~w~%d:0%d~g~|~n~~w~Jail Vremena ostalo: %d sec", day, mtext, hour, minuite, PlayerInfo[playerid][pJailTime]-10);
					}
					else
					{
					    format(string, sizeof(string), "~w~Zatvorska kazna: %d sec", PlayerInfo[playerid][pJailTime]-10);
					}
				}
				else
				{
				    if(PlayerInfo[playerid][pWatch] == 1)
				    {
						format(string, sizeof(string), "~y~%d %s~n~~g~|~w~%d:0%d~g~|", day, mtext, hour, minuite);
					}
					else
					{
					    format(string, sizeof(string), "~r~Nemate sat");
					}
				}
			}
			else
			{
				if (PlayerInfo[playerid][pJailTime] > 0)
				{
				    if(PlayerInfo[playerid][pWatch] == 1)
				    {
						format(string, sizeof(string), "~y~%d %s~n~~g~|~w~%d:%d~g~|~n~~w~Zatvorska kazna: %d sec", day, mtext, hour, minuite, PlayerInfo[playerid][pJailTime]-10);
					}
					else
					{
					    format(string, sizeof(string), "~w~Zatvorska kazna: %d sec", PlayerInfo[playerid][pJailTime]-10);
					}
				}
				else
				{
				    if(PlayerInfo[playerid][pWatch] == 1)
				    {
						format(string, sizeof(string), "~y~%d %s~n~~g~|~w~%d:%d~g~|", day, mtext, hour, minuite);
					}
					else
					{
					    format(string, sizeof(string), "~r~Nemate sat");
					}
				}
			}
			GameTextForPlayer(playerid, string, 5000, 1);
			GetPlayerNameEx(playerid, sendername, sizeof(sendername));
			if(PlayerInfo[playerid][pWatch] == 1)
			{
			    if(PlayerInfo[playerid][pPol] == 1) { format(string, sizeof(string), "* %s podize ruku i gleda koliko je sati.", sendername); }
			    else { format(string, sizeof(string), "* %s podize ruku i gleda koliko je sati.", sendername); }
				ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
			}
			ApplyAnimation(playerid,"COP_AMBIENT","Coplook_watch",4.1,0,0,0,0,0);
		}
		return 1;
	}
Macedonia <3 !