Pomoc oko rank name


Započeo Mikix, Februar 03, 2020, 17:51:40 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Problem(error/warning): Kako da namestim ako je u drugoj org da su drugi name rankovi ja sam ovako uradio al nzm kako kad je u drugoj org,..Nisam stavljao prava imena rankova samo me zanima kako to ide..
Dio skripte[/b]:
CMD:f(playerid,params[])
{
    if(PlayerInfo[playerid][pOrgID] == -1) return SCM(playerid,-1,""COL_RED"Nisi u niti jednoj organizaciji!");
    new chat[60];
    if(sscanf(params,"s[60]",chat)) return SCM(playerid,-1,""COL_RED"Koristi /f(organozacijski chat [Text]");
    new str[120],orgrank[25];
	if(PlayerInfo[playerid][pRank] == 0) { orgrank = "Rank 0";
    }else if(PlayerInfo[playerid][pRank] == 1) { orgrank = "Rank 1";
    }else if(PlayerInfo[playerid][pRank] == 2) { orgrank = "Rank 2";
    }else if(PlayerInfo[playerid][pRank] == 3) { orgrank = "Rank 3";
    }else if(PlayerInfo[playerid][pRank] == 4) { orgrank = "Rank 4";
    }else if(PlayerInfo[playerid][pRank] == 5) { orgrank = "Rank 5";
    }else if(PlayerInfo[playerid][pRank] == 6) { orgrank = "Rank 6"; }
    format(str,sizeof(str),"| %s[%d] | %s | %s |",PlayerName(playerid),playerid,orgrank,chat);
    SendOrgMessage(playerid,str);
    return 1;
}

Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log)[/b]://
Slika/video ingame problema(obavezno ako je ingame problem)[/b]: //

Verovatno imas vec strukturu u kojoj cuvas org podesavanja itd kao npr ime, e sad na isti nacin dodas u org enum rank1..2..3 itd i u te promenljive dodas imena rankova. Kasnije u ovoj komandi kada si osposobio i cuvanje i ucitavanje tih podataka koristis da ispise u org chatu ime ranka.

Sve sam te razumio :D,al u svakom slucaju hvala

Razumeš li šta si upravo napisao? :D

Bukvalno značenje ovog koda:
Ako je varijabla PlayerInfo[playerid][pRank] == 1, varijabli orgrank dodeli vrednost Rank 1

Ovde ti je potreban switch npr, verujem da imaš PlayerInfo[playerid][pClan] varijablu tj varijablu koja čuva ID ogranizacije u kojoj je igrač, primer:

CMD:f(playerid, params[])
{
    if(PlayerInfo[playerid][pOrgID] == -1) return SCM(playerid, -1, ""COL_RED"Nisi u niti jednoj organizaciji!");
    new chat[60];
    if(sscanf(params, "s[60]", chat)) return SCM(playerid, -1, ""COL_RED"Koristi /f(organozacijski chat [Text]");
    new str[120], orgrank[25];
    swtich(PlayerInfo[playerid][pClan])
    {
        case 0: //ako je id organizacije 0
        {
            swtich(PlayerInfo[playerid][pRank])
            {
                case 1: orgrank = "Ballas Rank 1";
                case 2: orgrank = "Ballas Rank 2";
                case 3: orgrank = "Ballas Rank 3";
                case 4: orgrank = "Ballas Rank 4";
                case 5: orgrank = "Ballas Rank 5";
                case 6: orgrank = "Ballas Rank Lider"; //primer
            }
        }
        case 1: //ako je id organizacije 1
        {
            swtich(PlayerInfo[playerid][pRank])
            {
                case 1: orgrank = "Yakuza Rank 1";
                case 2: orgrank = "Yakuza Rank 2";
                case 3: orgrank = "Yakuza Rank 3";
                case 4: orgrank = "Yakuza Rank 4";
                case 5: orgrank = "Yakuza Rank 5";
                case 6: orgrank = "Yakuza Rank Lider"; //primer
            }
        }
    }
    format(str, sizeof(str), "| %s[%d] | %s | %s |", PlayerName(playerid), playerid, orgrank, chat);
    SendOrgMessage(playerid, str);
    return 1;
}


Naravno, ovo je ako ti je sys organizacija statičan kao u starijim modovima UP/SA, dok u modu koji ima dinamično čuvanje/učitavanje tj. kreiranje organizacija drugačije ali sumnjam da je to slučaj

EDIT: Kod tebe je PlayerInfo[playerid][pOrgID] umesto pClan, nisam gledao gore...

Citat: Ruzica poslato Februar 03, 2020, 18:01:16 POSLE PODNE
Razumeš li šta si upravo napisao? :D

Bukvalno značenje ovog koda:
Ako je varijabla PlayerInfo[playerid][pRank] == 1, varijabli orgrank dodeli vrednost Rank 1

