GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: doboka98 - 2012. október 01. - 15:59:21

Cím: Ciklus, összeadás
Írta: doboka98 - 2012. október 01. - 15:59:21
Sziasztok! Lenne egy fontos kérdésem! Na szóval, elõször is készítek egy TDM szervert. Van 2 csapatom. És azt szeretném megoldani, hogy oda rakja ahol kevesebben vannak, azt aki felcsatlakozik a szerverre. Ha viszont egyenlõ, akkor random rakja be egyikbe. Tudom, hogy kell ciklus hozzá, de sehogy sem értem, hogyan lehet :D. Remélem segít valaki! :D
Cím: Ciklus, összeadás
Írta: JBauer - 2012. október 01. - 16:26:47
new csapat1;
new csapat2;
new csapat[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
   for(new i; i < GetMaxPlayers(); i++)
   {
      if(csapat1 > csapat2)
      {
          csapat[playerid] = 2;
          csapat2++;
      }
      if(csapat1 < csapat2)
      {
          csapat[playerid] = 1;
          csapat1++;
      }
      if(csapat1 && csapat2)
      {
           switch(random(2))
           {
               case 0:
               {
                     csapat[playerid] = 1;
                     csapat1++;
               }
               case 1:
               {
                    csapat[playerid] = 2;
                    csapat2++;
               }
           }
       }
   }
   return 1;
}

 
Nem teszteltem.
Cím: Ciklus, összeadás
Írta: doboka98 - 2012. október 01. - 16:34:55
Köszönöm, elvileg jó kell legyen :D
 
if(csapat1 && csapat2)

 

if(csapat1  ==  csapat2)
Cím: Ciklus, összeadás
Írta: JBauer - 2012. október 01. - 16:38:53
Ja igen.. köszi :D
Cím: Ciklus, összeadás
Írta: Zsolesszka - 2012. október 01. - 19:49:19
Idézetet írta: JBauer date=1349101607\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"28162\" data-ipsquote-contentclass=\"forums_Topic

new csapat1;
new csapat2;
new csapat[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
   for(new i; i < GetMaxPlayers(); i++)
   {
      if(csapat1 > csapat2)
      {
          csapat[playerid] = 2;
          csapat2++;
      }
      if(csapat1 < csapat2)
      {
          csapat[playerid] = 1;
          csapat1++;
      }
      if(csapat1 && csapat2)
      {
           switch(random(2))
           {
               case 0:
               {
                     csapat[playerid] = 1;
                     csapat1++;
               }
               case 1:
               {
                    csapat[playerid] = 2;
                    csapat2++;
               }
           }
       }
   }
   return 1;
}

 
Nem teszteltem.
 
Tudom hogy a téma már lezárva, de minek ide a for ciklus?
Cím: Ciklus, összeadás
Írta: JBauer - 2012. október 01. - 19:52:36
Öhm.. igen. Eredetileg máshogy akartam megoldani, köszi az észrevételt. :D
Normális kód:
    new csapat1;
    new csapat2;
    new csapat[MAX_PLAYERS];
     
    public OnPlayerConnect(playerid)
    {
          if(csapat1 > csapat2)
          {
              csapat[playerid] = 2;
              csapat2++;
          }
          if(csapat1 < csapat2)
          {
              csapat[playerid] = 1;
              csapat1++;
          }
          if(csapat1 == csapat2)
          {
               switch(random(2))
               {
                   case 0:
                   {
                         csapat[playerid] = 1;
                         csapat1++;
                   }
                   case 1:
                   {
                        csapat[playerid] = 2;
                        csapat2++;
                   }
               }
        }
        return 1;
}