Započeo statham.3
•18. Maj 2017.• Zaključano[POMOC] Vreme u zatvoru
868
pregleda
9
postova
Kingpin
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
246 / 250 XP
Početnik(0)
1,322
Postovi:
353
Teme:
Pridružio se:Feb. 2017
18. Maj 2017.
Skripta koju koristim:Hard Core by Delic(UP)
Detaljan opis problema:Hocu da promenim vreme kad pd uhapsi nekoga na koliko sekudni da ide i to kako da promenim
Dio skripte://
Neke slike/video za lakse dobivanje pomoci(neobavezno)://
Detaljan opis problema:Hocu da promenim vreme kad pd uhapsi nekoga na koliko sekudni da ide i to kako da promenim
Dio skripte://
Neke slike/video za lakse dobivanje pomoci(neobavezno)://
OG Legend
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
246 / 250 XP
Početnik(0)
4,398
Postovi:
122
Teme:
Pridružio se:Maj 2016
18. Maj 2017.
Tu se koriste milisekunde, nadji timer gdje pise koliko vremena je igrac u zatvoru i promjeni, 1000 milisekundi je 1 sekunda pa ti racunaj.(valjda sam te shvatio na sta mislis)
Administrator
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP Doprinos20
Saradnik
10 / 500 XP
Doprinosilac(50)
2,744
Postovi:
151
Teme:
Pridružio se:Jul 2011
19. Maj 2017.
evo snippet kako bi trebalo izgledati, nemoj ovo kopirati vec radi po ovome, pisem sa posla ne znam ni jel radi
enum PLAYER_INFO_DATA {
bool:arrested, // varijabla koja cuva informacije o hapsenju
timeCounter // varijabla koja cuva vreme u zatvoru
}
new PlayerInfo;
public OnPlayerConnect(playerid) {
PlayerInfo = false; // stavlja varijablu na negativu
return true;
}
public OnGameModeInit()
{
SetTimer("globalTimer", 1000, true); // postavlja globalni timer koji se izvrsava svake sekunde
return true;
}
command(arrest, playerid, params[]) {
new id,
min, string;
if(sscanf(params, "ui", id, min)) return SendClientMessage(playerid, -1, "Koristi: /arrest [player id] ") // proverava parametre
if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "Id nije ispravan"); // proverava dal je id ispravan
if(PlayerData) return SendClientMessage(playerid, -1, "Igrac je vec zatvoren"); // proverava dal je igrac zatvoren
PlayerData = true; // postavlja varijablu na pozitivnu
PlayerData = min*60; // ovo uzima minute i pretvara u sekunde, 2 min = 120 sek
format(string, sizeof(string), "Stavljeni ste u zatvor na %d minuta.", min);
SendClientMessage(id, -1, string); // formatira i salje poruku
return true;
}
public globalTimer()
{
foreach(new i : Player) { // petlja koja ide kroz sve igrace
if(PlayerInfo) { // provera da li je jedan od igraca uhapsen i izvrsava funkciju na tom igracu (ukoliko ima vise za svakog posebno)
if(PlayerInfo > 0) // ukoliko je vreme vece od 0 >
{
PlayerInfo --; // smanjujemo vreme
}
else // else = ako je vreme 0 ili manje
{
PlayerInfo = 0; // resetujemo, tj, stavljamo na 0
PlayerInfo = false; // postavljamo varijablu uhapsen na negativnu
SendClientMessage(i, -1, "Zatvorska kazna je prosla, sada ste slobodni."); // ispisujemo poruku
}
}
}
return true;
}Godfather
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosAktivan Član
9 / 250 XP
Početnik(1)
2,044
Postovi:
55
Teme:
Pridružio se:Sep. 2013
19. Maj 2017.
Cadilab wrote on May 19, 2017, 11:29 am:
evo snippet kako bi trebalo izgledati, nemoj ovo kopirati vec radi po ovome, pisem sa posla ne znam ni jel radi
enum PLAYER_INFO_DATA {
bool:arrested, // varijabla koja cuva informacije o hapsenju
timeCounter // varijabla koja cuva vreme u zatvoru
}
new PlayerInfo;
public OnPlayerConnect(playerid) {
PlayerInfo = false; // stavlja varijablu na negativu
return true;
}
public OnGameModeInit()
{
SetTimer("globalTimer", 1000, true); // postavlja globalni timer koji se izvrsava svake sekunde
return true;
}
command(arrest, playerid, params[]) {
new id,
min, string;
if(sscanf(params, "ui", id, min)) return SendClientMessage(playerid, -1, "Koristi: /arrest [player id] ") // proverava parametre
if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "Id nije ispravan"); // proverava dal je id ispravan
if(PlayerData) return SendClientMessage(playerid, -1, "Igrac je vec zatvoren"); // proverava dal je igrac zatvoren
PlayerData = true; // postavlja varijablu na pozitivnu
PlayerData = min*60; // ovo uzima minute i pretvara u sekunde, 2 min = 120 sek
format(string, sizeof(string), "Stavljeni ste u zatvor na %d minuta.", min);
SendClientMessage(id, -1, string); // formatira i salje poruku
return true;
}
public globalTimer()
{
foreach(new i : Player) { // petlja koja ide kroz sve igrace
if(PlayerInfo) { // provera da li je jedan od igraca uhapsen i izvrsava funkciju na tom igracu (ukoliko ima vise za svakog posebno)
if(PlayerInfo > 0) // ukoliko je vreme vece od 0 >
{
PlayerInfo --; // smanjujemo vreme
}
else // else = ako je vreme 0 ili manje
{
PlayerInfo = 0; // resetujemo, tj, stavljamo na 0
PlayerInfo = false; // postavljamo varijablu uhapsen na negativnu
SendClientMessage(i, -1, "Zatvorska kazna je prosla, sada ste slobodni."); // ispisujemo poruku
}
}
}
return true;
}Global timer?
Administrator
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP Doprinos20
Saradnik
10 / 500 XP
Doprinosilac(50)
2,744
Postovi:
151
Teme:
Pridružio se:Jul 2011
19. Maj 2017.
Nebitno je to.
Tj, zavisi koliko koda imas u globalnom timeru i da li se izvrsava po grupama ili po igracu.
Istina je da je bolje imati vise tajmera sa manje koda nego manje tajmera sa vise koda.
Tj, zavisi koliko koda imas u globalnom timeru i da li se izvrsava po grupama ili po igracu.
Istina je da je bolje imati vise tajmera sa manje koda nego manje tajmera sa vise koda.
Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava

