Problem(error/warning): Kada udjem u vozilo bilo koje a da nije rent igrac se automatski zaledi i onda ja kad ukucam /unfreeze onda mogu da vozim , takodje kad izadjem iz vozila ono nestane samo tj vrati se na na spawn point
Dio skripte: [ pawn ][ /pawn ]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [ code ][ /code ]
Slika/video ingame problema(obavezno ako je ingame problem): //
Oko vozila
1,212
pregleda
15
postova
pre 5 godina
pre 5 godina
V01D wrote on May 3, 2020, 8:20 pm:
Daj OnPlayerEnterVehicle ili OnPlayerStateChange
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
new modelvozila = GetPlayerVehicleModel(playerid);
if(!ispassenger)
{
foreach(Player, i)
{
if(GetPlayerVehicleID(i) == vehicleid && GetPlayerState(i) == PLAYER_STATE_DRIVER)
{
ClearAnimations(playerid);
new Float:cx, Float:cy, Float:cz;
GetPlayerPos(playerid, cx, cy, cz);
SetPlayerPos(playerid, cx, cy, cz);
ClearAnimations(playerid);ClearAnimations(playerid);ClearAnimations(playerid);
SendClientMessage(playerid, COLOR_RED, "{FFFF11}| OldCity | {FF0000}Ne mozes krasti drugim igracima vozilo!");
return 1;
}
}
}
pre 5 godina
V01D wrote on May 3, 2020, 8:20 pm:
Daj OnPlayerEnterVehicle ili OnPlayerStateChange
public OnPlayerStateChange(playerid, newstate, oldstate)
{
new string;
new pveh = GetVehicleModel(GetPlayerVehicleID(playerid));
new vehicle = GetPlayerVehicleID(playerid);
if(newstate == PLAYER_STATE_ONFOOT && oldstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_ONFOOT && oldstate == PLAYER_STATE_PASSENGER)
pre 5 godina
V01D wrote on May 4, 2020, 1:11 pm:
Nista neuobicajeno, posalji ceo OnPlayerStateChange, i takodje posalji OnPlayerExitVehicle, ali ceo. Takodje koristi
[ pawn ]Bez razmaka![ /pawn ]
Kada nam vec forum pruza tu mogucnost 😄
Neki Kod;[ pawn ]Bez razmaka![ /pawn ]
Kada nam vec forum pruza tu mogucnost 😄
public OnPlayerStateChange(playerid, newstate, oldstate)
{
new string;
new pveh = GetVehicleModel(GetPlayerVehicleID(playerid));
new vehicle = GetPlayerVehicleID(playerid);
if(newstate == PLAYER_STATE_ONFOOT && oldstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_ONFOOT && oldstate == PLAYER_STATE_PASSENGER)
pre 5 godina
V01D wrote on May 4, 2020, 1:11 pm:
Nista neuobicajeno, posalji ceo OnPlayerStateChange, i takodje posalji OnPlayerExitVehicle, ali ceo. Takodje koristi
[ pawn ]Bez razmaka![ /pawn ]
Kada nam vec forum pruza tu mogucnost 😄
Neki Kod;[ pawn ]Bez razmaka![ /pawn ]
Kada nam vec forum pruza tu mogucnost 😄
public OnPlayerExitVehicle(playerid, vehicleid)
{
TextDrawHideForPlayer(playerid, imevozila);
TextDrawHideForPlayer(playerid, cijenavozila);
TextDrawHideForPlayer(playerid, registracijavozila);
if(GetPlayerState(playerid) == 1)
{
return 1;
}
if(gGas == 1)
{
GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~Je napustio auto", 500, 3);
}
return 1;
}
pre 5 godina
V01D wrote on May 4, 2020, 1:19 pm:
Dobro, ucimo polako xDDD
Kao sto rekoh, posalji ceo 😄
Kao sto rekoh, posalji ceo 😄
public OnPlayerStateChange(playerid, newstate, oldstate)
{
new string;
new pveh = GetVehicleModel(GetPlayerVehicleID(playerid));
new vehicle = GetPlayerVehicleID(playerid);
if(newstate == PLAYER_STATE_ONFOOT && oldstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_ONFOOT && oldstate == PLAYER_STATE_PASSENGER)
{
if(RadioOffOn != 0)
{
StopAudioStreamForPlayer(playerid);
return 1;
}
}
if(newstate == PLAYER_STATE_PASSENGER)
{
if (vehicle == OCTeam || vehicle == OCTeam || vehicle == OCTeam)
{
SetPlayerPos(playerid, 2022.0273, 2235.2402, 2103.9536);
SetPlayerTime(playerid, 00,00);
SetPlayerFacingAngle(playerid, 0);
SetCameraBehindPlayer(playerid);
SetPlayerInterior(playerid, 1);
TogglePlayerControllable(playerid,0);
SetTimerEx("Ucitavanje",1000,false,"i",playerid);
Timer1 = SetTimerEx("HornA", 60000, 1, "i", playerid);
Timer2 = SetTimerEx("HornB", 60500, 1, "i", playerid);
Timer3 = SetTimerEx("STime", 60000, 1, "i", playerid);
IsInBus = vehicle;
}
}
if(newstate == PLAYER_STATE_ONFOOT && oldstate == PLAYER_STATE_DRIVER)
{
if(HireCar != 299 || Rentano != 299 || RentanoBiciklo != 299 ) return unrenttimer = SetTimerEx("RespawnujRent",595000,false, "i", playerid);
}
if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)
{
if(vehicle == HireCar || vehicle == Rentano || vehicle == RentanoBiciklo) return KillTimer(unrenttimer);
}
if(newstate == PLAYER_STATE_ONFOOT && oldstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_ONFOOT && oldstate == PLAYER_STATE_PASSENGER)
{
if(RadioOffOn != 0)
{
StopAudioStreamForPlayer(playerid);
return 1;
}
}
if(newstate == PLAYER_STATE_DRIVER && (pveh != 509 && pveh != 481 && pveh != 510) && IsPlayerInAnyVehicle(playerid) && !IsAPlane(vehicle) && !IsAKosacAuto(vehicle) && !IsASweeper(vehicle))
{
SetTimerEx("Startup", 1, false, "ii", playerid, vehicle);
SetTimerEx("engine2", 2500, false, "ii", playerid);
}
else if(newstate == PLAYER_STATE_DRIVER && (pveh != 509 && pveh != 481 && pveh != 510) && IsPlayerInAnyVehicle(playerid) && !IsAPlane(vehicle) && !IsAKosacAuto(vehicle) && !IsASweeper(vehicle))
{
SetTimerEx("Startup", 1, false, "ii", playerid, vehicle);
SetTimerEx("engine2", 2500, false, "ii", playerid);
}
if(newstate == PLAYER_STATE_ONFOOT)
{
if(TransportDuty > 0)
{
if(TransportDuty == 1)
{
TaxiDrivers -= 1;
}
else if(TransportDuty == 2)
{
BusDrivers -= 1;
}
TransportDuty = 0;
format(string, sizeof(string), "* Vise niste na duznosti i zaradili ste $%d.", TransportMoney);
SendClientMessage(playerid, COLOR_WHITE, string);
GivePlayerMoney(playerid, TransportMoney);
TransportValue = 0; TransportMoney = 0;
}
if(TransportCost > 0 && TransportDriver < 999)
{
if(IsPlayerConnected(TransportDriver))
{
TransportMoney[TransportDriver] += TransportCost;
TransportTime[TransportDriver] = 0;
TransportCost[TransportDriver] = 0;
format(string, sizeof(string), "~w~Voznja kosta~n~~r~$%d",TransportCost);
GameTextForPlayer(playerid, string, 5000, 1);
format(string, sizeof(string), "~w~Putnik je napustio taxi~n~~g~Zaradili ste $%d",TransportCost);
GameTextForPlayer(TransportDriver, string, 5000, 1);
GivePlayerMoney(playerid, -TransportCost);
TransportCost = 0;
TransportTime = 0;
TransportDriver = 999;
}
}
TelePos = 0.0;
TelePos = 0.0;
}ja mislim da je to to
pre 5 godina
if (vehicle == OCTeam || vehicle == OCTeam || vehicle == OCTeam)
{
SetPlayerPos(playerid, 2022.0273, 2235.2402, 2103.9536);
SetPlayerTime(playerid, 00,00);
SetPlayerFacingAngle(playerid, 0);
SetCameraBehindPlayer(playerid);
SetPlayerInterior(playerid, 1);
TogglePlayerControllable(playerid,0);
SetTimerEx("Ucitavanje",1000,false,"i",playerid);
Timer1 = SetTimerEx("HornA", 60000, 1, "i", playerid);
Timer2 = SetTimerEx("HornB", 60500, 1, "i", playerid);
Timer3 = SetTimerEx("STime", 60000, 1, "i", playerid);
IsInBus = vehicle;
}Jedino sto freeza igraca je ovo, ali nema smisla..
Mora imati jos nesto..
pre 5 godina
V01D wrote on May 4, 2020, 1:27 pm:
if (vehicle == OCTeam || vehicle == OCTeam || vehicle == OCTeam)
{
SetPlayerPos(playerid, 2022.0273, 2235.2402, 2103.9536);
SetPlayerTime(playerid, 00,00);
SetPlayerFacingAngle(playerid, 0);
SetCameraBehindPlayer(playerid);
SetPlayerInterior(playerid, 1);
TogglePlayerControllable(playerid,0);
SetTimerEx("Ucitavanje",1000,false,"i",playerid);
Timer1 = SetTimerEx("HornA", 60000, 1, "i", playerid);
Timer2 = SetTimerEx("HornB", 60500, 1, "i", playerid);
Timer3 = SetTimerEx("STime", 60000, 1, "i", playerid);
IsInBus = vehicle;
}Jedino sto freeza igraca je ovo, ali nema smisla..
Mora imati jos nesto..
public OnPlayerStateChange(playerid, newstate, oldstate)
{
new string;
new pveh = GetVehicleModel(GetPlayerVehicleID(playerid));
new vehicle = GetPlayerVehicleID(playerid);
if(newstate == PLAYER_STATE_ONFOOT && oldstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_ONFOOT && oldstate == PLAYER_STATE_PASSENGER)
{
if(RadioOffOn != 0)
{
StopAudioStreamForPlayer(playerid);
return 1;
}
}
if(newstate == PLAYER_STATE_PASSENGER)
{
if (vehicle == OCTeam || vehicle == OCTeam || vehicle == OCTeam)
{
SetPlayerPos(playerid, 2022.0273, 2235.2402, 2103.9536);
SetPlayerTime(playerid, 00,00);
SetPlayerFacingAngle(playerid, 0);
SetCameraBehindPlayer(playerid);
SetPlayerInterior(playerid, 1);
TogglePlayerControllable(playerid,0);
SetTimerEx("Ucitavanje",1000,false,"i",playerid);
Timer1 = SetTimerEx("HornA", 60000, 1, "i", playerid);
Timer2 = SetTimerEx("HornB", 60500, 1, "i", playerid);
Timer3 = SetTimerEx("STime", 60000, 1, "i", playerid);
IsInBus = vehicle;
}
}
if(newstate == PLAYER_STATE_ONFOOT && oldstate == PLAYER_STATE_DRIVER)
{
if(HireCar != 299 || Rentano != 299 || RentanoBiciklo != 299 ) return unrenttimer = SetTimerEx("RespawnujRent",595000,false, "i", playerid);
}
if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)
{
if(vehicle == HireCar || vehicle == Rentano || vehicle == RentanoBiciklo) return KillTimer(unrenttimer);
}
if(newstate == PLAYER_STATE_ONFOOT && oldstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_ONFOOT && oldstate == PLAYER_STATE_PASSENGER)
{
if(RadioOffOn != 0)
{
StopAudioStreamForPlayer(playerid);
return 1;
}
}
if(newstate == PLAYER_STATE_DRIVER && (pveh != 509 && pveh != 481 && pveh != 510) && IsPlayerInAnyVehicle(playerid) && !IsAPlane(vehicle) && !IsAKosacAuto(vehicle) && !IsASweeper(vehicle))
{
SetTimerEx("Startup", 1, false, "ii", playerid, vehicle);
SetTimerEx("engine2", 2500, false, "ii", playerid);
}
else if(newstate == PLAYER_STATE_DRIVER && (pveh != 509 && pveh != 481 && pveh != 510) && IsPlayerInAnyVehicle(playerid) && !IsAPlane(vehicle) && !IsAKosacAuto(vehicle) && !IsASweeper(vehicle))
{
SetTimerEx("Startup", 1, false, "ii", playerid, vehicle);
SetTimerEx("engine2", 2500, false, "ii", playerid);
}
if(newstate == PLAYER_STATE_ONFOOT)
{
if(TransportDuty > 0)
{
if(TransportDuty == 1)
{
TaxiDrivers -= 1;
}
else if(TransportDuty == 2)
{
BusDrivers -= 1;
}
TransportDuty = 0;
format(string, sizeof(string), "* Vise niste na duznosti i zaradili ste $%d.", TransportMoney);
SendClientMessage(playerid, COLOR_WHITE, string);
GivePlayerMoney(playerid, TransportMoney);
TransportValue = 0; TransportMoney = 0;
}
if(TransportCost > 0 && TransportDriver < 999)
{
if(IsPlayerConnected(TransportDriver))
{
TransportMoney[TransportDriver] += TransportCost;
TransportTime[TransportDriver] = 0;
TransportCost[TransportDriver] = 0;
format(string, sizeof(string), "~w~Voznja kosta~n~~r~$%d",TransportCost);
GameTextForPlayer(playerid, string, 5000, 1);
format(string, sizeof(string), "~w~Putnik je napustio taxi~n~~g~Zaradili ste $%d",TransportCost);
GameTextForPlayer(TransportDriver, string, 5000, 1);
GivePlayerMoney(playerid, -TransportCost);
TransportCost = 0;
TransportTime = 0;
TransportDriver = 999;
}
}
TelePos = 0.0;
TelePos = 0.0;
}
//svjetla
if (newstate == PLAYER_STATE_DRIVER)
{
if (VehicleLightsOn[GetPlayerVehicleID(playerid)] == false)
{
GetVehicleDamageStatus(GetPlayerVehicleID(playerid), panels, doors, lights, tires);
UpdateVehicleDamageStatus(GetPlayerVehicleID(playerid), panels, doors, encode_lights(1, 1, 1, 1), tires);
VehicleLightsOn[GetPlayerVehicleID(playerid)] = false;
}
else
{
GetVehicleDamageStatus(GetPlayerVehicleID(playerid), panels, doors, lights, tires);
UpdateVehicleDamageStatus(GetPlayerVehicleID(playerid), panels, doors, encode_lights(0, 0, 0, 0), tires);
VehicleLightsOn[GetPlayerVehicleID(playerid)] = true;
}
}
if(newstate == PLAYER_STATE_PASSENGER) // TAXI & BUSSES
{
new name;
GetPlayerName(playerid, name, sizeof(name));
new vehicleid = GetPlayerVehicleID(playerid);
foreach (Player, i)
{
if(IsPlayerInVehicle(i, vehicleid) && GetPlayerState(i) == 2 && TransportDuty > 0)
{
if(GetPlayerMoney(playerid) < TransportValue)
{
format(string, sizeof(string), "* Treba vam $%d da biste usli.", TransportValue);
SendClientMessage(playerid, COLOR_WHITE, string);
RemovePlayerFromVehicle(playerid);
}
else
{
if(TransportDuty == 1)
{
if(PlayerInfo > 2)
{
format(string, sizeof(string), "* Platili ste $%d taxisti.", TransportValue);
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), "* Putnik %s je usao u vas Taxi.", name);
SendClientMessage(i, COLOR_WHITE, string);
TransportTime = 1;
TransportTime = 1;
TransportCost = TransportValue;
TransportCost = TransportValue;
TransportDriver = i;
}
else
{
SCM(playerid,-1,"Level ste 1 ne nozete da se vozite taxiem!");
SCM(i,-1,"Igrac je level 1 i nemoze da se vozi taxiem!");
RemovePlayerFromVehicle(playerid);
}
}
else if(TransportDuty == 2)
{
format(string, sizeof(string), "* Platili ste $%d vozacu busa.", TransportValue);
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), "* Putnik %s je usao u vas Bus.", name);
SendClientMessage(i, COLOR_WHITE, string);
}
GivePlayerMoney(playerid, - TransportValue);
TransportMoney += TransportValue;
}
}
}
}
/* if(newstate == PLAYER_STATE_WASTED)
{
if(WantedLevel >= 1)
{
new price = WantedLevel * 500;
GivePlayerMoney(playerid, - price);
PlayerInfo += 1;
PlayerInfo = 1;
PlayerInfo = (WantedLevel)*(600);
format(string, sizeof(string), "* U zatvoru ste na %d sekundi i izgubili ste $%d jer ste bezali i oboreni ste od strane policajca.", PlayerInfo, price);
SendClientMessage(playerid, COLOR_LIGHTRED, string);
WantedPoints = 0;
WantedPoints = 0;
}
}*/
if(newstate == PLAYER_STATE_DRIVER)
{// 38 / 49 / 56 = SS
new newcar = GetPlayerVehicleID(playerid);
new oldcar = gLastCar;
new housecar = PlayerInfo+1;
TelePos = 0.0;
TelePos = 0.0;
new name;
GetPlayerName(playerid, name, sizeof(name));
new carid = GetPlayerVehicleID(playerid);
new modelvozila = GetPlayerVehicleModel(playerid);
if(IsABoat(modelvozila))
{
if(!IsAEvent(carid))
{
if(PlayerInfo < 1)
{
SendClientMessage(playerid, COLOR_GREY, " Ne znate da plovite pa ste napustili brod !");
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid, 1);
}
}
}
else if(IsAPlane(modelvozila))
{
if(PlayerInfo < 1)
{
if(PolaganjeAvion == 1)
{
return 1;
}
if(TakingLesson == 1) { }
else {
SendClientMessage(playerid, COLOR_GREY, "Ne znate da letite pa ste napustili avion/helis!");
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid, 1); }
}
}
else
{
if(PlayerInfo < 0)
{
if(PlayerDrunk >= 5)
{
WantedPoints += 1;
SetPlayerCriminal(playerid,255, "Voznja u pijanom stanju");
}
}
else if(PlayerDrunk >= 5)
{
WantedPoints += 1;
SetPlayerCriminal(playerid,255, "Voznja u pijanom stanju");
}
if(PlayerInfo < 1)
{
if(IsABike(newcar) || IsAOBike(newcar)) { }
else
{
if(TakingLesson == 1) { }
else {
SendClientMessage(playerid, COLOR_GRAD1, "Nemate vozacku dozvolu i zato pazite kako vozite zbog policije.");
}
}
}
} //Done with car check
if(IsACopCar(newcar))
{
if(PlayerInfo == 1||PlayerInfo == 1) { }
else
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, SIVA, "(Izbacen!) Niste clan Policije.");
}
}
if(IsAnBiaCar(newcar))
{
if(PlayerInfo == 2||PlayerInfo == 2) { }
else {
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, SIVA, "(Izbacen!) Niste clan BIA-e.");}
}
if(IsAnRmCar(newcar))
{
if(PlayerInfo == 17||PlayerInfo == 17) { }
else {
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, SIVA, "(Izbacen!) Niste clan Ruske Mafije.");}
}
if(IsAnBajkeriCar(newcar))
{
if(PlayerInfo == 14||PlayerInfo == 14) { }
else {
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, SIVA, "(Izbacen!) Niste clan Bajkera.");}
}
if(IsNgCar(newcar))
{
if(PlayerInfo == 3||PlayerInfo == 3) { }
else {
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, SIVA, "(Izbacen!) Niste clan Vojske.");}
}
if(IsAGovernmentCar(newcar))
{
if(PlayerInfo == 7 || PlayerInfo == 7)
{
}
else
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, SIVA, "(Izbacen!) Nemate kljuceve od ovog vozila.");
}
}
else if(IsAnAmbulance(newcar))
{
if(PlayerInfo == 4||PlayerInfo == 4) { }
else { RemovePlayerFromVehicle(playerid); }
}
if(IsAHitmanCar(newcar))
{
if(PlayerInfo == 8||PlayerInfo == 8) { }
else {
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, SIVA, "(Izbacen!) Niste clan Hitmana.");}
}
if(IsALcnCar(newcar))
{
if(PlayerInfo == 6||PlayerInfo == 6) { }
else {
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, SIVA, "(Izbacen!) Niste clan L.C.N-a.");}
}
if(IsAGsfcar(newcar))
{
if(PlayerInfo == 15 ||PlayerInfo == 15) { }
else {
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, SIVA, "(Izbacen!) Niste clan G.S.F-a.");}
}
if(IsADilercar(newcar))
{
if(PlayerInfo == 4) { }
else {
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, SIVA, "(Izbacen!) Nisi diler droge ovo vozilo mogu voziti samo dileri droge.");}
}
if(IsALsurCar(newcar))
{
if(PlayerInfo == 13 ||PlayerInfo == 13) { }
else {
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, SIVA, "(Izbacen!) Niste clan Los Surenosa.");}
}
if(IsAPrivatnaOrg1Car(newcar))
{
if(PlayerInfo == 19 ||PlayerInfo == 19) { }
else {
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, SIVA, "(Izbacen!) Niste clan Privatne Org 1.");}
}
if(IsAPrivatnaOrg2Car(newcar))
{
if(PlayerInfo == 20 ||PlayerInfo == 20) { }
else {
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, SIVA, "(Izbacen!) Niste clan Privatne Org 2.");}
}
if(IsACRacercar(newcar))
{
if(PlayerInfo == 14 ||PlayerInfo == 14) { }
else {
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, SIVA, "(Izbacen!) Niste clan Carbon Racer-a.");}
}
if(IsAParkingSCar(newcar))
{
if(PlayerInfo == 18 ||PlayerInfo == 18) { }
else {
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, SIVA, "(Izbacen!) Niste clan Parking Servisa.");}
}
if(IsAMScar(newcar))
{
if(PlayerInfo == 16||PlayerInfo == 16) { }
else {
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, SIVA, "(Izbacen!) Niste clan MS-a");}
}
if(IsAGGcar(newcar))
{
if(PlayerInfo >= 2) { }
else {
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, SIVA, "(Izbacen!) Niste Admin");}
}
if(IsAYakuzaCar(newcar))
{
if(PlayerInfo == 5||PlayerInfo == 5) { }
else {
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, SIVA, "(Izbacen!) Niste clan Yakuza.");}
}
if(IsABallasCar(newcar))
{
if(PlayerInfo == 12||PlayerInfo == 12) { }
else {
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, SIVA, "(Izbacen!) Niste clan Ballasa.");}
}
if(IsACnnCar(newcar))
{
if(PlayerInfo == 9 || PlayerInfo == 9 ){ }
else{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, SIVA, "(Izbacen!) Nemate kljuceve ovog vozila.");}
}
if(IsAnTaxiCar(newcar))
{
if(PlayerInfo == 10||PlayerInfo == 10) { }
else{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, SIVA, "(Izbacen!) Niste clan Taxi-ja.");}
}
if(IsADonatorCar(newcar)) //donatorska auta
{
if(PlayerInfo > 2) { }
else{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, SIVA, "(Izbacen!) Morate biti donator da bi mogli vozit ovo auto!");}
}
//gigi test rad za smugler car
if(IsASmuggleCar(newcar))
{
if(PlayerInfo == 20) { }
else {
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, SIVA, "(Izbacen!) Nemate kljuceve od ovog vozila.");}
}
if(IsAPizzabike(newcar))
{
if(PlayerInfo == 17)
{
SendClientMessage(playerid, WHITE, "("svpl"Pomoc{FFFFFF}!) Komanda posla: "svpl"/pduty /sellpizza");
}
else {
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, SIVA, "(Izbacen!) Nemate kljuceve od ovog motora.");}
}
if(IsAPostarvozilo(newcar))
{
if(PlayerInfo == 25)
{
SendClientMessage(playerid, WHITE, "("svpl"Pomoc{FFFFFF}!) Komanda posla: "svpl"/posta /ponisti");
}
else {
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, SIVA, "(Izbacen!) Niste zaposlen kao postar!");}
}
if(IsAVozilovoz(newcar))
{
if(PlayerInfo == 26)
{
SendClientMessage(playerid, WHITE, "("svpl"Pomoc{FFFFFF}!) Komanda posla: "svpl"/Voz");
}
else {
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, SIVA, "(Izbacen!) Niste zaposlen kao masinovodja!");}
}
if(IsABus(newcar))
{
if(PlayerInfo == 14)
{
SendClientMessage(playerid, WHITE, "("svpl"Pomoc{FFFFFF}!) Komanda posla: "svpl"/fare /bus");
}
else {
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, SIVA, "(Izbacen!) Nemate kljuceve od ovog busa.");}
}
if(IsATowcar(newcar))
{
if(PlayerInfo == 7)
{
SendClientMessage(playerid, WHITE, "("svpl"Pomoc{FFFFFF}!) Komanda posla: "svpl"/repair /refill /pduty");
}
else {
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, SIVA, "(Izbacen!) Nemate kljuceve od ovog vozila.");}
}
if(IsATruck(newcar))
{
if(PlayerInfo == 16)
{
format(string, sizeof(string), "Produkti: %d/%d", PlayerHaul,PlayerHaul);
SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
SendClientMessage(playerid, WHITE, "("svpl"Pomoc{FFFFFF}!)Produkte dostavljate po firmama.");
SendClientMessage(playerid, WHITE, "("svpl"Pomoc{FFFFFF}!) Komanda posla: "svpl"/load /buyprods /sellprods");
}
else
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, SIVA, "(Izbacen!) Nemate kljuceve od ovog vozila.");
}
}
if(IsASweeper(newcar))
{
if(PlayerInfo == 21)
{
if(PlayerIsSweeping == 0)
{
TogglePlayerControllable(playerid, 0);
SendClientMessage(playerid, WHITE, "("svpl"Pomoc{FFFFFF}!) Komanda posla: "svpl"/cisti");
}
else
{
SendClientMessage(playerid, WHITE, "("svpl"Pomoc{FFFFFF}!) Da zavrsis pisi: "svpl"/ponisti.");
}
}
else
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, SIVA, "(Izbacen!) Nemate kljuceve od ovog vozila.");
}
}
if(IsADjubretar(newcar))
{
if(PlayerInfo == 21)
{
if(PlayerIsCisti == 0)
{
TogglePlayerControllable(playerid, 0);
SendClientMessage(playerid, WHITE, "("svpl"Pomoc{FFFFFF}!) Komanda posla: "svpl"/kupismece");
}
else
{
SendClientMessage(playerid, WHITE, "("svpl"Pomoc{FFFFFF}!) Da zavrsis pisi: "svpl"/ponisti.");
}
}
else
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, COLOR_GREY,"Nemate kljuceve od ovog vozila.");
}
}
//---------------
if(IsARentBiciklo(newcar))
{
if (RentanoBiciklo == 299)
{
format(string,sizeof(string),"{FFFFFF}Ovo se biciklo iznajmljuje.\nDa iznajmite kliknite na {00C0FF}~Rentanje~.\n{FFFFFF}Da napustite vozilo kliknite {00C0FF}~Napusti~.\n{FFFFFF}Cena iznajmljivanja: {00C0FF}%d$.",BiciklRent);
ShowPlayerDialog(playerid, 43, DIALOG_STYLE_MSGBOX,"{F81414}Auto Rent",string,"Rentanje","Napusti");
TogglePlayerControllable(playerid, 0);
}
else if(RentanoBiciklo != newcar)
{
TogglePlayerControllable(playerid, 1);
RemovePlayerFromVehicle(playerid);
}
}
if(IsARentCar(newcar))
{
if (HireCar == 299)
{
format(string,sizeof(string),"{FFFFFF}Ovo se vozilo iznajmljuje.\nDa iznajmite kliknite na {00C0FF}~Rentanje~.\n{FFFFFF}Da napustite vozilo kliknite {00C0FF}~Napusti~.\n{FFFFFF}Cena iznajmljivanja: {00C0FF}%d$.",AutoRent);
ShowPlayerDialog(playerid, 44, DIALOG_STYLE_MSGBOX,"{F81414}Auto Rent",string,"Rentanje","Napusti");
TogglePlayerControllable(playerid, 0);
}
else if(HireCar != newcar)
{
TogglePlayerControllable(playerid, 1);
RemovePlayerFromVehicle(playerid);
}
}
if(IsARentBike(newcar))
{
if (Rentano == 299)
{
format(string,sizeof(string),"{FFFFFF}Ovaj se motor iznajmljuje.\nDa iznajmite kliknite na {00C0FF}~Rentanje~.\n{FFFFFF}Da napustite vozilo kliknite {00C0FF}~Napusti~.\n{FFFFFF}Cena iznajmljivanja: {00C0FF}%d$.",MotorRent);
ShowPlayerDialog(playerid, 42, DIALOG_STYLE_MSGBOX,"{F81414}Moto Rent",string,"Rentaj","Napusti");
TogglePlayerControllable(playerid, 0);// Freeza igraca, da ne moze da pobegne
PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
}
else if(Rentano != newcar)
{
TogglePlayerControllable(playerid, 1);
RemovePlayerFromVehicle(playerid);
}
}
if(IsAKosacAuto(newcar))
{
if(PlayerInfo == 18)
{
if(KosiTravu == 0)
{
SendClientMessage(playerid, WHITE, "("svpl"Pomoc{FFFFFF}!) Komanda posla: "svpl"/kosenje");
TogglePlayerControllable(playerid, 0);
}
else
{
SendClientMessage(playerid, WHITE, "("svpl"Pomoc{FFFFFF}!) Da ponistite kosenje: "svpl"/ponisti");
}
}
else
{
SendClientMessage(playerid, SIVA, "(Izbacen!) Nemate kljuceve od ovog vozila!");
RemovePlayerFromVehicle(playerid);
}
}
if(IsAFarmerTraktor(newcar))
{
if(PlayerInfo == 10)
{
if(RadiKaoFarmer == 0)
{
SendClientMessage(playerid, WHITE, "("svpl"Pomoc{FFFFFF}!) "svpl"Da zakacite kopacicu morate biti u blizini nje i pritisnuti tipku CTRL");
}
else
{
}
}
else
{
SendClientMessage(playerid, SIVA, "(Izbacen!) Nemate kljuceve od ovog vozila!");
RemovePlayerFromVehicle(playerid);
}
}
if(IsAFarmerTraktor(newcar) || IsAFarmerKonbajn(newcar))
{
if(PlayerInfo == 10)
{
if(RadiKaoFarmer == 0)
{
SendClientMessage(playerid, WHITE, "("svpl"Pomoc{FFFFFF}!) Komanda posla: "svpl"/oranje /vrsenje /prekiniposao");
TogglePlayerControllable(playerid, 0);
}
else
{
SendClientMessage(playerid, WHITE, "("svpl"Pomoc{FFFFFF}!) Da ponistite posao na farmi: "svpl"/ponisti");
}
}
else
{
SendClientMessage(playerid, SIVA, "(Izbacen!) Nemate kljuceve od ovog vozila!");
RemovePlayerFromVehicle(playerid);
}
}
if(oldcar != 330)
{
if((housecar != oldcar && oldcar != 0) && (HireCar != oldcar && newcar != housecar))
{
if(gLastDriver == playerid && oldcar != newcar)
{
gLastDriver = 329;
gCarLock = 0;
UnLockCar(oldcar);
}
}
}
}
if(newstate == PLAYER_STATE_SPAWNED)
{
new Float: lwx, Float:lwy, Float:lwz;
GetPlayerPos(playerid, lwx, lwy, lwz);
if((lwz > 530.0 && PlayerInfo == 0) || PlayerToPoint(1000.0, playerid, -1041.9,-1868.4,79.1)) //the highest land point in sa = 526.8
{
SetPlayerSpawn(playerid);
}
if(WantedLevel > 0)
{
new dstring;
new wanted = WantedLevel;
new diecash = 0;
while(WantedLevel > 0)
{
diecash += 500;
WantedLevel --;
}
format(dstring, sizeof(dstring), "Izgubili ste $%d zbog umiranja sa %d Wanted Poena/om.", diecash, wanted);
SendClientMessage(playerid, COLOR_YELLOW, dstring);
GivePlayerMoney(playerid, - diecash);
PlayerInfo += 1;
}
if(PlayerOnMission > 0)
{
GameTextForPlayer(playerid, "~r~Misija je izgubljena", 5000, 3);
PlayerOnMission = 0;
PlayerInfo = 0;
}
WantedPoints = 0;
WantedPoints = 0;
if(PlayerInfo > 0) { SetPlayerHealth(playerid, 100.0); }
else { SetPlayerHealth(playerid, 50.0+PlayerInfo); }
MedicBill = 1;
TelePos = 0.0;
TelePos = 0.0;
gPlayerSpawned = 1;
SafeTime = 60;
}
return 1;
}evo izvuko sam sve sto je bilo vezano za OnPlayerStateChange ispod toga nema vise nista
pre 5 godina
Imaš dvije opcije:
1) Napraviš globalnu 'per-player' varijablu u koju češ stavljati vozilo ID svakoga puta kada igrač uđe u neko vozilo, te onda ispod OnPlayerStateChange napraviti provjeru ako mu je old state driver, a novo onfoot i ako je vozilo ID od te varijable bilokoje rent vozilo ID -> Unfreeze.
2) Ispod OnPlayerExitVehicle napraviti provjeru ako je vehicleid bilokoje rent vozilo ID -> Unfreeze.
1) Napraviš globalnu 'per-player' varijablu u koju češ stavljati vozilo ID svakoga puta kada igrač uđe u neko vozilo, te onda ispod OnPlayerStateChange napraviti provjeru ako mu je old state driver, a novo onfoot i ako je vozilo ID od te varijable bilokoje rent vozilo ID -> Unfreeze.
2) Ispod OnPlayerExitVehicle napraviti provjeru ako je vehicleid bilokoje rent vozilo ID -> Unfreeze.
pre 5 godina
ShadowMortar wrote on May 4, 2020, 1:48 pm:
Imaš dvije opcije:
1) Napraviš globalnu 'per-player' varijablu u koju češ stavljati vozilo ID svakoga puta kada igrač uđe u neko vozilo, te onda ispod OnPlayerStateChange napraviti provjeru ako mu je old state driver, a novo onfoot i ako je vozilo ID od te varijable bilokoje rent vozilo ID -> Unfreeze.
2) Ispod OnPlayerExitVehicle napraviti provjeru ako je vehicleid bilokoje rent vozilo ID -> Unfreeze.
1) Napraviš globalnu 'per-player' varijablu u koju češ stavljati vozilo ID svakoga puta kada igrač uđe u neko vozilo, te onda ispod OnPlayerStateChange napraviti provjeru ako mu je old state driver, a novo onfoot i ako je vozilo ID od te varijable bilokoje rent vozilo ID -> Unfreeze.
2) Ispod OnPlayerExitVehicle napraviti provjeru ako je vehicleid bilokoje rent vozilo ID -> Unfreeze.
Nista ja ne kapiram mora mi ti to bolje objasnis
pre 5 godina
new ZadnjiAutoID[ MAX_PLAYERS ] = { INVALID_VEHICLE_ID, ... };
/*
Deklariramo varijablu u koju ćemo stavljati ID od vozila svakoga puta kada igrač uđe u jedno
*/
hook OnPlayerEnterVehicle( playerid, vehicleid, ispassenger ) {
ZadnjiAutoID[ playerid ] = vehicleid;
return ( true );
}
bool:AkoJeZadnjeVoziloRentano( playerid ) {
/*
Možeš i sa loopom napraviti ako koristiš arrays
*/
if( ZadnjiAutoID[ playerid ] == TvojaVarijablaZaRentanaVozila ) return ( true );
/*
for( new i, j = sizeof( RentanaVozila ); i < j; i++ ) {
if( ZadnjiAutoID[ playerid ] = TvojArrayZaRentanaVozila[ i ] ) return ( true );
}
*/
return ( false );
}
hook OnPlayerStateChange( playerid, newstate, oldstate ) {
/*
Radimo provjeru ako je igrač prije nego li je kako bih mogao reči, stao na noge,
ali prije toga je vozio auto i ako je zadnji ID od vozila rentano vozilo ~ unfreeze
*/
if( newstate == PLAYER_STATE_ONFOOT && oldstate == PLAYER_STATE_DRIVER && AkoJeZadnjeVoziloRentano( playerid ) )
TogglePlayerSpectating( playerid, true );
return ( true );
}
// ILI
hook OnPlayerExitVehicle( playerid, vehicleid ) {
if( AkoJeZadnjeVoziloRentano( playerid ) )
TogglePlayerSpectating( playerid, true );
return ( true );
}Sada ti testiraj koje će ti raditi, inače, prije ako se dobro sječam sam imao problem sa "OnPlayerExitVehicle" pa ti sada vidi.
Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava