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)://
Bump !
Ajde malo pojasni da mozemo da ti pomognemo !!
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 ?
"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
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
}
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.
:@
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...
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;
}