Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: ... poslato April 08, 2018, 20:12:28 POSLE PODNE

Naslov: Kanticaa
Poruka od: ... poslato April 08, 2018, 20:12:28 POSLE PODNE
Problem(error/warning): Moze neka pomoc oko ove kantice kad odem na benz i kucam prvo /kupikanticu,onda /kanticagorivo i kad trebam /napunikanticu pise mi da se vec toci gorivo a ne toci ? Sta je problem
Dio skripte: [pawn]YCMD:kupikanister(playerid, params[], help)
{
    if(UlogovanProvera[playerid] == 0)
      return Error(playerid,"Moras biti prijavljen!");

    if (PI[playerid][pKanister] != 0)
      return Error(playerid, "Vec imate kanister! (/bacikanister | /napunikanister)");

   if (PI[playerid][pKanisterType] != 0)
       return Error(playerid, "Vec imate kanister! (/bacikanister | /napunikanister)");

   if (PI[playerid][pMoney] < 3000)
       return Error(playerid, "Kanister kosta 3000$!");

   if(!IgracNaBenzinskoj(playerid))
      return Error(playerid, "Morate biti na benzinsoj pumpi!!");
   new
      pumpa;
   if (IsPlayerInRangeOfPoint(playerid, 10.0, 1004.0422,-937.5357,42.3281))  { pumpa = 62;}
   else if (IsPlayerInRangeOfPoint(playerid, 10.0, 1382.2139,460.1810,20.3452))  { pumpa = 61;}
   else if (IsPlayerInRangeOfPoint(playerid, 10.0, 1942.3732,-1772.7740,13.6406))  { pumpa = 29;}
   else if (IsPlayerInRangeOfPoint(playerid, 10.0, -91.2488,-1169.7260,2.4204))  { pumpa = 63;}
   else if (IsPlayerInRangeOfPoint(playerid, 10.0, 171.6999,-1923.0776,4.4559))  { pumpa = 64;}
   else if (IsPlayerInRangeOfPoint(playerid, 10.0, 1375.4180,-1426.2119,13.5453))  { pumpa = 65;}
   else if(IsPlayerInRangeOfPoint(playerid, 10.0, 1539.1136,-2179.6636,13.6259))  { pumpa = 69;}
   else if(IsPlayerInRangeOfPoint(playerid, 10.0, 1539.0715,-2170.4048,13.6259))  { pumpa = 66;}
   else if(IsPlayerInRangeOfPoint(playerid, 10.0, 1375.7026,-1426.0779,13.5454))  { pumpa = 67;}
   else if(IsPlayerInRangeOfPoint(playerid, 10.0, 1374.6519,-1421.4581,13.5451))  { pumpa = 68;}

   PI[playerid][pKanister] = 1;
   PI[playerid][pKanisterLitara] = 0.0;
   PI[playerid][pKanisterType] = 0;
   g_NovacMinus(playerid, 3000);
   FirmaNovac(pumpa, (3000/2));
   SCM(playerid,SERVERBOJA,"* Kupili ste kanister, dopunite ga na benzinskoj pumpi! (/napunikanister)");
   SCM(playerid,SERVERBOJA,"* Prvo odredite gorivo u kanisteru! (/kanistergorivo)");
   SavePlayer(playerid);
   return 1;
}

YCMD:bacikanister(playerid, params[], help)
{
    if(UlogovanProvera[playerid] == 0)
      return Error(playerid,"Moras biti prijavljen!");

   if (PI[playerid][pKanister] != 1)
      return Error(playerid, "Nemate kanister!");

    PI[playerid][pKanister] = 0;
   PI[playerid][pKanisterLitara] = 0.0;
   PI[playerid][pKanisterType] = 0;

   SCM(playerid,SERVERBOJA,"* Bacio si kanister!");

   SavePlayer(playerid);
   return 1;
}

