Skripta koju koristim: Burn Gaming od 0
Detaljan opis problema: Kako da namestim da samo zaposleni mogu da voze kosilicu? i kako da namestim da treba da se ispuni 4h ugovra da bi ste dali otkaz?
Dio skripte:
otkaz komanda za ugovor :)
YCMD:otkaz(playerid, params[], help)
{
#pragma unused help
if(PlayerInfo[playerid][pPosao] < 1) return SendClientMessage(playerid,-1,"Niste zaposljeni!");
PlayerInfo[playerid][pPosao] = 0;
SendClientMessage(playerid,-1,"Dali ste otkaz");
return true;
}
dobro posto ni payday ni level system nisam jos radio reci mi kako da namestim da samo kosac trave moze da vozi kosilicu? :)
Ovako stavi za ta vozila, samo da se moze vozit kad se zaposlis:
forward KosacVozilo(carid);
new kosacvozilo;
public KosacVozilo(carid)
{
for(new i = 0; i < sizeof(kosacvozilo); i++)
{
if(carid == kosacvozilo[i]) return 1;
}
return 0;
}
//--Ovo dodas u OnPlayerStateChange
if(newstate == PLAYER_STATE_DRIVER)
{
if(KosacVozilo(newcar))
{
if(PlayerInfo[playerid][pJob]== 4) // Stavi svoj ID posla umjesto 4
{
CanTurnEngine[playerid] = newcar;
}
else
{
SafeRemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, COLOR_LIGHTBLUE, "** Nemate kljuceve ovoga vozila!");
}
}
}
// Ovo dodas u OnGamemodeInit
kosacvozilo = AddStaticVehicle(--------------------)
Samo ljepo namjesi ovo, jer nemogu pomaknit s TAB-om...
CMD:otkaz(playerid, params[])
{
new satiposla = 5 - PlayerInfo[playerid][pContractTime];
if(PlayerInfo[playerid][pJob] == 0) return SCM(playerid, GRAD2, "(greska) Ne mozete dati otkaz, kada niste zaposleni!");
if(PlayerInfo[playerid][pContractTime] < 5) return SCMF(playerid, SVETLOPLAVA, "Ne mozete dati otkaz, odradili ste %d od potrebnih 5 sati ugovora!", satiposla / 5);
PlayerInfo[playerid][pJob] = 0;
SCM(playerid, -1, "* Dali ste otkaz,zelimo vam vise srece u drugom poslu.");
return 1;
}
pcontract time izmeni u tvoju varijablu za sate igranja
Wegy - ja vec imam definisan stock za vozilokosaca
stock VoziloKosaca(carid)
{
for(new i = 0; i < sizeof(kosilica); i++)
{
if(carid == kosilica[i]) return 1;
}
return 0;
}
a ovo tvoje sto sam stavio pod OnPlayerStateChange
sam prilagodio mom poslu ovako:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER)
{
if(VoziloKosaca(newcar))
{
if(PlayerInfo[playerid][pPosao]== 1)
{
CanTurnEngine[playerid] = newcar;
}
else
{
SafeRemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, COLOR_LIGHTBLUE, "** Nemate kljuceve ovoga vozila!");
}
}
}
return 1;
}
izbacuje mi ove errore
d:\My Documents\Desktop\Burn Gaming Roleplay\gamemodes\BG.pwn(1084) : error 017: undefined symbol "newcar"
d:\My Documents\Desktop\Burn Gaming Roleplay\gamemodes\BG.pwn(1088) : error 017: undefined symbol "CanTurnEngine"
d:\My Documents\Desktop\Burn Gaming Roleplay\gamemodes\BG.pwn(1088) : warning 215: expression has no effect
d:\My Documents\Desktop\Burn Gaming Roleplay\gamemodes\BG.pwn(1088) : error 001: expected token: ";", but found "]"
d:\My Documents\Desktop\Burn Gaming Roleplay\gamemodes\BG.pwn(1088) : error 029: invalid expression, assumed zero
d:\My Documents\Desktop\Burn Gaming Roleplay\gamemodes\BG.pwn(1088) : fatal error 107: too many error messages on one line
na ovoj liniji:
CanTurnEngine[playerid] = newcar;
zato sto ti je on dao Gf kodove, prelistaj to u tvoje varijable iz 0
Citat: Blaeks poslato Januar 20, 2013, 12:57:35 POSLE PODNE
zato sto ti je on dao Gf kodove, prelistaj to u tvoje varijable iz 0
S'a be?! Kakve iz 0?
Dodaj ovo gore na pocetak di su ti svi "new"
new CanTurnEngine[MAX_PLAYERS];
Ovo dodaj posle "if(newstate == PLAYER_STATE_DRIVER)"
new newcar = GetPlayerVehicleID(playerid);
Probaj ovako radit ako ti je lakše.
new KosaciCar[4];
forward IsAKosacCar(carid);
public IsAKosacCar(carid)
{
for(new i = 0; i < sizeof(KosaciCar); i++)
{
if(carid == KosaciCar[i])
return 1;
}
return 0;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER)
{
if(IsAKosacCar(newcar))
{
if(PlayerInfo[playerid][pJob] == idposla) {}
else
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, COLOR_GREY,"Nemate kljuceve od ovog vozila.");
}
}
}
return 1;
}
// OnGameModeInit
KosaciCar[0] = AddStaticVehicleEx(koordinate);
KosaciCar[1] = AddStaticVehicleEx(koordinate);
KosaciCar[2] = AddStaticVehicleEx(koordinate);
Reseno! Lock