string
#1

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?
Reply
#2

First of all WHY THE HELL 256 Can you show us the command??
Reply
#3

why should be the string bigged ?500 ?
Reply
#4

Can you show that command??
Reply
#5

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.
Reply
#6

Код 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);
Reply
#7

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
Reply
#8

Quote:
Originally Posted by StR_MaRy
Посмотреть сообщение
new var[2000];
new coordsstring[2000] = ...
2000 cells, seriously?
Reply
#9

Yea... I tought the same thing xD...
Reply
#10

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];

?
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)