YCMD:kanistergorivo(playerid, params[], help)
{
    if(UlogovanProvera[playerid] == 0)
      return Error(playerid,"Moras biti prijavljen!");

   if (PI[playerid][pKanister] != 1)
      return Error(playerid, "Nemate kanister!");

   if (PI[playerid][pKanisterType] != 0)
       return Error(playerid, "Vec ste odredili gorivo (/bacikanister)");

   static
       TypeID;

   if (sscanf(params, "i", TypeID))
      return Koristi(playerid, "kanistergorivo [1. Dizel | 2. Benzin | 3. Kerozin]");

   if (TypeID > 3 || TypeID < 1)
       return Error(playerid, "Upisite tacan ID goriva (1, 2, 3)!");

    PI[playerid][pKanisterType] = TypeID;

   static
       string[100];
   format(string, sizeof string, "NJ: {FFFFFF}Uzeli ste kanister namijenjen za {FF0000}%s", GetFuelTypeByKanisterType(TypeID));
   SCM(playerid, CRVENA, string);
   return 1;
}
YCMD:napunikanister(playerid, params[], help)
{
    if(UlogovanProvera[playerid] == 0)
      return Error(playerid,"Moras biti prijavljen!");

   if (PI[playerid][pKanister] != 1)
       return Error(playerid, "Vi ne posjedujete kanister! Kupite ga na trafici!");

   if(!IgracNaBenzinskoj(playerid))
      return SCM(playerid,-1, ""SERVER"NJV3: "C_BELA"Morate biti na benzinskoj pumpi da bi sipali u kanister.");
   new
      pumpa;
   if(IsPlayerInRangeOfPoint(playerid, 10.0, 1004.0422,-937.5357,42.3281))  { pumpa = 62;}
   if(IsPlayerInRangeOfPoint(playerid, 10.0, 1382.2139,460.1810,20.3452))  { pumpa = 61;}
   if(IsPlayerInRangeOfPoint(playerid, 10.0, 1942.3732,-1772.7740,13.6406))  { pumpa = 29;}
   if(IsPlayerInRangeOfPoint(playerid, 10.0, -91.2488,-1169.7260,2.4204))  { pumpa = 63;}
   if(IsPlayerInRangeOfPoint(playerid, 10.0, 171.6999,-1923.0776,4.4559))  { pumpa = 64;} //1375.4180,-1426.2119,13.5453
   if(IsPlayerInRangeOfPoint(playerid, 10.0, 1375.4180,-1426.2119,13.5453))  { pumpa = 65;} //1375.4180,-1426.2119,13.5453
   if(IsPlayerInAnyVehicle(playerid))
      return Error(playerid,"Morate biti van vozila!");
   new Float:l;
   if(sscanf(params, "f", l))
      return Koristi(playerid, "napunikanister [Litara npr 1.0]"), SCM(playerid, CRVENA, "CIJENE: {FFFFFF}Dizel - 60$, Benzin - 120$, Kerozin - 180$");


   if(l < 1 || l > 20)
      return Error(playerid, "Minimalan broj litara je 1 a maksimalan 20!");
      
   if (PuniGorivo[playerid] == true)
      return Error(playerid, "Vec tocis gorivo!");

   if ((PI[playerid][pKanisterLitara] + l) > 20)
       return Error(playerid, "Sipajte manje, maksimalno litara je 20!");

   PuniGorivo[playerid] = true;

   if(PI[playerid][pKanisterType] == 1)
   {
       if(PI[playerid][pMoney] < l*60) return Error(playerid,"Nemate dovoljno novca, 1 litar kosta 60$."), PuniGorivo[playerid] = false;
        PI[playerid][pKanisterLitara] += l;
      g_NovacMinus(playerid, floatround(l*60));

      static
          string[100];
      format(string, sizeof string, "* Dizel se puni! Kupili ste %.2f litara, platili ste %d$.", l, floatround(l*50));
      SCM(playerid, SERVERBOJA, string);

      SetTimerEx("KanisterNapunjen", 7000, false, "d", playerid);
      TogglePlayerControllable(playerid, 0);
      FirmaNovac(pumpa, floatround(l*60)/2);
      SavePlayer(playerid);
   }
   else if(PI[playerid][pKanisterType] == 3)
   {
      if(PI[playerid][pMoney] < l*180) return Error(playerid,"Nemate dovoljno novca, 1 litar kosta 180$"), PuniGorivo[playerid] = false;
        PI[playerid][pKanisterLitara] += l;
      g_NovacMinus(playerid, floatround(l*180));

      static
          string[100];
      format(string, sizeof string, "* Kerozin se puni! Kupili ste %.2f litara, platili ste %d$.", l, floatround(l*180));
      SCM(playerid, SERVERBOJA, string);

      SetTimerEx("KanisterNapunjen", 7000, false, "d", playerid);
      TogglePlayerControllable(playerid, 0);
      FirmaNovac(pumpa, floatround(l*180)/2);
      SavePlayer(playerid);
   }
   else if(PI[playerid][pKanisterType] == 2)
   {
      if(PI[playerid][pMoney] < l*120) return Error(playerid,"Nemate dovoljno novca, 1 litar kosta 120$."), PuniGorivo[playerid] = false;
        PI[playerid][pKanisterLitara] += l;
      g_NovacMinus(playerid, floatround(l*120));

      static
          string[100];
      format(string, sizeof string, "* Benzin se puni! Kupili ste %.2f litara, platili ste %d$.", l, floatround(l*120));
      SCM(playerid, SERVERBOJA, string);

      SetTimerEx("KanisterNapunjen", 7000, false, "d", playerid);
      TogglePlayerControllable(playerid, 0);
      FirmaNovac(pumpa, floatround(l*120)/2);
      SavePlayer(playerid);
   }
   return 1;
}

