Szerző Téma: Rang adás  (Megtekintve 998 alkalommal)

Rang adás
« Dátum: 2014. május 10. - 19:07:18 »
0 Show voters
Sziasztok!
Az lenne a problémám, hogy a rang adásnál minden jól meg, de ha meg szeretném nézni az Online listát, akkor mindenkinek azt a rangot írja, amit írtam. Ha pedig valakinek nincs abba a Szervezetbe rangja, akkor nem ír semmit. Azt szeretném, hogy mindenkinek külön legyen a rangja, és akiknek nincs, akkor annak is kiírja.
A rangadás:
 

CMD:rangad(playerid,params[])
{
    if(pInfo[playerid][pFrakcio] == SZFONOK || pInfo[playerid][pSzerv] == FBIFONOK || pInfo[playerid][pFrakcio] == TAXIFONOK || pInfo[playerid][pFrakcio] == RAFONOK || pInfo[playerid][pFrakcio] == TUZOLTOFONOK || pInfo[playerid][pFrakcio] == ADOFONOK || pInfo[playerid][pFrakcio] == SZFONOK || pInfo[playerid][pFrakcio] == MFONOK || pInfo[playerid][pFrakcio] == RFONOK || pInfo[playerid][pAdmin] >= 4)
    {
        new Rang[20];
        if(sscanf(params, \"rs\", id, Rang)) return SendClientMessage(playerid, PIROS, \"Használat: /rangad < Név / Id > < Rang >\");
       
       if(!IsPlayerConnected(id)) return SendClientMessage(playerid, PIROS, \"A játékos nem elérhetõ!\");
       
       format(pInfo[playerid][pRang], MAX_PLAYER_NAME, \"%s\", Rang);
       
       SendClientMessage(playerid, NARANCS, \"* Rang kiosztva!\");
    }
    else
    {
        SendClientMessage(playerid, PIROS, \"Nem vagy Frakció Leader!\");
    }
    return 1;
}

 
Az Online lista
 

CMD:fbitagok(playerid, params[])
{
new S[128];
        SendClientMessage(playerid, FONTOS, \"Elérhetõ FBI-osok:\");
for(new i; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
    if(pInfo[pSzerv] == FBIFONOK)
    {
      format(S, sizeof(S), \" %s, %s\", pInfo[pFNev], pInfo[playerid][pRang]);
      SendClientMessage(playerid, FONTOS, S);
    }
     else if(pInfo[pSzerv] == FBIOS)
    {
                format(S, sizeof(S), \" %s, %s\", pInfo[pFNev], pInfo[playerid][pRang]);
      SendClientMessage(playerid, FONTOS, S);
    }
}
}
return 1;
}

 

Dupla hozzászólás automatikusan összefûzve. ( 2014. május 10. - 19:38:18 )

Már félig megvan, most már csak magamnak tudok rangot adni.

Dupla hozzászólás automatikusan összefûzve. ( 2014. május 11. - 08:32:18 )

Most így néz ki:
 
CMD:rangad(playerid,params[])
{
    if(pInfo[playerid][pFrakcio] == SZFONOK || pInfo[playerid][pSzerv] == FBIFONOK || pInfo[playerid][pFrakcio] == TAXIFONOK || pInfo[playerid][pFrakcio] == RAFONOK || pInfo[playerid][pFrakcio] == TUZOLTOFONOK || pInfo[playerid][pFrakcio] == ADOFONOK || pInfo[playerid][pFrakcio] == SZFONOK || pInfo[playerid][pFrakcio] == MFONOK || pInfo[playerid][pFrakcio] == RFONOK || pInfo[playerid][pAdmin] >= 4)
    {
        new Rang[20];
        if(sscanf(params, \"us\", id, Rang)) return SendClientMessage(playerid, PIROS, \"Használat: /rangad < Név / Id > < Rang >\");
       
       if(!IsPlayerConnected(id)) return SendClientMessage(playerid, PIROS, \"A játékos nem elérhetõ!\");
       
       format(pInfo[playerid][pRang], MAX_PLAYER_NAME, \"%s\", Rang);
       
       SendClientMessage(playerid, NARANCS, \"* Rang kiosztva!\");
    }
    else
    {
        SendClientMessage(playerid, PIROS, \"Nem vagy Frakció Leader!\");
}
    return 1;
}

 
A másik pedig:
 
CMD:fbitagok(playerid, params[])
{
new S[128];
    SendClientMessage(playerid, FONTOS, \"Elérhetõ FBI-osok:\");
for(new i; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
   if(pInfo[pSzerv] == FBIFONOK)
    {
      format(S, sizeof(S), \" %s, %s\", pInfo[pFNev], pInfo[pRang]);
      SendClientMessage(playerid, FONTOS, S);
   }
   else if(pInfo[pSzerv] == FBIOS)
    {
      format(S, sizeof(S), \" %s, %s\", pInfo[pFNev], pInfo[pRang]);
      SendClientMessage(playerid, FONTOS, S);
   }
}
}
return 1;
}
« Utoljára szerkesztve: 2014. május 11. - 08:32:18 írta DeanGriffon »

Rang adás
« Válasz #1 Dátum: 2014. május 14. - 18:07:18 »
0 Show voters
Megoldottam!
ezt:
 
format(pInfo[playerid][pRang], MAX_PLAYER_NAME, \"%s\", Rang);

 
átírtam erre:
 
format(pInfo[id][pRang], MAX_PLAYER_NAME, \"%s\", Rang);

Rang adás
« Válasz #2 Dátum: 2014. május 10. - 19:07:18 »
0 Show voters
Sziasztok!
Az lenne a problémám, hogy a rang adásnál minden jól meg, de ha meg szeretném nézni az Online listát, akkor mindenkinek azt a rangot írja, amit írtam. Ha pedig valakinek nincs abba a Szervezetbe rangja, akkor nem ír semmit. Azt szeretném, hogy mindenkinek külön legyen a rangja, és akiknek nincs, akkor annak is kiírja.
A rangadás:
 

CMD:rangad(playerid,params[])
{
    if(pInfo[playerid][pFrakcio] == SZFONOK || pInfo[playerid][pSzerv] == FBIFONOK || pInfo[playerid][pFrakcio] == TAXIFONOK || pInfo[playerid][pFrakcio] == RAFONOK || pInfo[playerid][pFrakcio] == TUZOLTOFONOK || pInfo[playerid][pFrakcio] == ADOFONOK || pInfo[playerid][pFrakcio] == SZFONOK || pInfo[playerid][pFrakcio] == MFONOK || pInfo[playerid][pFrakcio] == RFONOK || pInfo[playerid][pAdmin] >= 4)
    {
        new Rang[20];
        if(sscanf(params, \"rs\", id, Rang)) return SendClientMessage(playerid, PIROS, \"Használat: /rangad < Név / Id > < Rang >\");
       
       if(!IsPlayerConnected(id)) return SendClientMessage(playerid, PIROS, \"A játékos nem elérhetõ!\");
       
       format(pInfo[playerid][pRang], MAX_PLAYER_NAME, \"%s\", Rang);
       
       SendClientMessage(playerid, NARANCS, \"* Rang kiosztva!\");
    }
    else
    {
        SendClientMessage(playerid, PIROS, \"Nem vagy Frakció Leader!\");
    }
    return 1;
}

 
Az Online lista
 

CMD:fbitagok(playerid, params[])
{
new S[128];
        SendClientMessage(playerid, FONTOS, \"Elérhetõ FBI-osok:\");
for(new i; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
    if(pInfo[pSzerv] == FBIFONOK)
    {
      format(S, sizeof(S), \" %s, %s\", pInfo[pFNev], pInfo[playerid][pRang]);
      SendClientMessage(playerid, FONTOS, S);
    }
     else if(pInfo[pSzerv] == FBIOS)
    {
                format(S, sizeof(S), \" %s, %s\", pInfo[pFNev], pInfo[playerid][pRang]);
      SendClientMessage(playerid, FONTOS, S);
    }
}
}
return 1;
}

 

Dupla hozzászólás automatikusan összefûzve. ( 2014. május 10. - 19:38:18 )

Már félig megvan, most már csak magamnak tudok rangot adni.

Dupla hozzászólás automatikusan összefûzve. ( 2014. május 11. - 08:32:18 )

Most így néz ki:
 
CMD:rangad(playerid,params[])
{
    if(pInfo[playerid][pFrakcio] == SZFONOK || pInfo[playerid][pSzerv] == FBIFONOK || pInfo[playerid][pFrakcio] == TAXIFONOK || pInfo[playerid][pFrakcio] == RAFONOK || pInfo[playerid][pFrakcio] == TUZOLTOFONOK || pInfo[playerid][pFrakcio] == ADOFONOK || pInfo[playerid][pFrakcio] == SZFONOK || pInfo[playerid][pFrakcio] == MFONOK || pInfo[playerid][pFrakcio] == RFONOK || pInfo[playerid][pAdmin] >= 4)
    {
        new Rang[20];
        if(sscanf(params, \"us\", id, Rang)) return SendClientMessage(playerid, PIROS, \"Használat: /rangad < Név / Id > < Rang >\");
       
       if(!IsPlayerConnected(id)) return SendClientMessage(playerid, PIROS, \"A játékos nem elérhetõ!\");
       
       format(pInfo[playerid][pRang], MAX_PLAYER_NAME, \"%s\", Rang);
       
       SendClientMessage(playerid, NARANCS, \"* Rang kiosztva!\");
    }
    else
    {
        SendClientMessage(playerid, PIROS, \"Nem vagy Frakció Leader!\");
}
    return 1;
}

 
A másik pedig:
 
CMD:fbitagok(playerid, params[])
{
new S[128];
    SendClientMessage(playerid, FONTOS, \"Elérhetõ FBI-osok:\");
for(new i; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
   if(pInfo[pSzerv] == FBIFONOK)
    {
      format(S, sizeof(S), \" %s, %s\", pInfo[pFNev], pInfo[pRang]);
      SendClientMessage(playerid, FONTOS, S);
   }
   else if(pInfo[pSzerv] == FBIOS)
    {
      format(S, sizeof(S), \" %s, %s\", pInfo[pFNev], pInfo[pRang]);
      SendClientMessage(playerid, FONTOS, S);
   }
}
}
return 1;
}
« Utoljára szerkesztve: 2014. május 11. - 08:32:18 írta DeanGriffon »

Rang adás
« Válasz #3 Dátum: 2014. május 14. - 18:07:18 »
0 Show voters
Megoldottam!
ezt:
 
format(pInfo[playerid][pRang], MAX_PLAYER_NAME, \"%s\", Rang);

 
átírtam erre:
 
format(pInfo[id][pRang], MAX_PLAYER_NAME, \"%s\", Rang);

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal