-
Ü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;
}
}
-
í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!\");
}
}
-
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
-
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!\");
}
}
-
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;
}
}
-
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
-
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;
-
Akkor cseréld fel \">=\" helyett \"=>\"
-
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!