Szerző Téma: TDM rang szerinti csapatváltás hiba  (Megtekintve 818 alkalommal)

TDM rang szerinti csapatváltás hiba
« Dátum: 2014. március 04. - 17:52:58 »
0 Show voters
Üdv ismét.
Az a problémám hogy a TDM módon a rang szerinti besorolás valamiért hibás...nem jöttem rá miért.
Egyfolytában azt a szöveget írja amit a kisebb rankúnak kellene :/
Mert ugye ugy van hogy 1-tõl azaz 0 ponttól(RANK1=Definálva van) rank 8-ig(RANK8) van a besorolás.
Nade ugye van 4 nemzet,és 6 osztály.
Az elsõ osztály 1 es ranktól,a második 2 es ranktól,.......a 6 odik hatos rangtól vehetõ igénybe.
Na de most az a problematik. hogy Kisebb rankú osztályba ne léphetsz be,hanem csak abba ami azonos a rankoddal.
Nekem ez úgy kellene hogyha pl 6 os a rankod akkor 6 tól kezdve az összesbe beléphetsz.
Ha pl 3 mas a rangod akkor csak az 1,2 és 3 rankú osztályba.
Ha meg 8 as,vagy 7 rankú vagy akkor ugyan az mint a 6 os ranknál...6 tól kezdve az összesbe.
Így néz ki a kód:
 

if     (GetPlayerScore(playerid) >= RANK1 && GetPlayerScore(playerid) < RANK2) rank = 1;
else if(GetPlayerScore(playerid) >= RANK2 && GetPlayerScore(playerid) < RANK3) rank = 2;
else if(GetPlayerScore(playerid) >= RANK3 && GetPlayerScore(playerid) < RANK4) rank = 3;
else if(GetPlayerScore(playerid) >= RANK4 && GetPlayerScore(playerid) < RANK5) rank = 4;
else if(GetPlayerScore(playerid) >= RANK5 && GetPlayerScore(playerid) < RANK6) rank = 5;
else if(GetPlayerScore(playerid) >= RANK6 && GetPlayerScore(playerid) < RANK7) rank = 6;
else if(GetPlayerScore(playerid) >= RANK7 && GetPlayerScore(playerid) < RANK8) rank = 7;

 
A hiba üzenetes cucc kombó
 

