hey guys i have some commands with strings and every string is [256] but after i restart it works but if some people 2-3 and use the commands they crash , the commands have no problem is something to the range of string some ideas?
Only use as much space as needed. Say your string is the following: "Hello". This string has 5 characters, so use an array size of 5 + 1. The added 1 is needed for the null-terminator.
Don't use 256 or any other random number. The input is limited to 128 + 1 characters anyway. The output to 144 + 1.
Код HTML:
CMD:factions(playerid, params[])
{
if(gLogged[playerid] == 0) return SendClientMessage(playerid,COLOR_ERROR, "Tu nu esti logat si nu poti sa folosesti aceasta comanda!");
new var[2000];
new coordsstring[2000] = "Nume\tMembrii/Max\tLevel\tRecrutari\n";
if(FactionRecruit[1] == 1) format(gString, sizeof(gString), "{2641FE}%s{FFFFFF}\t[%d/%d]\t%d\t{00cc00}[Aplicati deschise]{FFFFFF}\n", FactionInfo[1][fName], FactionMembers(1), FactionInfo[1][fSlots], FactionInfo[1][fMinLevel]);
else format(gString, sizeof(gString), "{2641FE}%s{FFFFFF}\t[%d/%d]\t%d\t{FF0000}[Aplicati inchise]{FFFFFF}\n", FactionInfo[1][fName], FactionMembers(1), FactionInfo[1][fSlots], FactionInfo[1][fMinLevel]);
strcat(var, gString);
if(FactionRecruit[2] == 1) format(gString, sizeof(gString), "{1E519D}%s{FFFFFF}\t[%d/%d]\t%d\t{00cc00}[Aplicati deschise]{FFFFFF}\n", FactionInfo[2][fName], FactionMembers(2), FactionInfo[2][fSlots], FactionInfo[2][fMinLevel]);
else format(gString, sizeof(gString), "{1E519D}%s{FFFFFF}\t[%d/%d]\t%d\t{FF0000}[Aplicati inchise]{FFFFFF}\n", FactionInfo[2][fName], FactionMembers(2), FactionInfo[2][fSlots], FactionInfo[2][fMinLevel]);
strcat(var, gString);
if(FactionRecruit[3] == 1) format(gString, sizeof(gString), "{B3F856}%s{FFFFFF}\t[%d/%d]\t%d\t{00cc00}[Aplicati deschise]{FFFFFF}\n", FactionInfo[3][fName], FactionMembers(3), FactionInfo[3][fSlots], FactionInfo[3][fMinLevel]);
else format(gString, sizeof(gString), "{B3F856}%s{FFFFFF}\t[%d/%d]\t%d\t{FF0000}[Aplicati inchise]{FFFFFF}\n", FactionInfo[3][fName], FactionMembers(3), FactionInfo[3][fSlots], FactionInfo[3][fMinLevel]);
strcat(var, gString);
if(FactionRecruit[4] == 1) format(gString, sizeof(gString), "{C2A2DA}%s{FFFFFF}\t[%d/%d]\t%d\t{00cc00}[Aplicati deschise]{FFFFFF}\n", FactionInfo[4][fName], FactionMembers(4), FactionInfo[4][fSlots], FactionInfo[4][fMinLevel]);
else format(gString, sizeof(gString), "{C2A2DA}%s{FFFFFF}\t[%d/%d]\t%d\t{FF0000}[Aplicati inchise]{FFFFFF}\n", FactionInfo[4][fName], FactionMembers(4), FactionInfo[4][fSlots], FactionInfo[4][fMinLevel]);
strcat(var, gString);
if(FactionRecruit[5] == 1) format(gString, sizeof(gString), "{FFFF00}%s{FFFFFF}\t[%d/%d]\t%d\t{00cc00}[Aplicati deschise]{FFFFFF}\n", FactionInfo[5][fName], FactionMembers(5), FactionInfo[5][fSlots], FactionInfo[5][fMinLevel]);
else format(gString, sizeof(gString), "{FFFF00}%s{FFFFFF}\t[%d/%d]\t%d\t{FF0000}[Aplicati inchise]{FFFFFF}\n", FactionInfo[5][fName], FactionMembers(5), FactionInfo[5][fSlots], FactionInfo[5][fMinLevel]);
strcat(var, gString);
if(FactionRecruit[6] == 1) format(gString, sizeof(gString), "{F5DEB3}%s{FFFFFF}\t[%d/%d]\t%d\t{00cc00}[Aplicati deschise]{FFFFFF}\n", FactionInfo[6][fName], FactionMembers(6), FactionInfo[6][fSlots], FactionInfo[6][fMinLevel]);
else format(gString, sizeof(gString), "{F5DEB3}%s{FFFFFF}\t[%d/%d]\t%d\t{FF0000}[Aplicati inchise]{FFFFFF}\n", FactionInfo[6][fName], FactionMembers(6), FactionInfo[6][fSlots], FactionInfo[6][fMinLevel]);
strcat(var, gString);
if(FactionRecruit[7] == 1) format(gString, sizeof(gString), "{AFAFAF}%s{FFFFFF}\t[%d/%d]\t%d\t{00cc00}[Aplicati deschise]{FFFFFF}\n", FactionInfo[7][fName], FactionMembers(7), FactionInfo[7][fSlots], FactionInfo[7][fMinLevel]);
else format(gString, sizeof(gString), "{AFAFAF}%s{FFFFFF}\t[%d/%d]\t%d\t{FF0000}[Aplicati inchise]{FFFFFF}\n", FactionInfo[7][fName], FactionMembers(7), FactionInfo[7][fSlots], FactionInfo[7][fMinLevel]);
strcat(var, gString);
if(FactionRecruit[8] == 1) format(gString, sizeof(gString), "{008000}%s{FFFFFF}\t[%d/%d]\t%d\t{00cc00}[Aplicati deschise]{FFFFFF}\n", FactionInfo[8][fName], FactionMembers(8), FactionInfo[8][fSlots], FactionInfo[8][fMinLevel]);
else format(gString, sizeof(gString), "{008000}%s{FFFFFF}\t[%d/%d]\t%d\t{FF0000}[Aplicati inchise]{FFFFFF}\n", FactionInfo[8][fName], FactionMembers(8), FactionInfo[8][fSlots], FactionInfo[8][fMinLevel]);
strcat(var, gString);
if(FactionRecruit[9] == 1) format(gString, sizeof(gString), "{800080}%s{FFFFFF}\t[%d/%d]\t%d\t{00cc00}[Aplicati deschise]{FFFFFF}\n", FactionInfo[9][fName], FactionMembers(9), FactionInfo[9][fSlots], FactionInfo[9][fMinLevel]);
else format(gString, sizeof(gString), "{800080}%s{FFFFFF}\t[%d/%d]\t%d\t{FF0000}[Aplicati inchise]{FFFFFF}\n", FactionInfo[9][fName], FactionMembers(9), FactionInfo[9][fSlots], FactionInfo[9][fMinLevel]);
strcat(var, gString);
if(FactionRecruit[10] == 1) format(gString, sizeof(gString), "{FFA500}%s{FFFFFF}\t[%d/%d]\t%d\t{00cc00}[Aplicati deschise]{FFFFFF}\n", FactionInfo[10][fName], FactionMembers(10), FactionInfo[10][fSlots], FactionInfo[10][fMinLevel]);
else format(gString, sizeof(gString), "{FFA500}%s{FFFFFF}\t[%d/%d]\t%d\t{FF0000}[Aplicati inchise]{FFFFFF}\n", FactionInfo[10][fName], FactionMembers(10), FactionInfo[10][fSlots], FactionInfo[10][fMinLevel]);
strcat(var, gString);
if(FactionRecruit[11] == 1) format(gString, sizeof(gString), "{00F2FF}%s{FFFFFF}\t[%d/%d]\t%d\t{00cc00}[Aplicati deschise]{FFFFFF}\n", FactionInfo[11][fName], FactionMembers(11), FactionInfo[11][fSlots], FactionInfo[11][fMinLevel]);
else format(gString, sizeof(gString), "{00F2FF}%s{FFFFFF}\t[%d/%d]\t%d\t{FF0000}[Aplicati inchise]{FFFFFF}\n", FactionInfo[11][fName], FactionMembers(11), FactionInfo[11][fSlots], FactionInfo[11][fMinLevel]);
strcat(var, gString);
if(FactionRecruit[12] == 1) format(gString, sizeof(gString), "{99FF66}%s{FFFFFF}\t[%d/%d]\t%d\t{00cc00}[Aplicati deschise]{FFFFFF}\n", FactionInfo[12][fName], FactionMembers(12), FactionInfo[12][fSlots], FactionInfo[12][fMinLevel]);
else format(gString, sizeof(gString), "{99FF66}%s{FFFFFF}\t[%d/%d]\t%d\t{FF0000}[Aplicati inchise]{FFFFFF}\n", FactionInfo[12][fName], FactionMembers(12), FactionInfo[12][fSlots], FactionInfo[12][fMinLevel]);
strcat(var, gString);
strins(var, coordsstring, 0);
ShowPlayerDialog(playerid, DIALOG_FACTIONS, DIALOG_STYLE_TABLIST_HEADERS, "Factiuni disponibile", var, "Inchide", "");
return 1;
}
CMD:factiuni(playerid, params[]) return cmd_factions(playerid, params);
Are you even declaring gString?? And i suggest defining one string for each if loop. It might be a bit of work (not to much) but it will be better for you
Yea... I tought the same thing xD...
so should i see how manny letters do i have and put it like if i have 50 letters should be new string[50+1];