Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Mikix poslato Februar 03, 2020, 17:51:40 POSLE PODNE

Naslov: Pomoc oko rank name
Poruka od: Mikix poslato Februar 03, 2020, 17:51:40 POSLE PODNE
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]: [pawn]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;
}[/pawn]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log)[/b]://
Slika/video ingame problema(obavezno ako je ingame problem)[/b]: //
Naslov: Odg: Pomoc oko rank name
Poruka od: malipablo poslato Februar 03, 2020, 17:57:22 POSLE PODNE
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.
Naslov: Odg: Pomoc oko rank name
Poruka od: Mikix poslato Februar 03, 2020, 18:00:31 POSLE PODNE
Sve sam te razumio :D,al u svakom slucaju hvala
Naslov: Odg: Pomoc oko rank name
Poruka od: 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:

[pawn]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;
}[/pawn]

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...
Naslov: Odg: Pomoc oko rank name
Poruka od: __vedran.xyz77 poslato Februar 03, 2020, 18:10:00 POSLE PODNE
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:

[pawn]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;
}[/pawn]

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
Naslov: Odg: Pomoc oko rank name
Poruka od: Shaw Salcedo poslato Februar 03, 2020, 18:26:21 POSLE PODNE
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
Naslov: Odg: Pomoc oko rank name
Poruka od: Mikix poslato Februar 03, 2020, 18:51:00 POSLE PODNE
Uradio sam kako je on pokazao ali errori su ovi
[pawn](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[/pawn]

Ovako sam uradio
[pawn]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;
}[/pawn]
Naslov: Odg: Pomoc oko rank name
Poruka od: Mikix poslato Februar 04, 2020, 21:56:50 POSLE PODNE
Neko da zna??
Naslov: Odg: Pomoc oko rank name
Poruka od: M Ө M Σ N Z I poslato Februar 05, 2020, 08:58:57 PRE PODNE
ne swtich nego switch
Naslov: Odg: Pomoc oko rank name
Poruka od: Mikix poslato Februar 05, 2020, 15:22:55 POSLE PODNE
Hvala :D :D