Szerző Téma: Ciklus probléma  (Megtekintve 983 alkalommal)

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Ciklus probléma
« Dátum: 2012. március 19. - 22:16:58 »
0 Show voters
Sziasztok,
[pawn]
CMD:bemond(playerid,params[])
{
new szoveg[64];
if (Belepve[playerid] != 0)
{
   if(sscanf(params,\"s\",szoveg))return SendClientMessage(playerid,SZURKE,\"Használat: /bemond [szöveg]\");
   {
   if(JatekosInfo[playerid][Frakcio] == 3)
   {
      if(JatekosInfo[playerid][szolgalatban] == 1)
      {
          for(new i; i < sizeof(radiosjarmu); i++)
         {
            if(IsPlayerInVehicle(playerid, radiosjarmu))

            {


               new string[256];


               GetPlayerName(playerid,nev,sizeof(nev));


               format(string,sizeof(string),\"%s: %s\", nev,szoveg);


               SendClientMessageToAll(RADIO, string);


               printf(string);


            }


            else SendClientMessage(playerid, HIBA, \"Nem vagy rádiós jármûben!\");


         }


      }


      else SendClientMessage(playerid, HIBA, \"Nem vagy szolgálatban!\");


   }


   else SendClientMessage(playerid, HIBA, \"Nem vagy a rádió állomás tagja!\");


   }


    }


    else SendClientMessage(playerid, HIBA, \"Be kell jelentkezned!\");


return 0;


}


[/pawn]


Van ez a parancs,és azt szeretném megoldani,hogy ha a rádiós jármûvek közül egyikben sincs benne akkor kiírja,hogy nem vagy rádiós jármûben,ha meg rádiós jármûben van akkor ne írja ki.


Jelenleg így mûködik:


6 rádiós jármû van,ha nincs rádiós jármûben akkor hatszor kiírja,hogy rádiós jármûben kell lenned,ha rádiós jármûben van akkor 5-ször írja ki,és 1szer a bemondani kívánt szöveget.


Segítene valaki ? köszi

Nem elérhető Gabor..

  • 1883
  • Gabor..
    • Profil megtekintése
Ciklus probléma
« Válasz #1 Dátum: 2012. március 19. - 22:33:14 »
0 Show voters
A \'radiosjarmu\'-nek a változóját, esetleg definicíóját megkaphatnám?
UI.: Majd holnap lesze, nézek vmit a tvbe!
« Utoljára szerkesztve: 2012. március 19. - 22:45:23 írta Gabor.. »

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Ciklus probléma
« Válasz #2 Dátum: 2012. március 20. - 05:48:14 »
0 Show voters
[pawn]
new radiosjarmu[5];
radiosjarmu[0] = AddStaticVehicle(582,2471.80004883,-40.59999847,26.60000038,0.00000000,2,1); //Newsvan
radiosjarmu[1] = AddStaticVehicle(582,2455.69995117,-40.79999924,26.60000038,0.00000000,2,1); //Newsvan
radiosjarmu[2] = AddStaticVehicle(582,2471.79980469,-32.69921875,26.60000038,0.00000000,2,1); //Newsvan
radiosjarmu[3] = AddStaticVehicle(582,2468.50000000,-40.50000000,26.60000038,0.00000000,2,1); //Newsvan
radiosjarmu[4] = AddStaticVehicle(582,2468.60009766,-32.70000076,26.60000038,0.00000000,2,1); //Newsvan
[/pawn]

Ciklus probléma
« Válasz #3 Dátum: 2012. március 20. - 06:46:04 »
0 Show voters
Tessék:
 

strlen(radiosjarmu);

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Ciklus probléma
« Válasz #4 Dátum: 2012. március 20. - 15:35:07 »
0 Show voters
mit cseréljek le erre?

dexi

  • Vendég
Ciklus probléma
« Válasz #5 Dátum: 2012. március 20. - 15:43:51 »
0 Show voters
Mindjart gephez ulok, es megcsinalom.

Nem elérhető DaVe

  • 149
    • Profil megtekintése
Ciklus probléma
« Válasz #6 Dátum: 2012. március 20. - 15:53:49 »
0 Show voters
Kihagytam dolgokat és nem is biztos hogy így nevezted el a tömböt, nézd el telefonról írtam, de a lényeg itt van
 
new bool: kocsibanvan;
for(new i; i < sizeof radiosjarmuvek; i++)
{
if(IsPlayerInVehicle(playerid,radiosjarmuvek)) kocsibanvan = true,break;
}
if(!kocsibanvan) //ha nincs egyik kocsiban sem

dexi

  • Vendég
Ciklus probléma
« Válasz #7 Dátum: 2012. március 20. - 15:59:56 »
+1 Show voters
CMD:bemond(playerid,params[])
{
new szoveg[64];
if (Belepve[playerid] != 0)
{
if(sscanf(params,\"s\",szoveg))return SendClientMessage(playerid,SZURKE,\"Használat: /bemond [szöveg]\");
{
   if(JatekosInfo[playerid][Frakcio] == 3)
   {
      if(JatekosInfo[playerid][szolgalatban] == 1)
      {
          new bool:Kocsiban;
          for(new i; i < sizeof(radiosjarmu); i++)
         {
            if(IsPlayerInVehicle(playerid, radiosjarmu))
            {
                Kocsiban = true;
               new string[256];
               GetPlayerName(playerid,nev,sizeof(nev));
               format(string,sizeof(string),\"%s: %s\", nev,szoveg);
               SendClientMessageToAll(RADIO, string);
               printf(string);
            }
         }
         if( Kocsiban == false )
         {
             SendClientMessage( playerid, HIBA, \"Nem vagy rádiós jármûben!\" );
         }
      }
      else SendClientMessage(playerid, HIBA, \"Nem vagy szolgálatban!\");
   }
   else SendClientMessage(playerid, HIBA, \"Nem vagy a rádió állomás tagja!\");
}
}
else SendClientMessage(playerid, HIBA, \"Be kell jelentkezned!\");
return 1;
}

 
nem teszteltem, elviekben megy.

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Ciklus probléma
« Válasz #8 Dátum: 2012. március 20. - 16:34:26 »
0 Show voters
Köszi majd megnézem IG,hogy megy-e
és ez így jó lesz?
[pawn]new bool:Kocsiban;
                        for(new i; i < sizeof(rendorjarmu); i++)
                  {
                     if(vehid == rendorjarmu)

                     {


                          if(RendorsegSzef >= penzkell)


                          {


                              if(DBKBenzin >= liter)


                              {


                                 Kocsiban = true;


                                 DBKBenzin -= liter;


                                 DBKPenz += penzkell;


                                 RendorsegSzef -= penzkell;


                                 JarmuInfo[vehid][uzemanyag] += liter;


                                 new string[256];


                                   GetPlayerName(playerid,nev,sizeof(nev));


                               format(string,sizeof(string),\"%s megtankolta a jármûvét %d liter üzemanyaggal %d Forintért (MG-Frakció).\",nev,liter,penzkell);


                               printf(string);


                               SetTimerEx(\"Tankolas\",toltesido,false,\"iidd\",playerid,vehid,liter,penzkell);


                               TogglePlayerControllable(playerid,0);


                                 return 1;


                           }


                            else


                           {


                               new string[256];


                               format(string,sizeof(string),\"Nincs elég üzemanyag a kútban!(%d liter)\",DBKBenzin);


                               SendClientMessage(playerid, HIBA, string);


                               return 1;


                           }


                          }


                          else


                        {


                            new string[256];


                            format(string,sizeof(string),\"Nincs elég pénz a széfben a tankolásra!(%d Ft)\",penzkell);


                            SendClientMessage(playerid, HIBA, string);


                            return 1;


                        }


                     }


                  }


                  if(Kocsiban == false)


                   {


                      SendClientMessage(playerid, HIBA, \"Ez nem frakció jármû!\");


                      return 1;


                  }[/pawn]

dexi

  • Vendég
Ciklus probléma
« Válasz #9 Dátum: 2012. március 20. - 17:36:31 »
+1 Show voters
Én így használom a ciklusoknál.. Nekem tökéletesen megy : D

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Ciklus probléma
« Válasz #10 Dátum: 2012. március 20. - 18:06:43 »
0 Show voters
Oks köszi,egyébként nem kéne a Kocsiban = true; -t átrakni az if(Vehid == radiosjarmu) részhez?

Ui.: nem kell köszi,így is jó :D +1
« Utoljára szerkesztve: 2012. március 20. - 18:23:03 írta tudvari »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal