GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Xoss le 02 Août 2009, 01:41:21

Titre: Strtok ?
Posté par: Xoss le 02 Août 2009, 01:41:21
C:\Users\alex\Desktop\Serveur\Archives\SF\SFTDM2.pwn(2258) : error 017: undefined symbol "strtok"
C:\Users\alex\Desktop\Serveur\Archives\SF\SFTDM2.pwn(2258) : error 033: array must be indexed (variable "cmd")
C:\Users\alex\Desktop\Serveur\Archives\SF\SFTDM2.pwn(2349) : error 017: undefined symbol "strtok"
C:\Users\alex\Desktop\Serveur\Archives\SF\SFTDM2.pwn(2349) : error 033: array must be indexed (variable "tmp")
C:\Users\alex\Desktop\Serveur\Archives\SF\SFTDM2.pwn(2439) : error 017: undefined symbol "strtok"
C:\Users\alex\Desktop\Serveur\Archives\SF\SFTDM2.pwn(2439) : error 033: array must be indexed (variable "tmp")
C:\Users\alex\Desktop\Serveur\Archives\SF\SFTDM2.pwn(2488) : error 017: undefined symbol "strtok"
C:\Users\alex\Desktop\Serveur\Archives\SF\SFTDM2.pwn(2488) : error 033: array must be indexed (variable "tmp")
C:\Users\alex\Desktop\Serveur\Archives\SF\SFTDM2.pwn(2531) : error 017: undefined symbol "strtok"
C:\Users\alex\Desktop\Serveur\Archives\SF\SFTDM2.pwn(2531) : error 033: array must be indexed (variable "tmp8")
C:\Users\alex\Desktop\Serveur\Archives\SF\SFTDM2.pwn(2565) : error 017: undefined symbol "strtok"
C:\Users\alex\Desktop\Serveur\Archives\SF\SFTDM2.pwn(2565) : error 033: array must be indexed (variable "tmp9")
C:\Users\alex\Desktop\Serveur\Archives\SF\SFTDM2.pwn(2603) : error 017: undefined symbol "strtok"
C:\Users\alex\Desktop\Serveur\Archives\SF\SFTDM2.pwn(2603) : error 033: array must be indexed (variable "tmp")
C:\Users\alex\Desktop\Serveur\Archives\SF\SFTDM2.pwn(2610) : error 017: undefined symbol "strtok"
C:\Users\alex\Desktop\Serveur\Archives\SF\SFTDM2.pwn(2610) : error 033: array must be indexed (variable "tmp")
C:\Users\alex\Desktop\Serveur\Archives\SF\SFTDM2.pwn(2645) : error 017: undefined symbol "strtok"
C:\Users\alex\Desktop\Serveur\Archives\SF\SFTDM2.pwn(2645) : error 033: array must be indexed (variable "tmp")
C:\Users\alex\Desktop\Serveur\Archives\SF\SFTDM2.pwn(2656) : error 017: undefined symbol "strtok"
C:\Users\alex\Desktop\Serveur\Archives\SF\SFTDM2.pwn(2656) : error 033: array must be indexed (variable "tmp")
C:\Users\alex\Desktop\Serveur\Archives\SF\SFTDM2.pwn(2716) : error 017: undefined symbol "strtok"
C:\Users\alex\Desktop\Serveur\Archives\SF\SFTDM2.pwn(2716) : error 033: array must be indexed (variable "tmp")
C:\Users\alex\Desktop\Serveur\Archives\SF\SFTDM2.pwn(2736) : error 017: undefined symbol "strtok"
C:\Users\alex\Desktop\Serveur\Archives\SF\SFTDM2.pwn(2736) : error 033: array must be indexed (variable "tmp")
C:\Users\alex\Desktop\Serveur\Archives\SF\SFTDM2.pwn(2774) : error 017: undefined symbol "strtok"
C:\Users\alex\Desktop\Serveur\Archives\SF\SFTDM2.pwn(2774) : error 033: array must be indexed (variable "tmp")

Compilation aborted.Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase


26 Errors.

Voila un copain m'a passé son script SFTDM pour que je l' améliore un peu !
Cependant avant même de commencer je compile et ça donne ce qui a en haut !
Pourquoi ? C'est quoi ce problèmes ?
Merci de m'aider

Titre: Re : Strtok ?
Posté par: hardcoder le 02 Août 2009, 01:52:48
Les erreurs parlent d'elles même. En gros il te manque la fonction "strtok". Mais tu devrais remplacer cette fonction par sscanf (cherche sur le wiki de samp), bien plus efficace et pratique.
Titre: Re : Strtok ?
Posté par: Dark4ng3L le 02 Août 2009, 09:27:06
met apres ton OnGameModeInit

strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}

new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}


puis met
cmd = strtok(cmdtext, idx);
au debut de ton OnPlayerCommandText


++ D4 ++  8)
Titre: Re : Strtok ?
Posté par: cristab le 02 Août 2009, 10:28:38
euh non desoler de contre dire 26 erreure etant le maximum detecter par pawno signifie qu'il te manque une accolade de fermeture
Titre: Re : Strtok ?
Posté par: Xoss le 02 Août 2009, 13:46:46
euh alors je fais pas c qu'a dit Dark ?
Et tous ça beug a cause d un  }  ?
Titre: Re : Strtok ?
Posté par: cristab le 02 Août 2009, 13:58:33
tout a fait trouve le manquant et ajoute le
Titre: Re : Strtok ?
Posté par: Xoss le 02 Août 2009, 14:16:49
En faisant ce que Dark a dit  :

C:\Users\alex\Desktop\Serveur\Archives\SF\SFTDM2.pwn(860) : error 017: undefined symbol "strtok"
C:\Users\alex\Desktop\Serveur\Archives\SF\SFTDM2.pwn(860) : error 029: invalid expression, assumed zero
C:\Users\alex\Desktop\Serveur\Archives\SF\SFTDM2.pwn(860) : error 017: undefined symbol "string"
C:\Users\alex\Desktop\Serveur\Archives\SF\SFTDM2.pwn(860) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.

Pour } je vois pas ou le mettre
Titre: Re : Strtok ?
Posté par: cristab le 02 Août 2009, 14:41:43
montre la ligne 860
Titre: Re : Strtok ?
Posté par: Lababalle le 02 Août 2009, 16:26:57
Ajoute ceci tout à la fin de ton script


Code: (Pawn) [Sélectionner]
/*
### Strtok ###

*/
strtok (const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}

new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}

/*
Titre: Re : Strtok ?
Posté par: Xoss le 02 Août 2009, 17:52:48
Merci beaucoup tous le monde
Probleme resolu