YCMD:dopunikanisterom(playerid, params[], help)
{
   if(UlogovanProvera[playerid] == 0)
      return Error(playerid,"Moras biti prijavljen!");

   if (PI[playerid][pKanister] != 1)
       return Error(playerid, "Vi ne posjedujete kanister! Kupite ga na trafici!");

   if (PI[playerid][pKanisterLitara] == 0.0)
       return Error(playerid, "Kanister je prazan, dopunite ga na benzinskoj!");

   if (PuniGorivo[playerid] != false)
      return Error(playerid, "Vec punite gorivo!");


   new Float: l;
   if(sscanf(params,"f",l)) return Koristi(playerid,"dopunikanisterom [Litara]");

    if (PI[playerid][pKanisterLitara] < l)
       return Error(playerid, "Vas kanister nema toliko litara goriva u sebi!");

   new
       vehicleid = getPlayerNearestVehicle(playerid);

   if( VoziloJeMotor( GetVehicleModel(vehicleid) ) )
   {
      if ((Fuel[vehicleid] + l) > 45.0)
         return Error(playerid,"Zapremina rezervoara je 45 litara.");
   }
   if( VoziloJeAvion( GetVehicleModel(vehicleid) ) || VoziloJeBrod( GetVehicleModel(vehicleid) ) || VoziloJeKamion( GetVehicleModel(vehicleid) ) )
   {
      if ((Fuel[vehicleid] + l) > 85.0)
         return Error(playerid,"Zapremina rezervoara je 85 litara.");
   }
   else
   {
      if ((Fuel[vehicleid] + l) > 45.0)
         return Error(playerid,"Zapremina rezervoara je 45 litara.");
   }

   if (VoziloJeDizelas(vehicleid))
   {
       if (PI[playerid][pKanisterType] != 1)
           return Error(playerid, "Vozilo ispred vas je dizelas, a vi u kanisteru nemate dizel!");


      PuniGorivo[playerid] = true;
      TogglePlayerControllable(playerid, false);
      Fuel[vehicleid] += l;
      PI[playerid][pKanisterLitara] -= l;

      static
          string[100];
      format(string, sizeof string, "[KANISTER] {FFFFFF}Dopunjavate auto gorivom dizel! Auto ce imati %.2f L goriva u sebi!", Fuel[vehicleid]);
      SCM(playerid, CRVENA, string);

      GameTextForPlayer(playerid, "~b~Dopunjavate gorivo!", 5000, 3);

      SetTimerEx("DopunioKanisterom", 5000, false, "d", playerid);
   }
   else if (IsVehicleLetelica(vehicleid))
   {
       if (PI[playerid][pKanisterType] != 3)
           return Error(playerid, "Vozilo ispred vas je letjelica, a vi u kanisteru nemate kerozin!");

        PuniGorivo[playerid] = true;
      TogglePlayerControllable(playerid, false);
      Fuel[vehicleid] += l;

      static
          string[100];
      format(string, sizeof string, "[KANISTER] {FFFFFF}Dopunjavate auto gorivom dizel! Auto ce imati %.2f L goriva u sebi!", Fuel[vehicleid]);
      SCM(playerid, CRVENA, string);

      GameTextForPlayer(playerid, "~b~Dopunjavate gorivo!", 5000, 3);

      SetTimerEx("DopunioKanisterom", 5000, false, "d", playerid);
   }
   else
   {
       if (PI[playerid][pKanisterType] != 2)
           return Error(playerid, "Vozilo ispred vas je benzinac, a vi u kanisteru nemate benzina!");

      PuniGorivo[playerid] = true;
      TogglePlayerControllable(playerid, false);
      Fuel[vehicleid] += l;

      static
          string[100];
      format(string, sizeof string, "[KANISTER] {FFFFFF}Dopunjavate auto gorivom dizel! Auto ce imati %.2f L goriva u sebi!", Fuel[vehicleid]);
      SCM(playerid, CRVENA, string);

      GameTextForPlayer(playerid, "~b~Dopunjavate gorivo!", 5000, 3);

      SetTimerEx("DopunioKanisterom", 5000, false, "d", playerid);
   }
   return 1;
}[/pawn]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): //
Slika/video ingame problema(obavezno ako je ingame problem): //