Ovde ti je potreban switch npr, verujem da imaš PlayerInfo[playerid][pClan] varijablu tj varijablu koja čuva ID ogranizacije u kojoj je igrač, primer:

CMD:f(playerid, params[])
{
    if(PlayerInfo[playerid][pOrgID] == -1) return SCM(playerid, -1, ""COL_RED"Nisi u niti jednoj organizaciji!");
    new chat[60];
    if(sscanf(params, "s[60]", chat)) return SCM(playerid, -1, ""COL_RED"Koristi /f(organozacijski chat [Text]");
    new str[120], orgrank[25];
    swtich(PlayerInfo[playerid][pClan])
    {
        case 0: //ako je id organizacije 0
        {
            swtich(PlayerInfo[playerid][pRank])
            {
                case 1: orgrank = "Ballas Rank 1";
                case 2: orgrank = "Ballas Rank 2";
                case 3: orgrank = "Ballas Rank 3";
                case 4: orgrank = "Ballas Rank 4";
                case 5: orgrank = "Ballas Rank 5";
                case 6: orgrank = "Ballas Rank Lider"; //primer
            }
        }
        case 1: //ako je id organizacije 1
        {
            swtich(PlayerInfo[playerid][pRank])
            {
                case 1: orgrank = "Yakuza Rank 1";
                case 2: orgrank = "Yakuza Rank 2";
                case 3: orgrank = "Yakuza Rank 3";
                case 4: orgrank = "Yakuza Rank 4";
                case 5: orgrank = "Yakuza Rank 5";
                case 6: orgrank = "Yakuza Rank Lider"; //primer
            }
        }
    }
    format(str, sizeof(str), "| %s[%d] | %s | %s |", PlayerName(playerid), playerid, orgrank, chat);
    SendOrgMessage(playerid, str);
    return 1;
}


Naravno, ovo je ako ti je sys organizacija statičan kao u starijim modovima UP/SA, dok u modu koji ima dinamično čuvanje/učitavanje tj. kreiranje organizacija drugačije ali sumnjam da je to slučaj

EDIT: Kod tebe je PlayerInfo[playerid][pOrgID] umesto pClan, nisam gledao gore...
Ako je Lider clan mu je na -1, tkd nece da radi,
msm nisam siguran kakav mu je mod ali pretpostavljam da je neki SA ili UP zbog ovih enuma

Citat: //>> Vedran poslato Februar 03, 2020, 18:10:00 POSLE PODNE
Ako je Lider clan mu je na -1, tkd nece da radi,
msm nisam siguran kakav mu je mod ali pretpostavljam da je neki SA ili UP zbog ovih enuma
Kada se postavlja lider setuje se tom lideru:
lider=clan
rank=6
GAD SAM JA

Uradio sam kako je on pokazao ali errori su ovi
(4882) : error 017: undefined symbol "swtich"
(4884) : error 014: invalid statement; not in switch
(4884) : warning 215: expression has no effect
(4884) : error 001: expected token: ";", but found ":"
(4884) : error 029: invalid expression, assumed zero
(4884) : fatal error 107: too many error messages on one line


Ovako sam uradio
CMD:f(playerid, params[])
{
    if(PlayerInfo[playerid][pOrgID] == -1) return SCM(playerid, -1, ""COL_RED"Nisi u niti jednoj organizaciji!");
    new chat[60];
    if(sscanf(params, "s[60]", chat)) return SCM(playerid, -1, ""COL_RED"Koristi /f(organozacijski chat [Text]");
    new str[120], orgrank[25];
    swtich(PlayerInfo[playerid][pOrgID])
    {
        case 1: //ako je id organizacije 0
        {
            swtich(PlayerInfo[playerid][pRank])
            {
                case 1: orgrank = "Tamo";
                case 2: orgrank = "amo neki";
                case 3: orgrank = "Ballas Rank 3";
                case 4: orgrank = "Ballas Rank 4";
                case 5: orgrank = "Ballas Rank 5";
                case 6: orgrank = "Ballas Rank Lider"; //primer
            }
        }
        case 2: //ako je id organizacije 1
        {
            swtich(PlayerInfo[playerid][pRank])
            {
                case 1: orgrank = "Tamo nesto";
                case 2: orgrank = "Isto tako";
                case 3: orgrank = "Yakuza Rank 3";
                case 4: orgrank = "Yakuza Rank 4";
                case 5: orgrank = "Yakuza Rank 5";
                case 6: orgrank = "Yakuza Rank Lider"; //primer
            }
        }
    }
    format(str, sizeof(str), "| %s[%d] | %s | %s |", PlayerName(playerid), playerid, orgrank, chat);
    SendOrgMessage(playerid, str);
    return 1;
}