Je t'ai fais une include, peut-être que cela te parleras plus.
/* Text Splitting for long text
*
* (c) Copyleft 2011-2012, Xartrick
* This work is submitted under Beerware rights.
*
* By Xartrick
*/
#if defined _x_textsplit_included
#endinput
#endif
#define _x_textsplit_included
#pragma library textsplit
#include <a_samp>
forward SAMPStringLimiter(string[]);
forward split(strsrc[], strdest[][], delimiter);
SAMPStringLimiter(string[])
{
new stringlength = 0, sentencelength = 0, wordlength = 0;
new sentence[2][128];
stringlength = strlen(string);
for(new i = 0; i < stringlength; i++)
{
if(string[i] == 32)
{
if((sentencelength + wordlength) > 128)
{
string[i] = '£';
break;
}
wordlength = 0;
}
else
{
wordlength++;
}
sentencelength++;
}
split(string, sentence, '£');
return sentence;
}
split(strsrc[], strdest[][], delimiter)
{
new i = 0, li = 0, aNum = 0, len = 0;
while(i <= strlen(strsrc))
{
if(strsrc[i] == delimiter || i == strlen(strsrc))
{
len = strmid(strdest[aNum], strsrc, li, i, 128);
strdest[aNum][len] = 0;
li = i+1;
aNum++;
}
i++;
}
return 1;
}
À placer dans /pawno/include/ (par défaut).
Exemple d'utilisation:
new chaine[BIG_ARRAY] = "Ceci est un simple texte pour comprendre comme mon (Xartrick) include fonctionne, elle permet de couper un texte en deux parties (seulement) si celui-ci est trop long (128 caractères).";
new result[2][128];
result = SAMPStringLimiter(chaine);
printf("%s", result[0]);
printf("%s", result[1]);