Szerző Téma: 2 dolog mi nem hagy nyugodtan pedig már megpróbáltam javítani...  (Megtekintve 742 alkalommal)

Heroic

  • Vendég
0 Show voters
Sziasztok!
2 dologgal egyszerûen nem boldugulok... :S
1./motor parancs....
2.Benzin bar...
1.
 
   if(!strcmp(cmd, \"/motor\", true))
{
    if(IsPlayerConnected(playerid))
    {
       if(IsPlayerInVehicle(playerid, PlayerInfo[playerid][pPcarkey]) || IsPlayerInVehicle(playerid, PlayerInfo[playerid][pPcarkey2]))
       {
      if(IsPlayerInAnyVehicle(playerid))
      {
             if(!engineOn[GetPlayerVehicleID(playerid)])
             {
                    if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)
            {
               return 1;
            }
            new playerveh = GetPlayerVehicleID(playerid);
            if(CanTurnEngine[playerid] != playerveh && CanTurnEngine[playerid] == 9999)
               return SendClientMessage(playerid, COLOR_GREY,\"* Mit akarsz beindítani?!\");
            PutPlayerInVehicle(playerid, playerveh, 0);
            engineOn[GetPlayerVehicleID(playerid)] = true;
            SendClientMessage(playerid,COLOR_LIGHTGREEN,\"PiwRPG: Beindul....\");
                  format(string, sizeof(string), \"*Valaki elfordítja a kulcsot.\");
                     SetTimerEx(\"StartingTheVehicle\",3500,0,\"i\",playerid);
                  ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
            new y, m, d;
            new h,mi,s;
            getdate(y,m,d);
            gettime(h,mi,s);
            format(string,sizeof(string), \"(%d/%d/%d)[%d:%d:%d] %s [CMD] -> /engine\",d,m,y,h,mi,s,sendername);
            CommandLog(string);
            return 1;
         }
         if(engineOn[GetPlayerVehicleID(playerid)])
             {
                 if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)
            {
               return 1;
            }
            if(pveh == 510 || pveh == 462 || pveh == 481 || pveh == 509)
            {
               return 1;
            }
            if(idcar == 59 || idcar == 60)
            {
               return 1;
            }
            if(idcar >= 135 && idcar <= 154)
            {
                if(HireCar[playerid] != idcar)
                {
                  return 1;
               }
            }
            if(IsAHarvest(idcar))
            {
                return 1;
            }
            if(IsADrugHarvest(idcar))
            {
                return 1;
            }
            if(IsASweeper(idcar))
            {
                return 1;
            }
            TogglePlayerControllable(playerid, 0);
            engineOn[GetPlayerVehicleID(playerid)] = false;
            TogglePlayerControllable(playerid, false);
                   format(string, sizeof(string), \"*Valaki leálltija jármûvét.\");
                  ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
            new y, m, d;
            new h,mi,s;
            getdate(y,m,d);
            gettime(h,mi,s);
            format(string,sizeof(string), \"(%d/%d/%d)[%d:%d:%d] %s [CMD] -> /engine\",d,m,y,h,mi,s,sendername);
            CommandLog(string);
            return 1;
         }
      }
   }
   return 1;
    }
}

 
ez a parancs...
Hibám:Amikor beülök mondjuk egy Cabbieba ki írja hogy a motor beindításához írd be /motor
beírom és nem történik semmi.
Kérdés:Miért? Hogy javítom? Plz Pontosan írjatok le miért rossz :S
2.
Van egy fasza kis Benzin barom ami elvileg mérné a benzint
de 100/100% van és nem megy se fel se le.....
 
            if(gGas == 1)
         {
             new vehicle = GetPlayerVehicleID(i);
                  if(IsModelAPlane(vehicle) || IsModelABoat(vehicle) || IsModelABycicle(vehicle) || IsADrugHarvest(vehicle) || IsAHarvest(vehicle) || IsModelAHeli(vehicle))
                    {
                      format(string, sizeof(string), \"~w~Benzin: ~g~~h~--\");
         }
         else if(vehicle >= 1698)
         {
                    format(string, sizeof(string), \"~w~Benzin: ~p~Ismeretlen\");
         }
         else
         {
             if(Gas[vehicle] > 10)
             {
                          format(string, sizeof(string), \"~w~Benzin: ~g~~h~%d/~w~100%.\",Gas[vehicle]);
            }
            else
            {
                format(string, sizeof(string), \"~w~Benzin: ~r~~h~%d/~w~100%.\",Gas[vehicle]);
            }
         }
         TextDrawSetString(Textdraw40, string);
                }
   }

 
ez van a
public SetPlayerFree(playerid,declare,reason[]) 

alatt...
miért rossz?
és hogy javítom?
a TextDraw:
 
   Textdraw40[playerid] = TextDrawCreate(498.000000, 140.000000, \" \"); // benzinem
TextDrawBackgroundColor(Textdraw40[playerid], 255);
TextDrawFont(Textdraw40[playerid], 1);
TextDrawLetterSize(Textdraw40[playerid], 0.389999, 1.299999);
TextDrawColor(Textdraw40[playerid], 0xFFFFFFFF);
TextDrawSetOutline(Textdraw40[playerid], 1);
TextDrawSetProportional(Textdraw40[playerid], 1);

2 dolog mi nem hagy nyugodtan pedig már megpróbáltam javítani...
« Válasz #1 Dátum: 2011. május 28. - 20:01:39 »
0 Show voters
Ennyi mindent egyszerre átnézni hogy mi rossz és mi az ami jó, nem fogok neki állni létrehozni minden változót, csak hogy letudjam tesztelni.
Elsõ ránézésre ezt a részt én kicsit sokkalom:
 

       if(IsPlayerConnected(playerid))
       {
          if(IsPlayerInVehicle(playerid, PlayerInfo[playerid][pPcarkey]) || IsPlayerInVehicle(playerid, PlayerInfo[playerid][pPcarkey2]))
          {
            if(IsPlayerInAnyVehicle(playerid))
            {
                if(!engineOn[GetPlayerVehicleID(playerid)])
                {
                       if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)
                  {
                     return 1;
                  }
                  new playerveh = GetPlayerVehicleID(playerid);

 
Elsõ if( aki beírta a parancsot csatlakozva van-e? (IsPlayerConnected)
Második if( a parancsot beíró játékos egy bizonyos jármûben van-e? (Itt kettõ lehetséges pPcarkey pPcarkey2)
Harmadik if( ha már egy bizonyos jármûben ül azért még egyszer meggyõzõdünk arról hogy jármûben van-e?  (Mi a ****-nak?)
Negyedik if( Az éppen használatba vett jármû elvan-e indítva vagy nincs? Ebbõl a kifejezésbõl ezt veszem ki (engineOn[])
Na ha elvan indítva akkor ötödiknek szintén egy if( a játékos épp nem tartózkodik jármûben state szerint? (What? Talán ennyiszer kiszállhatott vagy mi a fene?)
Aztán meg egy változóban eltároljuk a vehicleid értékét. (new playerveh)
Ezt te nem komolyan gondoltad. (Remélem.)

Heroic

  • Vendég
2 dolog mi nem hagy nyugodtan pedig már megpróbáltam javítani...
« Válasz #2 Dátum: 2011. május 28. - 20:11:22 »
0 Show voters
:S akkor megpróbálom kivenni belõle eszt a parancsot
és a másik?
a benzin?
« Utoljára szerkesztve: 2011. május 28. - 20:22:50 írta Heroic »

2 dolog mi nem hagy nyugodtan pedig már megpróbáltam javítani...
« Válasz #3 Dátum: 2011. május 28. - 21:11:32 »
0 Show voters
Hát hirtelen annyit veszek ki belõle hogy semmi nem csökkenti a
 

Gas[vehicle];

 
értékét.
Legalábbis abban amit ide másoltál nem látom.
 

Gas[vehicle]--;

2 dolog mi nem hagy nyugodtan pedig már megpróbáltam javítani...
« Válasz #4 Dátum: 2011. május 29. - 11:59:16 »
0 Show voters
Lehet hülyeséget írok, de nem kéne bele még 1 timer-is hogy milyen idõközönként csökkentse a benzin értékét? (Mert én nem láttam de lehet én vagyok a vak, akkor sry)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal