SA-MP Forums Archive
String lenght, or something else? - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: String lenght, or something else? (/showthread.php?tid=652160)



String lenght, or something else? - bogushas - 04.04.2018

Hi,

So the main error I'm getting to server.exe::
PHP код:
[debug] Run time error 4: "Array index out of bounds"
[debug]  Attempted to read/write array element at negative index -1
[debug] AMX backtrace:
[
debug] #0 0018f150 in ?? (-1) from GLS.amx
[debug] #1 0018fdcc in ?? (0) from GLS.amx
[debug] #2 00214cd8 in ?? (0, 839, 1, 2, 36028264) from GLS.amx
[debug] #3 0000955c in public OnDialogResponse (0, 839, 1, 2, 36028264) from GLS.amx 
The thing is that, dialogs listitems options/option opens only for one time, doesn't metter which one, but next time it doesn't opens anymore.

Dialog:
PHP код:
if(dialogid == 839){
        if(
response){
            new 
id, jo[1000];
            if(
player[playerid][pWorkLeader] >= 0 && frakcija[player[playerid][pWorkLeader]][fReq] == 1){ 
                
id = player[playerid][pWorkLeader]; }
            else if(
player[playerid][pWorkSubLeader] >= 0 && frakcija[player[playerid][pWorkLeader]][fReq] == 1){
                
id = player[playerid][pWorkSubLeader]; }
            switch(
listitem){
                case 
0: fAction[playerid] = 1;
                case 
1: fAction[playerid] = 3;
                case 
2: fAction[playerid] = 4;
                case 
3: fAction[playerid] = 5;
            }
            
format(zinute, 70, "Redaguojama „%s“ frakcija", frakcija[id][fName]);
            
format(g_szBuffer, 300, " {ffffff}Redaguojama „{d8a9ff}%s{ffffff}“ frakcija:\n \n    {d8a9ff}•{ffffff} atliekamas veiksmas %s,", frakcija[id][fName], getActionEdit(playerid));
            
strcat(jo, g_szBuffer);
            
format(g_szBuffer, 700, "\n {d8a9ff}•{ffffff} veiksmo informacija %s", setActionInfo(playerid));
            
strcat(jo, g_szBuffer);
            
ShowPlayerDialog(playerid, 852, DIALOG_STYLE_INPUT, zinute, jo, "Keisti", "Atgal");
        } else 
leaderDialog(playerid);
    } 
Functions:
PHP код:
setActionInfo(playerid)
{
    new 
ActionInfo[341],
        
id = fChosen[playerid];
    switch(
fAction[playerid])
    {
        case 
0: ActionInfo = "-";
        case 
1:
        {
            
format(ActionInfo, 100, "dabartinis patirties reikalavimas {d8a9ff}%s{ffffff}, įvęskite naująjį į laukelį !",FormatNumber(frakcija[id][fScore]));
        }
        case 
2:
        {
            
format(ActionInfo, 120, "dabartinis darbo vietų skaičius {d8a9ff}%s{ffffff} ( darbuotojų {d8a9ff}%s{ffffff} ) įvęskite naująjį į laukelį !",FormatNumber(frakcija[id][fSlots]), FormatNumber(frakcija[id][fSlotUsed]));
        }
        case 
3:
        {
            
format(ActionInfo, 260, "dabartiniai reikalaujami dokumentai {d8a9ff}%s{ffffff},\n \n{d8a9ff}0{ffffff}. dokumentai nereikalaujami,\n{d8a9ff}1{ffffff}. sveikatos paћymai\n{d8a9ff}2{ffffff}. ginklų lic.\n{d8a9ff}3{ffffff}. sveikatos paћyma, ginklų lic.\n \nįvęskite skaičių į laukelį !",getDocsInfo(id));
        }
        case 
4:
        {
            
format(ActionInfo, 340, "dabartinės reikalaujamos teisės {d8a9ff}%s{ffffff},\n \n{d8a9ff}0{ffffff}. teisės nereikalaujamos,\n{d8a9ff}1{ffffff}. A kat.\n{d8a9ff}2{ffffff}. B kat.\n{d8a9ff}3{ffffff}. C kat.\n{d8a9ff}4{ffffff}. A, B kat.\n{d8a9ff}5{ffffff}. A, C kat.\n{d8a9ff}6{ffffff}. B, C kat.\n{d8a9ff}7{ffffff}. A ,B, C kat.\n \nįvęskite skaičių į laukelį !",getLicensesInfo(id));
          }
        case 
5:
        {
            
format(ActionInfo, 130, "dabartinis darbo kontrakto laikas {d8a9ff}%s{ffffff}, įvęskite naująjį į laukelį ( {d8a9ff}1 = 1val.{ffffff} ) !",ConvertSeconds(frakcija[id][fConTime]));
        }
        case 
6:
        {
            
format(ActionInfo, 90, "įvęskite naujojo frakcijos lyderio {d8a9ff}Vardą_Pavardę{ffffff} !",ConvertSeconds(frakcija[id][fConTime]));
        }
        case 
7:
        {
            
format(ActionInfo, 115, "dabartinis frakcijos lyderis {d8a9ff}%s{ffffff}, spauskite iљmesti, norėdami jį iљmesti!",frakcija[id][fLeader]);
        }
        case 
8:
        {
            
format(ActionInfo, 60, "spauskite įspėti, norėdami įspėti frakcijos lyderį !",ConvertSeconds(frakcija[id][fConTime]));
        }
        case 
9:
        {
            
format(ActionInfo, 65, "spauskite nuimti, norėdami paљalinti frakcijos lyderio įspėjimą !",ConvertSeconds(frakcija[id][fConTime]));
        }
        case 
10:
        {
            
format(ActionInfo, 70, "įvęskite naujojo frakcijos sub-lyderio {d8a9ff}Vardą_Pavardę{ffffff} !",ConvertSeconds(frakcija[id][fConTime]));
        }
        case 
11:
        {
            
format(ActionInfo, 115, "dabartinis frakcijos sub-lyderis {d8a9ff}%s{ffffff}, spauskite iљmesti, norėdami jį iљmesti!",frakcija[id][fSubLeader]);
        }
        case 
12:
        {
            
format(ActionInfo, 60, "spauskite įspėti, norėdami įspėti frakcijos sub-lyderį !",ConvertSeconds(frakcija[id][fConTime]));
        }
        case 
13:
        {
            
format(ActionInfo, 70, "spauskite nuimti, norėdami paљalinti frakcijos lyderio įspėjimą !",ConvertSeconds(frakcija[id][fConTime]));
        }
        case 
14:
        {
            
format(ActionInfo, 70, "įvęskite frakcijos sub-lyderio {d8a9ff}Vardą_Pavardę{ffffff} !",ConvertSeconds(frakcija[id][fConTime]));
        }
        case 
15:
        {
            
format(ActionInfo, 62, "įvęskite frakcijos sub-lyderio {d8a9ff}Vardą_Pavardę{ffffff} !",ConvertSeconds(frakcija[id][fConTime]));
        }
    }
    return 
ActionInfo;
} 
PHP код:
getActionEdit(playerid)
{
    new 
ActionEdit[60];
    switch(
fAction[playerid])
    {
        case 
0: ActionEdit = "-";
        case 
1: ActionEdit = "patirties reikalavimo keitimas";
        case 
2: ActionEdit = "darbo vietų skaičiaus keitimas";
        case 
3: ActionEdit = "reikalaujamų dokumentų keitimas";
        case 
4: ActionEdit = "reikalaujamų teisių keitimas";
        case 
5: ActionEdit = "darbo kontrakto laiko keitimas";
        case 
6: ActionEdit = "naujo, prisijungusio lyderio paskyrimas";
        case 
7: ActionEdit = "lyderio iљmetimas";
        case 
8: ActionEdit = "lyderio įspėjimas";
        case 
9: ActionEdit = "lyderio įspėjimo paљalinimas";
        case 
10: ActionEdit = "naujo, prisijūngusio sub-lyderio paskyrimas";
        case 
11: ActionEdit = "sub-lyderio iљmetimas";
        case 
12: ActionEdit = "sub-lyderio įspėjimas";
        case 
13: ActionEdit = "sub-lyderio įspėjimo paљalinimas";
        case 
14: ActionEdit = "naujo, atsijungusio lyderio paskyrimas";
        case 
15: ActionEdit = "naujo, atsijungusio sub-lyderio paskyrimas";
    }
    return 
ActionEdit;
} 



Re: String lenght, or something else? - NaS - 04.04.2018

It's hard to tell where exactly the error appears without knowing the values for some of the Arrays you use. Could you compile your mode with debug symbols and reproduce it so that crashdetect shows the exact line where the error(s) appeared?
You can do that by creating "pawn.cfg" inside your pawno folder and write "-r -d3" into it, then recompile.


Re: String lenght, or something else? - bogushas - 04.04.2018

Quote:
Originally Posted by NaS
Посмотреть сообщение
It's hard to tell where exactly the error appears without knowing the values for some of the Arrays you use. Could you compile your mode with debug symbols and reproduce it so that crashdetect shows the exact line where the error(s) appeared?
You can do that by creating "pawn.cfg" inside your pawno folder and write "-r -d3" into it, then recompile.
It shows witch dialog causing the error, i fixed that. But the second thing, that
PHP код:
format(g_szBuffer, 700, "\n {d8a9ff}•{ffffff} veiksmo informacija %s", setActionInfo(playerid)); strcat(jo, g_szBuffer); 
this line doesn't fit all the text, doesn't metter how long I will make. Probably its too long to put in dialog, how can I put it all together, when im using strcat and stock?

