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: csongi99 - 2013. November 09. - 20:13:52

Cím: Miért nem jó ez a script
Írta: csongi99 - 2013. November 09. - 20:13:52
Sziasztok!
Viszonylag kezdõ scripter vagyok.
Azt szertném meg kérdezni hogy miért van az hogy ennél a parancsnál anyiszor irja ki hogy Szerelõ Tagok ahány ember fent van a szerveren!
 
CMD:szerelotagok(playerid,params[])
{
   new S[128];
   if(IsPlayerConnected(playerid))
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
   if(IsPlayerConnected(i))
   {
      SendClientMessage(playerid, ZOLD, \"Online szerelõk:\");
               if(pInfo[playerid][pFrakcio] == 7 || pInfo[playerid][pFrakcio] == 8)
      {
         if(pInfo[pFrakcio] == 7 || pInfo[pFrakcio] == 8)
         {
            format(S, sizeof(S), \"- %s\", Nev(i));
            SendClientMessage(playerid, FONTOS, S);
         }
      }
   }
}
}
return 1;
}

 
A válaszokat elõre is köszönöm!
Cím: Miért nem jó ez a script
Írta: TheDon - 2013. November 09. - 20:16:12
Ezt:
SendClientMessage(playerid, ZOLD, \"Online szerelõk:\");
a cikluson kívül rakd
Cím: Miért nem jó ez a script
Írta: csongi99 - 2013. November 09. - 20:18:15
Hogy érted? Melyiken kívül?
Cím: Miért nem jó ez a script
Írta: Campe3r - 2013. November 09. - 21:14:47
a for fölé rakjad, úgy érti szerintem.
Cím: Miért nem jó ez a script
Írta: csongi99 - 2013. November 10. - 21:38:07
Sajnos így sem mûködik.
Cím: Miért nem jó ez a script
Írta: Kovacs_Richard - 2013. November 12. - 19:53:18
CMD:szerelotagok(playerid,params[])
{
   if(IsPlayerConnected(playerid)
   if(pInfo[playerid][pFrakcio] == 7 || pInfo[playerid][pFrakcio] == 8)
   {
       new S[23]; // 2+20+1
       SendClientMessage(playerid, ZOLD, \"Online szerelõk:\");
       for(new i = 0; i < MAX_PLAYERS; i++)
       {
           if(IsPlayerConnected(i))
           if(pInfo[pFrakcio] == 7 || pInfo[pFrakcio] == 8)
           {
               format(S, sizeof(S), \"- %s\", Nev(i));
               SendClientMessage(playerid, FONTOS, S);
           }
       }
   }
   return 1;
}

 
kicsit módosítottam...
1. nem kell S-nek 128 cella amikor max 23 karaktert raksz bele
2. az if-eket kicsit átpakoltam
és szerintem meg van miért \"nem jó\" nálad a dolog:
 
if(pInfo[playerid][pFrakcio] == 7 || pInfo[playerid][pFrakcio] == 8)

 
tehát csak a 7-es és a 8-as frakcióba tartozó játékosok használhatják, ha nem így akarod akkor ezt a sort töröld
Cím: Miért nem jó ez a script
Írta: csongi99 - 2013. November 18. - 00:56:32
Nem. Ezt a parancsot bárki használhatja. Ha beiron a parancsot akkor ki írja hogy ki van online a 7-es és a 8-as frakcióból
Cím: Miért nem jó ez a script
Írta: ZyZu. - 2013. November 18. - 01:42:22
[mod]Téma neve mindig a problémádra utaljon, kérlek nevezd át![/mod]
Cím: Miért nem jó ez a script
Írta: Kovacs_Richard - 2013. November 18. - 07:32:32
akkor szerintem erre lesz szükséged:
 
CMD:szerelotagok(playerid,params[])
{
   new S[23]; // 2+20+1
   SendClientMessage(playerid, ZOLD, \"Online szerelõk:\");
   for(new i = 0; i < MAX_PLAYERS; i++)
   {
       if(IsPlayerConnected(i))
       if(pInfo[pFrakcio] == 7 || pInfo[pFrakcio] == 8)
       {
           format(S, sizeof(S), \"- %s\", Nev(i));
           SendClientMessage(playerid, FONTOS, S);
       }
   }
   return 1;
}
Cím: Miért nem jó ez a script
Írta: csongi99 - 2013. November 18. - 16:38:13
Mûködik köszönöm szépen!