if(IsPlayerChoosingClass[playerid] == 1)
    {
    if(ClassChoosingStep[playerid] == 0) // ASSAULT
    {
        gClass[playerid] = ASSAULT;
   }
   if(ClassChoosingStep[playerid] == 1) // MEDIC
   {
               if(Rank(playerid) != 2) return SendClientMessage(playerid, C_WHITE, \"A rangod nem elég magas!\");
       gClass[playerid] = MEDIC;
   }
   if(ClassChoosingStep[playerid] == 2) // ANTI-TANK
   {
       if(Rank(playerid) != 3) return SendClientMessage(playerid, C_WHITE, \"A rangod nem elég magas!\");
       gClass[playerid] = ANTI-TANK;
   }
   if(ClassChoosingStep[playerid] == 3) // ENGINEER
   {
       if(Rank(playerid) != 4) return SendClientMessage(playerid, C_WHITE, \"A rangod nem elég magas!\");
       gClass[playerid] = ENGINEER;
   }
   if(ClassChoosingStep[playerid] == 4) // AIRFORCE
   {
       if(Rank(playerid) != 5) return SendClientMessage(playerid, C_WHITE, \"A rangod nem elég magas!\");
       gClass[playerid] = AIRFORCE;
   }
   if(ClassChoosingStep[playerid] == 5) // SPECICAL-OPS
   {
       if(Rank(playerid) != 6) return SendClientMessage(playerid, C_WHITE, \"A rangod nem elég magas!\");
       gClass[playerid] = SPEC-OPS;
   }
}

TDM rang szerinti csapatváltás hiba
« Válasz #1 Dátum: 2014. március 04. - 20:31:23 »
0 Show voters
így gondoltad?
 
if(IsPlayerChoosingClass[playerid] == 1)
            {
                    if(ClassChoosingStep[playerid] == 0) // ASSAULT
                    {
                        gClass[playerid] = ASSAULT;
                        }
                        if(ClassChoosingStep[playerid] == 1) // MEDIC
                        {
                             if(Rank(playerid) == 2 || Rank(playerid) == 3 || Rank(playerid) == 4 || Rank(playerid) == 5 || Rank(playerid) == 6 || Rank(playerid) == 7 || Rank(playerid) == 8)
                             {
                             gClass[playerid] = MEDIC;
                             } else SendClientMessage(playerid, C_WHITE, \"A rangod nem elég magas!\");
                        }
                        if(ClassChoosingStep[playerid] == 2) // ANTI-TANK
                        {
                            if(Rank(playerid) == 3 || Rank(playerid) == 4 || Rank(playerid) == 5 || Rank(playerid) == 6 || Rank(playerid) == 7 || Rank(playerid) == 8)
      {
                             gClass[playerid] = ANTI-TANK;
                             } else SendClientMessage(playerid, C_WHITE, \"A rangod nem elég magas!\");
                        }
                        if(ClassChoosingStep[playerid] == 3) // ENGINEER
                        {
                            if(Rank(playerid) == 4 || Rank(playerid) == 5 || Rank(playerid) == 6 || Rank(playerid) == 7 || Rank(playerid) == 8)
                            {
                            gClass[playerid] = ENGINEER;
                            } else SendClientMessage(playerid, C_WHITE, \"A rangod nem elég magas!\");
                        }
                        if(ClassChoosingStep[playerid] == 4) // AIRFORCE
                        {
                            if(Rank(playerid) == 5 || Rank(playerid) == 6 || Rank(playerid) == 7 || Rank(playerid) == 8)
                            {
                            gClass[playerid] = AIRFORCE;
                            } else SendClientMessage(playerid, C_WHITE, \"A rangod nem elég magas!\");
                        }
                        if(ClassChoosingStep[playerid] == 5) // SPECICAL-OPS
                        {
                            if(Rank(playerid) == 6 || Rank(playerid) == 7 || Rank(playerid) == 8)
                            gClass[playerid] = SPEC-OPS;
                            } else SendClientMessage(playerid, C_WHITE, \"A rangod nem elég magas!\");
                        }
                }

TDM rang szerinti csapatváltás hiba
« Válasz #2 Dátum: 2014. március 04. - 22:09:58 »
0 Show voters
Nem...Am elolvastad amit leirtam????
Az a lényeg hogy a max rang 6(Csapatválasztóba)
és azt akarom hogy a kisebb rangú ne tudjon felmenni a nagyobb rangú csoportba

TDM rang szerinti csapatváltás hiba
« Válasz #3 Dátum: 2014. március 04. - 22:26:16 »
0 Show voters
assault: nem kell rang
medic: min 2. rang
anti-tank: min 3. rang
engineer: min 4. rang
airforce: min 5. rang
special ops: min 6. rang
nem így akarod??
 
Mert ugye ugy van hogy 1-tõl azaz 0 ponttól(RANK1=Definálva van) rank 8-ig(RANK8) van a besorolás.

 
itt van más féle képpen:
 
if(IsPlayerChoosingClass[playerid] == 1)
            {
                    if(ClassChoosingStep[playerid] == 0) // ASSAULT
                    {
                        gClass[playerid] = ASSAULT;
                        }
                        if(ClassChoosingStep[playerid] == 1) // MEDIC
                        {
                             if(Rank(playerid) >= 2 )
                             {
                             gClass[playerid] = MEDIC;
                             } else SendClientMessage(playerid, C_WHITE, \"A rangod nem elég magas!\");
                        }
                        if(ClassChoosingStep[playerid] == 2) // ANTI-TANK
                        {
                            if(Rank(playerid) >= 3 )
      {
                             gClass[playerid] = ANTI-TANK;
                             } else SendClientMessage(playerid, C_WHITE, \"A rangod nem elég magas!\");
                        }
                        if(ClassChoosingStep[playerid] == 3) // ENGINEER
                        {
                            if(Rank(playerid) >= 4 )
                            {
                            gClass[playerid] = ENGINEER;
                            } else SendClientMessage(playerid, C_WHITE, \"A rangod nem elég magas!\");
                        }
                        if(ClassChoosingStep[playerid] == 4) // AIRFORCE
                        {
                            if(Rank(playerid) >= 5 )
                            {
                            gClass[playerid] = AIRFORCE;
                            } else SendClientMessage(playerid, C_WHITE, \"A rangod nem elég magas!\");
                        }
                        if(ClassChoosingStep[playerid] == 5) // SPECICAL-OPS
                        {
                            if(Rank(playerid) >= 6 )
                            gClass[playerid] = SPEC-OPS;
                            } else SendClientMessage(playerid, C_WHITE, \"A rangod nem elég magas!\");
                        }
                }
« Utoljára szerkesztve: 2014. március 04. - 22:44:05 írta halaloszto100 »

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
TDM rang szerinti csapatváltás hiba
« Válasz #4 Dátum: 2014. március 05. - 15:31:23 »
0 Show voters
Tessék:
    
if(IsPlayerChoosingClass[playerid] == 1) {
switch(ClassChoosingStep[playerid]) {
   case 0: gClass[playerid] = ASSAULT; // ASSAULT
            case 1: { // MEDIC
               if(Rank(playerid) < 2) return SendClientMessage(playerid, C_WHITE, \"A rangod nem elég magas!\");
                gClass[playerid] = MEDIC;
            }
            case 2: { // ANTI-TANK
               if(Rank(playerid) < 3) return SendClientMessage(playerid, C_WHITE, \"A rangod nem elég magas!\");
                gClass[playerid] = ANTI-TANK;
            }
            case 3: { // ENGINEER
               if(Rank(playerid) < 4) return SendClientMessage(playerid, C_WHITE, \"A rangod nem elég magas!\");
                gClass[playerid] = ENGINEER;
            }
            case 4: { // AIRFORCE
                if(Rank(playerid) < 5) return SendClientMessage(playerid, C_WHITE, \"A rangod nem elég magas!\");
                gClass[playerid] = AIRFORCE;
            }
              case 5: { // SPECICAL-OPS
                if(Rank(playerid) < 6) return SendClientMessage(playerid, C_WHITE, \"A rangod nem elég magas!\");
                gClass[playerid] = SPEC-OPS;
        }
     }

TDM rang szerinti csapatváltás hiba
« Válasz #5 Dátum: 2014. március 05. - 15:44:20 »
0 Show voters
Ez mind szép és jó,csak az a problem hogy \">=\" csak az adott rangó csoportba nem engedi...
most 3 mas vagyok akkor csak a 3 mas ba nem enged bele

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
TDM rang szerinti csapatváltás hiba
« Válasz #6 Dátum: 2014. március 05. - 15:48:09 »
0 Show voters
        if(GetPlayerScore(playerid) >= RANK1 && GetPlayerScore(playerid) < RANK2) rank = 1;
        else if(GetPlayerScore(playerid) == RANK1 && GetPlayerScore(playerid) < RANK3) rank = 2;
        else if(GetPlayerScore(playerid) == RANK2 && GetPlayerScore(playerid) < RANK4) rank = 3;
        else if(GetPlayerScore(playerid) == RANK3 && GetPlayerScore(playerid) < RANK5) rank = 4;
        else if(GetPlayerScore(playerid) == RANK4 && GetPlayerScore(playerid) < RANK6) rank = 5;
        else if(GetPlayerScore(playerid) == RANK5 && GetPlayerScore(playerid) < RANK7) rank = 6;
        else if(GetPlayerScore(playerid) == RANK6 && GetPlayerScore(playerid) < RANK8) rank = 7;

TDM rang szerinti csapatváltás hiba
« Válasz #7 Dátum: 2014. március 05. - 18:00:38 »
0 Show voters
Akkor cseréld fel \">=\" helyett \"=>\"

TDM rang szerinti csapatváltás hiba
« Válasz #8 Dátum: 2014. március 05. - 18:22:09 »
0 Show voters
az ugy nem jó... = jel elõtt kell lennie :) mivel nagyobb vagy kisebbel egyenlõ :)
Én még csak tanulom...:)

Dupla hozzászólás automatikusan összefûzve. ( 2014. március 05. - 20:57:36 )

Szintén rosz!
« Utoljára szerkesztve: 2014. március 05. - 20:57:36 írta Dead Space »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal