Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: crnimajmun poslato Januar 02, 2016, 22:29:41 POSLE PODNE

Naslov: [POMOC] Samo procitajte.
Poruka od: crnimajmun poslato Januar 02, 2016, 22:29:41 POSLE PODNE
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!
Naslov: Odg: [POMOC] Samo procitajte.
Poruka od: Scripter Braun poslato Januar 03, 2016, 00:38:51 PRE PODNE
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]
Naslov: Odg: [POMOC] Samo procitajte.
Poruka od: 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.

Naslov: Odg: [POMOC] Samo procitajte.
Poruka od: Scripter Braun poslato Januar 03, 2016, 01:15:51 PRE PODNE
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]
Naslov: Odg: [POMOC] Samo procitajte.
Poruka od: crnimajmun poslato Januar 03, 2016, 01:25:20 PRE PODNE
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 :)