Skripta koju koristim: BU
Detaljan opis problema: kada udjem u auto koje je na /v buy ono me izbaci i pise da nemam dozvolu nemogu kupiti auto a ustvari imam sve dozvole,pokusavao sam na svakakve naicne da resim ali nista nevalja..
Dio skripte:
Neke slike/video za lakse dobivanje pomoci(neobavezno): http://imageshack.us/photo/my-images/834/samp017rl.png/
Postaj komandu /v buy.
else if(strcmp(x_nr,"buy",true) == 0)
{
if(IsAnOwnableCar(idcar))
{
if(PlayerInfo[playerid][pLevel] < 2)
{
SendClientMessage(playerid, COLOR_GREY, "Morate biti barem lvl 2 da kupite vozilo!");
return 1;
}
if(SBizzInfo[14][sbProducts] == 0)
{
GameTextForPlayer(playerid, "~r~Nemamo vise zaliha", 5000, 1);
return 1;
}
if(PlayerInfo[playerid][pPcarkey] == 999) { }
else if(PlayerInfo[playerid][pPcarkey2] == 999) { }
else if(PlayerInfo[playerid][pPcarkey3] == 999) { }
else { SendClientMessage(playerid, COLOR_GREY, " Vec posedujete 3 vozila"); return 1; }
if(CarInfo[idcar][cOwned]==1)
{
SendClientMessage(playerid, COLOR_GREY, "Neko vec poseduje to vozilo");
return 1;
}
if(GetPlayerMoney(playerid) >= CarInfo[idcar][cValue])
{
if(PlayerInfo[playerid][pPcarkey] == 999) { PlayerInfo[playerid][pPcarkey] = idcar; }
else if(PlayerInfo[playerid][pPcarkey2] == 999) { PlayerInfo[playerid][pPcarkey2] = idcar; }
else if(PlayerInfo[playerid][pPcarkey3] == 999) { PlayerInfo[playerid][pPcarkey3] = idcar; }
else { return 1; }
CarInfo[idcar][cOwned] = 1;
GetPlayerName(playerid, sendername, sizeof(sendername));
strmid(CarInfo[idcar][cOwner], sendername, 0, strlen(sendername), 999);
SafeGivePlayerMoney(playerid,-CarInfo[idcar][cValue]);
SBizzInfo[14][sbTill] += 5000;
ExtortionSBiz(14, SBizzInfo[14][sbEntranceCost]);
SBizzInfo[14][sbProducts]--;
GameTextForPlayer(playerid, "~w~Cestitamo~n~Nemojte zaboraviti /v park da ga parkirate!", 5000, 3);
SendClientMessage(playerid, COLOR_GRAD2, "Cestitamo vam na novoj kupovini!");
SendClientMessage(playerid, COLOR_GRAD2, "Kucajte /vehiclehelp da vidite uputstva!");
SendClientMessage(playerid, COLOR_YELLOW2, "Sada mozete upaliti motor !");
gEngine[playerid] = 0;
engineOn[GetPlayerVehicleID(playerid)] = false;
DateProp(playerid);
OnPropUpdate();
OnPlayerUpdateCustom(playerid);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Nemate dovoljno novca kod sebe ! ");
return 1;
}
}
}
else
{
SendClientMessage(playerid, COLOR_WHITE, "Podsjetnik: (/v)ehicle [name]");
SendClientMessage(playerid, COLOR_WHITE, "Available names: park, lock(1-3), sell, sellto, color");
return 1;
}
}
return 1;
}
Daj cjeli /v
nije potrebna komanda, jer ga izbaci prije nego ju moze upotrijebiti... ima u callbacku OnPlayerStateChange: STATE_DRIVER ili tako nesto, taj dio postaj, tu te izbacuje...
if(newstate == PLAYER_STATE_DRIVER) //buggy dont finnish
{// 38 / 49 / 56 = SS
new newcar = GetPlayerVehicleID(playerid);
new oldcar = gLastCar[playerid];
new housecar = PlayerInfo[playerid][pPhousekey]+1;
TelePos[playerid][0] = 0.0;
TelePos[playerid][1] = 0.0;
if(IsABoat(newcar))
{
if(PlayerInfo[playerid][pCarLic] < 1)
{
SendClientMessage(playerid, COLOR_GREY, " Nemozete kupiti auto posto nemate dozvolu !");
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid, 1);
}
}
else if(IsAPlane(newcar))
{
if(PlayerInfo[playerid][pFlyLic] < 1)
{
if(TakingLesson[playerid] == 1) { }
else {
SendClientMessage(playerid, COLOR_GREY, " Neznate da letite pa ste napustili avion/heli !");
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid, 1); }
}
}
else
{
if(PlayerInfo[playerid][pCarLic] < 0)
{
if(PlayerDrunk[playerid] >= 5)
{
WantedPoints[playerid] += 1;
SetPlayerCriminal(playerid,255, "Voznja u pijanom stanju");
}
}
else if(PlayerDrunk[playerid] >= 5)
{
WantedPoints[playerid] += 1;
SetPlayerCriminal(playerid,255, "Voznja u pijanom stanju");
}
if(PlayerInfo[playerid][pCarLic] < 1)
{
if(IsABike(newcar) || IsAOBike(newcar)) { }
else
{
/*if(PlayerInfo[playerid][pCarLic] < 1)
{
WantedPoints[playerid] += 1;
SetPlayerCriminal(playerid,255, "Driving without License");
}*/
if(TakingLesson[playerid] == 1) { }
else {
SendClientMessage(playerid, COLOR_YELLOW, " Nemate dozvolu za voznju! Vozite pazljivo i izbjegavajte policiju.");
}
}
}
}//Done with car check
daj mi prvi i zadnji id vozila za kupnju...
prvo 411 drugo 483,jesi na to milsio u cars.cfg?
PronaÄ'i u skripti public IsAnOwnableCar to su ti auta na prodaji IDovi auta
aa to prvi je 230 drugi 676
Citat: SyBeR poslato Jun 03, 2011, 16:27:17 POSLE PODNE
if(newstate == PLAYER_STATE_DRIVER) //buggy dont finnish
{// 38 / 49 / 56 = SS
new newcar = GetPlayerVehicleID(playerid);
new oldcar = gLastCar[playerid];
new housecar = PlayerInfo[playerid][pPhousekey]+1;
TelePos[playerid][0] = 0.0;
TelePos[playerid][1] = 0.0;
if(IsABoat(newcar))
{
if(PlayerInfo[playerid][pCarLic] < 1)
{
SendClientMessage(playerid, COLOR_GREY, " Nemozete kupiti auto posto nemate dozvolu !");
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid, 1);
}
}
else if(IsAPlane(newcar))
{
if(PlayerInfo[playerid][pFlyLic] < 1)
{
if(TakingLesson[playerid] == 1) { }
else {
SendClientMessage(playerid, COLOR_GREY, " Neznate da letite pa ste napustili avion/heli !");
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid, 1); }
}
}
else
{
if(PlayerInfo[playerid][pCarLic] < 0)
{
if(PlayerDrunk[playerid] >= 5)
{
WantedPoints[playerid] += 1;
SetPlayerCriminal(playerid,255, "Voznja u pijanom stanju");
}
}
else if(PlayerDrunk[playerid] >= 5)
{
WantedPoints[playerid] += 1;
SetPlayerCriminal(playerid,255, "Voznja u pijanom stanju");
}
if(PlayerInfo[playerid][pCarLic] < 1)
{
if(IsABike(newcar) || IsAOBike(newcar)) { }
else
{
/*if(PlayerInfo[playerid][pCarLic] < 1)
{
WantedPoints[playerid] += 1;
SetPlayerCriminal(playerid,255, "Driving without License");
}*/
if(TakingLesson[playerid] == 1) { }
else {
SendClientMessage(playerid, COLOR_YELLOW, " Nemate dozvolu za voznju! Vozite pazljivo i izbjegavajte policiju.");
}
}
}
}//Done with car check
ako znaci postoji IsAnOwnableCar ubaci umjesto tog tvojeg ovo: if(newstate == PLAYER_STATE_DRIVER) //buggy dont finnish
{// 38 / 49 / 56 = SS
new newcar = GetPlayerVehicleID(playerid);
new oldcar = gLastCar[playerid];
new housecar = PlayerInfo[playerid][pPhousekey]+1;
TelePos[playerid][0] = 0.0;
TelePos[playerid][1] = 0.0;
if(IsABoat(newcar))
{
if(PlayerInfo[playerid][pCarLic] < 1)
{
SendClientMessage(playerid, COLOR_GREY, " Nemozete kupiti auto posto nemate dozvolu !");
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid, 1);
}
}
else if(IsAPlane(newcar))
{
if(PlayerInfo[playerid][pFlyLic] < 1)
{
if(TakingLesson[playerid] == 1) { }
else {
SendClientMessage(playerid, COLOR_GREY, " Neznate da letite pa ste napustili avion/heli !");
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid, 1); }
}
}
else
{
if(PlayerInfo[playerid][pCarLic] < 0)
{
if(PlayerDrunk[playerid] >= 5)
{
WantedPoints[playerid] += 1;
SetPlayerCriminal(playerid,255, "Voznja u pijanom stanju");
}
}
else if(PlayerDrunk[playerid] >= 5)
{
WantedPoints[playerid] += 1;
SetPlayerCriminal(playerid,255, "Voznja u pijanom stanju");
}
if(PlayerInfo[playerid][pCarLic] < 1&&!IsAnOwnableCar(newcar))//ovo sam ti dodao
{
if(IsABike(newcar) || IsAOBike(newcar)) { }
else
{
if(TakingLesson[playerid] == 1) { }
else {
SendClientMessage(playerid, COLOR_YELLOW, " Nemate dozvolu za voznju! Vozite pazljivo i izbjegavajte policiju.");
}
}
}
}//Done with car check
opset me izbaci iz vozila ali ne psie kao nemas dozvolu ne mozes kupiti auto samo me izbaci iz auta
Daj nam public IsABoat
i da zaboravio sam moram sebi da dam dozvol uza plovidbu,letenje,ivozacku za auto da bih mogao da sednem u auto koje je na /v buy da me ne izbaci..
public IsABoat(carid)
{
if((carid >= 230) && (carid <= 676))
{
return 1;
}
return 0;
}
Citat: SyBeR poslato Jun 03, 2011, 18:04:18 POSLE PODNE
i da zaboravio sam moram sebi da dam dozvol uza plovidbu,letenje,ivozacku za auto da bih mogao da sednem u auto koje je na /v buy da me ne izbaci..
public IsABoat(carid)
{
if((carid >= 230) && (carid <= 676))
{
return 1;
}
return 0;
}
pa nemoj radit takvu provjeru, provjeri po tipu plovila, imas na wiki idove od brodova...
Pa da kod auta ti je postavljeno isaboat ti ti je za brodove to si treba postaviti kod brodova da ti pise kak ulazis u brodove i ako imas brodove samo njihove ID ove postavis
Hvala Mnogo,bila je greska domene kod public IsABoat pa sam samo trebao da promenim brojeve :D