Non, pas de strtok.
De plus ici, il n'est pas possible d'utiliser une fonction toute faite (il en existe une en C mais elle n'a pas d'équivalent en PAWN).
Donc on fait simple :
new Chaine[255]; //<- Ça c'est la chaîne qui contiendra le message à afficher
new FinChaine[128];
new i;
// ICI, ON REMPLI LA CHAINE D'UNE FACON OU D'UNE AUTRE
/* Si la chaîne fait plus de 128 caractères */
if (strlen (Chaine) > 128)
{
/* On part du 128° caractère et on remonte la chaîne jusqu'à ce qu'on trouve un espace */
i=128;
while (Chaine[i]!=' ' && i>0) // NB : Il y a un espace entre les deux quotes
{
i--; // Caractère précédent
}
/* A ce niveau, i nous donne l'index de l'endroit où il faut couper la chaine */
/* On remplace l'espace par un 0 binaire qui va terminer la chaine à cette endroit */
Chaine[i] = 0;
/* On affiche les deux parties de la chaine */
SendPlayerMessageToAll (playerid, Chaine); //Première partie qui se termine sur le caractère i
SendPlayerMessageToAll (playerid, Chaine[i+1]); //Deuxième partie de la chaine qui commence au caractère i+1
}
else
{
/* On affiche la chaine sans traitement */
SendPlayerMessageToAll (playerid, Chaine);
}NB : Code testé et approuvé par mes soins pour les besoins de cette réponse
A faire : Traiter le cas où la chaine ne contient pas d'espace (cas où i vaut 0 lorsqu'on sort de la boucle while)
Je te laisse traiter ce cas, ça te fera un bon exercice.
++
Syg