Skripta koju koristim: Radim moju.
Detaljan opis problema: Ne izbacuje prox detector kada se pali/gasi motor/svetla.
Dio skripte:
if(newkeys & KEY_SUBMISSION)
{
if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
new vozilo = GetPlayerVehicleID(playerid);
new string[200],motor[20];
new engine,lights,alarm,doors,bonnet,boot,objective;
GetVehicleParamsEx(vozilo,engine,lights,alarm,doors,bonnet,boot,objective);
if(VoziloJeBiciklo(vozilo)) return 1;
if(engine == 0 || engine == -1)
{
new Float:ostecenje;
GetVehicleHealth(vozilo,ostecenje);
if(ostecenje < 350.0) return SCM(playerid,-1,""CRVENA"[OS:RP]"BELA" Motor je previse ostecen,moras ga popraviti!");
if(Gorivo[vozilo] == 0) return SCM(playerid,-1,""CRVENA"[OS:RP]"BELA" U vozilu nema vise goriva,ne mozes da upalis motor.");
SetVehicleParamsEx(vozilo,1,lights,alarm,doors,bonnet,boot,objective);
format(string,sizeof(string),"%s pali motor na vozilu %s.",GetName(playerid),ImeVozila[vozilo -400]);
ProxDetector(playerid,10.0,string,PROX);
format(motor,sizeof(motor),"Motor: ~g~+");
PlayerTextDrawSetString(playerid,Brzinomer[playerid][8],motor);
SCM(playerid,-1,""CRVENA"[OS:RP]"BELA" Motor uspesno upaljen!");
}
else if(engine == 1)
{
SetVehicleParamsEx(vozilo,0,lights,alarm,doors,bonnet,boot,objective);
format(string,sizeof(string),"%s gasi motor na vozilu %s.",GetName(playerid),ImeVozila[vozilo -400]);
ProxDetector(playerid,10.0,string,PROX);
format(motor,sizeof(motor),"Motor: ~r~-");
PlayerTextDrawSetString(playerid,Brzinomer[playerid][8],motor);
SCM(playerid,-1,""CRVENA"[OS:RP]"BELA" Motor uspesno ugasen!");
}
}
}
Neke slike/video za lakse dobivanje pomoci(neobavezno): /
Ne vidim gresku u kodu.Pored proxa,ne izbacuje ni u chatu ono da je upaljeno/ugaseno...
Sve je sredjeno,imena i to.Pokazuje na brzinometru,znaci radi.Ali kao da na onaj kod gore ne reaguje.Nema returna,SCM-a,promene stringa na TD-u za brzinomer,nista.
POMOC!
Probaj ovako da stavis prox....
[pawn]format(string,sizeof(string),"%s pali motor na vozilu %s.",GetName(playerid),ImeVozila[vozilo -400]);
ProxDetector(playerid,10.0,string,PROX,PROX,PROX,PROX,PROX);[/pawn]
@Scripter Braun napravio sam ja svoj prox detector.Proverio sam ga sa chatom, /me i /do i ostalim i radi.
forward ProxDetector(playerid,Float:range,string[],boja); je funkcija.
Citat: crnimajmun poslato Januar 03, 2016, 00:48:43 PRE PODNE
@Scripter Braun napravio sam ja svoj prox detector.Proverio sam ga sa chatom, /me i /do i ostalim i radi.
forward ProxDetector(playerid,Float:range,string[],boja); je funkcija.
Evo ti moje pa probaj i jesi probao ovo sto sam ti poslao ???
[pawn]forward ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5);
public ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
{
if(IsPlayerConnected(playerid))
{
new Float:posx, Float:posy, Float:posz;
new Float:oldposx, Float:oldposy, Float:oldposz;
new Float:tempposx, Float:tempposy, Float:tempposz;
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && (GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i)))
{
if(!BigEar
)
{
GetPlayerPos(i, posx, posy, posz);
tempposx = (oldposx -posx);
tempposy = (oldposy -posy);
tempposz = (oldposz -posz);
if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
{
SCM(i, col1, string);
}
else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
{
SCM(i, col2, string);
}
else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
{
SCM(i, col3, string);
}
else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
{
SCM(i, col4, string);
}
else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
{
SCM(i, col5, string);
}
} }
}
}
return 1;
}[/pawn]
Nije do prox detectora,nego do formiranja stringa.
format(string,sizeof(string),"%s pali motor na vozilu marke %s.",GetName(playerid),ImeVozila[vozilo - 400]); <------- NE VALJA!
format(string,sizeof(string),"%s pali motor na vozilu marke %s.",GetName(playerid),ImeVozila[GetVehicleModel(vozilo) - 400]);
**Zaboravljen GetVehicleModel !
Hvala na pomoci svejedno :)
Neko ako moze lock,nov sam :)