PHP код:
    if(dialogid == 839){
        if(
response){
            new 
id, jo[700];
            if(
player[playerid][pWorkLeader] >= 0 && frakcija[player[playerid][pWorkLeader]][fReq] == 1){ 
                
id = player[playerid][pWorkLeader]; }
            else if(
player[playerid][pWorkSubLeader] >= 0 && frakcija[player[playerid][pWorkLeader]][fReq] == 1){
                
id = player[playerid][pWorkSubLeader]; }
            switch(
listitem){
                case 
0: fAction[playerid] = 1;
                case 
1: fAction[playerid] = 3;
                case 
2: fAction[playerid] = 4;
                case 
3: fAction[playerid] = 5;
            }
            
fChosen[playerid] = -1;
            
printf("%d id, %d Action", id, fAction[playerid]);
            
format(zinute, 70, "Redaguojama „%s“ frakcija", frakcija[id][fName]);
            
format(g_szBuffer, 300, " {ffffff}Redaguojama „{d8a9ff}%s{ffffff}“ frakcija:\n \n    {d8a9ff}•{ffffff} atliekamas veiksmas %s,\n {d8a9ff}•{ffffff} veiksmo informacija", frakcija[id][fName], getActionEdit(playerid));
            
strcat(jo, g_szBuffer);
            
format(g_szBuffer, 400, "%s", setActionInfo(playerid));
            
strcat(jo, g_szBuffer);
            
ShowPlayerDialog(playerid, 852, DIALOG_STYLE_INPUT, zinute, jo, "Keisti", "Atgal");
        } else 
leaderDialog(playerid);
    }
[
B]3 id, 1 Action[/B]
[
debug] Run time error 4: "Array index out of bounds"
[debug]  Attempted to read/write array element at negative index -1
[debug] AMX backtrace:
[
debug] #0 0018fb30 in ?? (0) from GLS.amx
[debug] #1 00215440 in ?? (0, 839, 1, 0, 36028472) from GLS.amx
[debug] #2 0000955c in public OnDialogResponse (0, 839, 1, 0, 36028472) from GLS.amx 
Still buggy, I'm so confused.

PHP код:
if(dialogid == 852)
    {
        new 
kiek = strval(inputtext),
            
id;
        if(
player[playerid][pWorkLeader] >= 0){ 
            
id = player[playerid][pWorkLeader];
        } else if(
fChosen[playerid] >= 0){
            
id = fChosen[playerid];
        }
        
printf("%d id, %d Action", id, fAction[playerid]);
        if(
response)
        {
            
printf("%d id, %d Action", id, fAction[playerid]);
            switch(
fAction[playerid])
            {
                case 
1:
                {                        
                    if(!
IsNumeric(inputtext)) return SendError(playerid, "laukelyje galima įvęsti tik skaičių !"), fAction[playerid] = -1;
                    
                    if(
kiek < 0) return SendError(playerid, "minusinio skaičiaus būti negali!"), fAction[playerid] = -1;
                    if(
kiek > 15000) return SendError(playerid, "skaičius negali būti > 15 000 !"), fAction[playerid] = -1;
                    
                    
format(g_szBuffer, 148, "{d8a9ff}•{ffffff} pakeitėt „{d8a9ff}%s{ffffff}“ frakcijos patirties reikalavimą iљ {d8a9ff}%s{ffffff} į {d8a9ff}%s{ffffff} !", frakcija[id][fName], FormatNumber(frakcija[id][fScore]), FormatNumber(kiek));
                    
SendClientMessage(playerid, -1, g_szBuffer);
                    
                    
frakcija[id][fScore] = kiek;
                    
updateFractionLabel(id);
                    
                    
fAction[playerid] = -1;
                    
fChosen[playerid] = -1;
                }
                case 
2:
                {
                    if(!
IsNumeric(inputtext)) return SendError(playerid, "laukelyje galima įvęsti tik skaičių !"), fAction[playerid] = -1;
                    
                    if(
kiek < 0) return SendError(playerid, "minusinio skaičiaus laukelyje būti negali!"), fAction[playerid] = -1;
                    if(
kiek > 500) return SendError(playerid, "skaičius negali būti > 500 !"), fAction[playerid] = -1;
                    
                    
format(g_szBuffer, 148, "{d8a9ff}•{ffffff} pakeitėt „{d8a9ff}%s{ffffff}“ frakcijos darbuotojų skaičių iљ {d8a9ff}%s{ffffff} į {d8a9ff}%s{ffffff} !", frakcija[id][fName], FormatNumber(frakcija[id][fSlots]), FormatNumber(kiek));
                    
SendClientMessage(playerid, -1, g_szBuffer);
                    
                    
frakcija[id][fSlots] = kiek;
                    
updateFractionLabel(id);
                    
fAction[playerid] = -1;
                    
fChosen[playerid] = -1;
                }
                case 
3:
                {
                    if(!
IsNumeric(inputtext)) return SendError(playerid, "laukelyje galima įvęsti tik skaičių !"), fAction[playerid] = -1;
                    
                    if(
kiek < 0) return SendError(playerid, "minusinio skaičiaus laukelyje būti negali!"), fAction[playerid] = -1;
                    if(
kiek > 3) return SendError(playerid, "skaičius negali būti > 3 !"), fAction[playerid] = -1;
                    
                    
format(g_szBuffer, 148, "{d8a9ff}•{ffffff} pakeitėt „{d8a9ff}%s{ffffff}“ frakcijos dok. reik. iљ %s į %s !", frakcija[id][fName], getDocsInfo(id), getUpdatedDocsInfo(kiek));
                    
SendClientMessage(playerid, -1, g_szBuffer);
                    
                    
frakcija[id][fDocs] = kiek;
                    
updateFractionLabel(id);
                    
fAction[playerid] = -1;
                    
fChosen[playerid] = -1;
                }
                case 
4:
                {        
                    if(!
IsNumeric(inputtext)) return SendError(playerid, "laukelyje galima įvęsti tik skaičių !"), fAction[playerid] = -1;
                    if(
kiek < 0) return SendError(playerid, "minusinio skaičiaus laukelyje būti negali!"), fAction[playerid] = -1;
                    if(
kiek > 3) return SendError(playerid, "skaičius negali būti > 3 !"), fAction[playerid] = -1;
                    
                    
format(g_szBuffer, 148, "{d8a9ff}•{ffffff} pakeitėt „{d8a9ff}%s{ffffff}“ frakcijos teisių reik. iљ %s į %s", frakcija[id][fName], getLicensesInfo(id), getUpdatedLicensesInfo(kiek));
                    
SendClientMessage(playerid, -1, g_szBuffer);
                    
frakcija[id][fLicenses] = kiek;
                    
updateFractionLabel(id);
                    
fAction[playerid] = -1;
                    
fChosen[playerid] = -1;
                }
                case 
5:
                {
                    if(!
IsNumeric(inputtext)) return SendError(playerid, "laukelyje galima įvęsti tik skaičių !"), fAction[playerid] = -1;
                    if(
kiek < 0) return SendError(playerid, "minusinio skaičiaus laukelyje būti negali!"), fAction[playerid] = -1;
                    if(
kiek > 168) return SendError(playerid, "skaičius negali būti > 168 !"), fAction[playerid] = -1;
                    
                    
format(g_szBuffer, 148, "{d8a9ff}•{ffffff} pakeitėt „{d8a9ff}%s{ffffff}“ frakcijos kontrakto laiką iљ %s į %s !", frakcija[id][fName], ConvertSeconds(frakcija[id][fConTime]), ConvertSeconds(kiek*6000));
                    
SendClientMessage(playerid, -1, g_szBuffer);
                    
                    
frakcija[id][fConTime] = kiek*3600;
                    
updateFractionLabel(id);
                    
fAction[playerid] = -1;
                    
fChosen[playerid] = -1;
                }
                case 
6:
                {
                    new
                        
zd;
                    if(
sscanf(inputtext,"u", zd))
                    {
                        
SendError(playerid, "laukelis neuћpildytas !");
                        
fAction[playerid] = 6;
                        
format(zinute, 90, "Redaguojama „%s“ frakcija", frakcija[fChosen[playerid]][fName]);
                        
format(g_szBuffer, 148, "{ffffff}Redaguojama „{d8a9ff}%s{ffffff}“ frakcija:\n \n    {d8a9ff}•{ffffff} atliekamas veiksmas %s,\n    {d8a9ff}•{ffffff} veiksmo informacija %s", frakcija[fChosen[playerid]][fName], getActionEdit(playerid), setActionInfo(playerid));
                        
ShowPlayerDialog(playerid, 855, DIALOG_STYLE_MSGBOX, zinute, g_szBuffer, "Keisti", "Atgal");
                        return 
1;
                    }
                    if( 
stopSymbols( inputtext ) )
                    {
                        
SendError(playerid, "laukelis neuћpildytas !");
                        
fAction[playerid] = 6;
                        
format(zinute, 90, "Redaguojama „%s“ frakcija", frakcija[fChosen[playerid]][fName]);
                        
format(g_szBuffer, 148, "{ffffff}Redaguojama „{d8a9ff}%s{ffffff}“ frakcija:\n \n    {d8a9ff}•{ffffff} atliekamas veiksmas %s,\n    {d8a9ff}•{ffffff} veiksmo informacija %s", frakcija[fChosen[playerid]][fName], getActionEdit(playerid), setActionInfo(playerid));
                        
ShowPlayerDialog(playerid, 855, DIALOG_STYLE_MSGBOX, zinute, g_szBuffer, "Keisti", "Atgal");
                        return 
1;
                    }
                    if( 
zd == INVALID_PLAYER_ID )
                    {
                        
SendError(playerid, "tokio ћaidėjo serveryje nėra !");
                        
fAction[playerid] = 6;
                        
format(zinute, 90, "Redaguojama „%s“ frakcija", frakcija[fChosen[playerid]][fName]);
                        
format(g_szBuffer, 148, "{ffffff}Redaguojama „{d8a9ff}%s{ffffff}“ frakcija:\n \n    {d8a9ff}•{ffffff} atliekamas veiksmas %s,\n    {d8a9ff}•{ffffff} veiksmo informacija %s", frakcija[fChosen[playerid]][fName], getActionEdit(playerid), setActionInfo(playerid));
                        
ShowPlayerDialog(playerid, 855, DIALOG_STYLE_MSGBOX, zinute, g_szBuffer, "Keisti", "Atgal");
                        return 
1;
                    }
                    if(
player[zd][pWorkLeader] > 0)
                    {
                        
SendError(playerid, "ћaidėjas jau atstovauja frakcijai !");
                        
fAction[playerid] = 6;
                        
format(zinute, 90, "Redaguojama „%s“ frakcija", frakcija[fChosen[playerid]][fName]);
                        
format(g_szBuffer, 148, "{ffffff}Redaguojama „{d8a9ff}%s{ffffff}“ frakcija:\n \n    {d8a9ff}•{ffffff} atliekamas veiksmas %s,\n    {d8a9ff}•{ffffff} veiksmo informacija %s", frakcija[fChosen[playerid]][fName], getActionEdit(playerid), setActionInfo(playerid));
                        
ShowPlayerDialog(playerid, 855, DIALOG_STYLE_MSGBOX, zinute, g_szBuffer, "Keisti", "Atgal");
                        return 
1;
                    }
                    
player[zd][pWorkLeader] = fChosen[playerid];
                    
format(g_szBuffer, 148, "{d8a9ff}•{ffffff} lyderių vadovas {d8a9ff}%s{ffffff} paskyrė jus frakcijos „{d8a9ff}%s{ffffff}“ lyderiu !", getPlayerName(playerid), frakcija[fChosen[playerid]][fName]);
                    
SendClientMessage(zd,-1, g_szBuffer);
                    
format(frakcija[fChosen[playerid]][fLeader], MAX_PLAYER_NAME+1, "%s", getPlayerName(zd));
                    
format(g_szBuffer, 148, "{d8a9ff}•{ffffff} lyderių vadovas {d8a9ff}%s{ffffff} paskyrė naująjį „{d8a9ff}%s{ffffff}“ frakcijos lyderį {d8a9ff}%s{ffffff} !", getPlayerName(playerid), frakcija[fChosen[playerid]][fName], getPlayerName(zd));
                    
SendClientMessageToAll(-1, g_szBuffer);
                    
updateFractionLabel(fChosen[playerid]);
                    
fAction[playerid] = -1;
                    
fChosen[playerid] = -1;
                }
                case 
10:
                {
                    new
                        
zd;
                    if(
sscanf(inputtext,"u", zd))
                    {
                        
SendError(playerid, "laukelis neuћpildytas !");
                        
fAction[playerid] = 6;
                        
format(zinute, 90, "Redaguojama „%s“ frakcija", frakcija[fChosen[playerid]][fName]);
                        
format(g_szBuffer, 170, "{ffffff}Redaguojama „{d8a9ff}%s{ffffff}“ frakcija:\n \n    {d8a9ff}•{ffffff} atliekamas veiksmas %s,\n    {d8a9ff}•{ffffff} veiksmo informacija %s", frakcija[fChosen[playerid]][fName], getActionEdit(playerid), setActionInfo(playerid));
                        
ShowPlayerDialog(playerid, 855, DIALOG_STYLE_MSGBOX, zinute, g_szBuffer, "Keisti", "Atgal");
                        return 
1;
                    }
                    if( 
stopSymbols( inputtext ) )
                    {
                        
SendError(playerid, "laukelis neuћpildytas !");
                        
fAction[playerid] = 6;
                        
format(zinute, 90, "Redaguojama „%s“ frakcija", frakcija[fChosen[playerid]][fName]);
                        
format(g_szBuffer, 170, "{ffffff}Redaguojama „{d8a9ff}%s{ffffff}“ frakcija:\n \n    {d8a9ff}•{ffffff} atliekamas veiksmas %s,\n    {d8a9ff}•{ffffff} veiksmo informacija %s", frakcija[fChosen[playerid]][fName], getActionEdit(playerid), setActionInfo(playerid));
                        
ShowPlayerDialog(playerid, 855, DIALOG_STYLE_MSGBOX, zinute, g_szBuffer, "Keisti", "Atgal");
                        return 
1;
                    }
                    if( 
zd == INVALID_PLAYER_ID )
                    {
                        
SendError(playerid, "tokio ћaidėjo serveryje nėra !");
                        
fAction[playerid] = 6;
                        
format(zinute, 90, "Redaguojama „%s“ frakcija", frakcija[fChosen[playerid]][fName]);
                        
format(g_szBuffer, 170, "{ffffff}Redaguojama „{d8a9ff}%s{ffffff}“ frakcija:\n \n    {d8a9ff}•{ffffff} atliekamas veiksmas %s,\n    {d8a9ff}•{ffffff} veiksmo informacija %s", frakcija[fChosen[playerid]][fName], getActionEdit(playerid), setActionInfo(playerid));
                        
ShowPlayerDialog(playerid, 855, DIALOG_STYLE_MSGBOX, zinute, g_szBuffer, "Keisti", "Atgal");
                        return 
1;
                    }
                    if(
player[zd][pWorkSubLeader] > 0)
                    {
                        
SendError(playerid, "ћaidėjas jau atstovauja frakcijai !");
                        
fAction[playerid] = 6;
                        
format(zinute, 90, "Redaguojama „%s“ frakcija", frakcija[fChosen[playerid]][fName]);
                        
format(g_szBuffer, 170, "{ffffff}Redaguojama „{d8a9ff}%s{ffffff}“ frakcija:\n \n    {d8a9ff}•{ffffff} atliekamas veiksmas %s,\n    {d8a9ff}•{ffffff} veiksmo informacija %s", frakcija[fChosen[playerid]][fName], getActionEdit(playerid), setActionInfo(playerid));
                        
ShowPlayerDialog(playerid, 855, DIALOG_STYLE_MSGBOX, zinute, g_szBuffer, "Keisti", "Atgal");
                        return 
1;
                    }
                    
player[zd][pWorkSubLeader] = fChosen[playerid];
                    
format(g_szBuffer, 148, "{d8a9ff}•{ffffff} lyderių vadovas {d8a9ff}%s{ffffff} paskyrė jus frakcijos „{d8a9ff}%s{ffffff}“ sub-lyderiu !", getPlayerName(playerid), frakcija[fChosen[playerid]][fName]);
                    
SendClientMessage(playerid,-1, g_szBuffer);
                    
format(frakcija[fChosen[playerid]][fSubLeader], MAX_PLAYER_NAME+1, "%s", getPlayerName(zd));
                    
format(g_szBuffer, 148, "{d8a9ff}•{ffffff} lyderių vadovas {d8a9ff}%s{ffffff} paskyrė naująjį „{d8a9ff}%s{ffffff}“ frakcijos sub-lyderį {d8a9ff}%s{ffffff} !", getPlayerName(playerid), frakcija[fChosen[playerid]][fName], getName(zd));
                    
SendClientMessageToAll(-1, g_szBuffer);
                    
updateFractionLabel(fChosen[playerid]);
                    
fAction[playerid] = -1;
                    
fChosen[playerid] = -1;
                }
                case 
14:
                {
                    new 
zname[24];
                    if(
sscanf(inputtext,"s[24]", zname))
                    {
                        
SendError(playerid, "laukelis nebuvo pilnai uћpildytas !");
                        
fAction[playerid] = 14;
                        
format(zinute, 90, "Redaguojama „%s“ frakcija", frakcija[fChosen[playerid]][fName]);
                        
format(g_szBuffer, 170, "{ffffff}Redaguojama „{d8a9ff}%s{ffffff}“ frakcija:\n \n    {d8a9ff}•{ffffff} atliekamas veiksmas %s,\n    {d8a9ff}•{ffffff} veiksmo informacija %s", frakcija[fChosen[playerid]][fName], getActionEdit(playerid), setActionInfo(playerid));
                        
ShowPlayerDialog(playerid, 855, DIALOG_STYLE_MSGBOX, zinute, g_szBuffer, "Keisti", "Atgal");
                        return 
1;
                    }
                    if(!
strcmp(getPlayerName(playerid), zname, false))
                    {
                        
SendError(playerid, "savęs lyderiu nustatyti negalite !");
                        
fAction[playerid] = 14;
                        
format(zinute, 90, "Redaguojama „%s“ frakcija", frakcija[fChosen[playerid]][fName]);
                        
format(g_szBuffer, 170, "{ffffff}Redaguojama „{d8a9ff}%s{ffffff}“ frakcija:\n \n    {d8a9ff}•{ffffff} atliekamas veiksmas %s,\n    {d8a9ff}•{ffffff} veiksmo informacija %s", frakcija[fChosen[playerid]][fName], getActionEdit(playerid), setActionInfo(playerid));
                        
ShowPlayerDialog(playerid, 855, DIALOG_STYLE_MSGBOX, zinute, g_szBuffer, "Keisti", "Atgal");
                        return 
1;
                    }
                    
format(g_szBuffer, 300, "SELECT `pName` FROM `"MySQL_PLAYERS_TABLE"` WHERE pName = '%s' LIMIT 1", zname);
                     new 
Cache:xData = mysql_query(dbHandle,g_szBuffer);
                    new 
nameCheck[24];
                    
format(nameCheck, sizeof nameCheck, "%s", cache_get_field_name( 0, "pName" ));
                    if(
cache_get_row_count() == 1)
                    {
                        
format(g_szBuffer, 300, "SELECT `Leader` FROM `"MySQL_PLAYERS_TABLE"` WHERE pName = '%s' LIMIT 1", zname);
                        new 
Cache:Data = mysql_query(dbHandle,g_szBuffer);
                        new 
Leading = cache_get_field_content_int( 0, "Leader" );
                        if(
Leading > 0)
                        {
                            
SendError(playerid, "ћaidėjas jau vadovauja frakcijai !");
                            
fChosen[playerid] = -1;
                            
fAction[playerid] = -1;
                        }
                        else
                        {
                            
format(g_szBuffer, 150,
                            
"UPDATE `"MySQL_PLAYERS_TABLE"` SET \
                            \
                                `Leader` = '%i' \
                            \
                            WHERE pName = '%s'"
,
                               
fChosen[playerid],
                            
zname);
                            
mysql_query(dbHandle,g_szBuffer);
                            
format(frakcija[fChosen[playerid]][fLeader], MAX_PLAYER_NAME+1, "%s", zname);
                            
format(zinute, 148, "{d8a9ff}•{ffffff} paskirtas naujasis „{d8a9ff}%s{ffffff}“ frakcijos lyderis {d8a9ff}%s{ffffff} !", frakcija[fChosen[playerid]][fName], zname);
                            
SendClientMessageToAll(-1, zinute);
                            
updateFractionLabel(fChosen[playerid]);
                            
fAction[playerid] = -1;
                            
fChosen[playerid] = -1;
                        }
                        
cache_delete( Data );
                    }
                    else
                    {
                        
SendError(playerid, "duomenų bazėje toks ћaidėjas neegzistuoja !");
                        
                        
fAction[playerid] = 14;
                        
format(zinute, 90, "Redaguojama „%s“ frakcija", frakcija[fChosen[playerid]][fName]);
                        
format(g_szBuffer, 148, "{ffffff}Redaguojama „{d8a9ff}%s{ffffff}“ frakcija:\n \n    {d8a9ff}•{ffffff} atliekamas veiksmas %s,\n    {d8a9ff}•{ffffff} veiksmo informacija %s", frakcija[fChosen[playerid]][fName], getActionEdit(playerid), setActionInfo(playerid));
                        
ShowPlayerDialog(playerid, 855, DIALOG_STYLE_MSGBOX, zinute, g_szBuffer, "Keisti", "Atgal");
                    }
                    
cache_delete( xData );
                }
                case 
15:
                {
                    new 
zname[24];
                    if(
sscanf(inputtext,"s[24]", zname))
                    {
                        
SendError(playerid, "laukelis nebuvo pilnai uћpildytas !");
                        
fAction[playerid] = 14;
                        
format(zinute, 90, "Redaguojama „%s“ frakcija", frakcija[fChosen[playerid]][fName]);
                        
format(g_szBuffer, 170, "{ffffff}Redaguojama „{d8a9ff}%s{ffffff}“ frakcija:\n \n    {d8a9ff}•{ffffff} atliekamas veiksmas %s,\n    {d8a9ff}•{ffffff} veiksmo informacija %s", frakcija[fChosen[playerid]][fName], getActionEdit(playerid), setActionInfo(playerid));
                        
ShowPlayerDialog(playerid, 855, DIALOG_STYLE_LIST, zinute, g_szBuffer, "Keisti", "Atgal");
                        return 
1;
                    }
                    if(!
strcmp(getPlayerName(playerid), zname, false))
                    {
                        
SendError(playerid, "savęs lyderiu nustatyti negalite !");
                        
fAction[playerid] = 14;
                        
format(zinute, 90, "Redaguojama „%s“ frakcija", frakcija[fChosen[playerid]][fName]);
                        
format(g_szBuffer, 170, "{ffffff}Redaguojama „{d8a9ff}%s{ffffff}“ frakcija:\n \n    {d8a9ff}•{ffffff} atliekamas veiksmas %s,\n    {d8a9ff}•{ffffff} veiksmo informacija %s", frakcija[fChosen[playerid]][fName], getActionEdit(playerid), setActionInfo(playerid));
                        
ShowPlayerDialog(playerid, 855, DIALOG_STYLE_LIST, zinute, g_szBuffer, "Keisti", "Atgal");
                        return 
1;
                    }
                    
format(g_szBuffer, 300, "SELECT `pName` FROM `"MySQL_PLAYERS_TABLE"` WHERE pName = '%s' LIMIT 1", zname);
                    new 
Cache:xData = mysql_query(dbHandle,g_szBuffer);
                    new 
nameCheck[24];
                    
format(nameCheck, sizeof nameCheck, "%s", cache_get_field_name( 0, "pName" ));
                    if(
cache_get_row_count() == 1)
                    {
                        
format(g_szBuffer, 150, "SELECT `SubLeader` FROM `"MySQL_PLAYERS_TABLE"` WHERE pName = '%s' LIMIT 1", zname);
                        new 
Cache:Data = mysql_query(dbHandle,g_szBuffer);
                        new 
Leading = cache_get_field_content_int( 0, "SubLeader" );
                        if(
Leading > 0)
                        {
                            
SendError(playerid, "ћaidėjas jau vadovauja frakcijai !");
                            
fChosen[playerid] = -1;
                            
fAction[playerid] = -1;
                        }
                        else
                        {
                        
                            
format(zinute, 148, "{d8a9ff}•{ffffff} paskirtas naujasis „{d8a9ff}%s{ffffff}“ frakcijos sub-lyderis {d8a9ff}%s{ffffff} !", frakcija[fChosen[playerid]][fName], zname);
                            
SendClientMessageToAll(-1, zinute);
                            
                            
format(g_szBuffer, 150,
                            
"UPDATE `"MySQL_PLAYERS_TABLE"` SET \
                            \
                                `SubLeader` = '%i' \
                            \
                            WHERE pName = '%s'"
,
                            
fChosen[playerid],
                            
zname);
                            
mysql_query(dbHandle,g_szBuffer);
                            
format(frakcija[fChosen[playerid]][fSubLeader], MAX_PLAYER_NAME+1, "%s", zname);
                            
updateFractionLabel(fChosen[playerid]);
                            
fAction[playerid] = -1;
                            
fChosen[playerid] = -1;
                            
cache_delete( Data );
                            return 
1;
                        }
                    }
                    else
                    {
                        
SendError(playerid, "duomenų bazėje toks ћaidėjas neegzistuoja !");
                        
fAction[playerid] = 15;
                        
format(zinute, 90, "Redaguojama „%s“ frakcija", frakcija[fChosen[playerid]][fName]);
                        
format(g_szBuffer, 170, "{ffffff}Redaguojama „{d8a9ff}%s{ffffff}“ frakcija:\n \n    {d8a9ff}•{ffffff} atliekamas veiksmas %s,\n    {d8a9ff}•{ffffff} veiksmo informacija %s", frakcija[fChosen[playerid]][fName], getActionEdit(playerid), setActionInfo(playerid));
                        
ShowPlayerDialog(playerid, 855, DIALOG_STYLE_MSGBOX, zinute, g_szBuffer, "Keisti", "Atgal");
                    }
                    
cache_delete( xData );
                }
             }
        }
        if(!
response)
        {    
            new 
ids;
            if(
player[playerid][pWorkLeader] >= 0 && frakcija[player[playerid][pWorkLeader]][fReq] == 1){ 
                
ids = player[playerid][pWorkLeader]; }
            else if(
player[playerid][pWorkSubLeader] >= 0 && frakcija[player[playerid][pWorkLeader]][fReq] == 1){
                
ids = player[playerid][pWorkSubLeader]; }
            if(
frakcija[ids][fReq] >= 0) return leaderDialog(playerid);
            if(
frakcija[id][fReq] != 1)
            {
                
fAction[playerid] = -1;
                
ShowPlayerDialog(playerid, 851, DIALOG_STYLE_LIST, zinute, "{d8a9ff}•{ffffff} Keisti patirties reikalavimus\n{d8a9ff}•{ffffff} Keisti darbo vietų skaičių\n{d8a9ff}•{ffffff} Keisti dokumentų reikalavimus\n{d8a9ff}•{ffffff} Keisti teisių reikalavimus\n{d8a9ff}•{ffffff} keisti darbo kontrakto laiką", "Rinktis", "Iљeiti");
            }
            else
            {
                
fAction[playerid] = -1;
                
ShowPlayerDialog(playerid, 851, DIALOG_STYLE_LIST, zinute, "{d8a9ff}•{ffffff} Keisti patirties reikalavimus\n{d8a9ff}•{ffffff} Keisti darbo vietų skaičių\n{d8a9ff}•{ffffff} Keisti dokumentų reikalavimus\n{d8a9ff}•{ffffff} Keisti teisių reikalavimus\n{d8a9ff}•{ffffff} keisti darbo kontrakto laiką\n \n{d8a9ff}•{ffffff} Frakcijos lyderio valdymas\n{d8a9ff}•{ffffff} Frakcijos sub-lyderio valdymas", "Rinktis", "Iљeiti");
            }
        }
    } 
Under this dialog goes all the responses.


Re: String lenght, or something else? - bogushas - 04.04.2018

Still need help. - EDIT:
Fixed, didin't used -r in pawn file, to detect the line faster. Problem wasn't in dialogs, it was in one of the stocks, that is stocking info.