• 04 Juin 2026, 22:08:51


Auteur Sujet: Problème lorsque je veux valider mon gamemode  (Lu 2679 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Micka

  • *
  • Gangster
  • Messages: 1016
    • Voir le profil
    • Planet-Ados
Problème lorsque je veux valider mon gamemode
« le: 07 Juillet 2007, 00:34:20 »
J'obtiens cette erreur :

F:\SERVEU~1\SAMP-S~1.1-W\GAMEMO~1\sftdm.pwn(644) : warning 235: public function lacks forward declaration (symbol "SetupPlayerForClassSelection")
F:\SERVEU~1\SAMP-S~1.1-W\GAMEMO~1\sftdm.pwn(786) : warning 235: public function lacks forward declaration (symbol "GameModeExitFunc")
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


2 Warnings.

A la ligne 644 j'ai :
public SetupPlayerForClassSelection(playerid)
A la ligne 786 j'ai :
public GameModeExitFunc()
Merci.

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Problème lorsque je veux valider mon gamemode
« Réponse #1 le: 07 Juillet 2007, 00:39:03 »
Vires les mots clés public des lignes 664 et 786 devant les definitions de tes fonctions et les warnings vont disparaitre.

NB : Le mot clé public n'est utilisé qu'avec les call-back

Edit : Et avec les fonctions des timers qu'il faut alors déclarer avec un ligne du genre forward MonTimer(); au début de ton script

++
« Modifié: 07 Juillet 2007, 00:51:31 par Syg »
Courtesy of GtaManiac

Hors ligne Micka

  • *
  • Gangster
  • Messages: 1016
    • Voir le profil
    • Planet-Ados
Re : Re : Problème lorsque je veux valider mon gamemode
« Réponse #2 le: 07 Juillet 2007, 07:26:13 »
Pas bien compris, donc en faite j'ai enlevé les mots public, ça donne :

SetupPlayerForClassSelection(playerid)
public GameModeExitFunc()
Et le truc de la fonction des timers, faut faire quoi ? mettre forward MonTimer (); au début du script ?

Hors ligne spykerc8

  • *
  • 'The GTAOnline.fr GodFather'
  • Messages: 3821
    • Voir le profil
    • http://www.gtaonline.fr
Re : Problème lorsque je veux valider mon gamemode
« Réponse #3 le: 07 Juillet 2007, 12:25:15 »
Oui,

forward SetupPlayerForClassSelection(playerid);
Si c'est une 'public', mais les fonctions public doivent retourner 'true' ou 'false', et jamais un array. Si tu veux faire ça faut utiliser :
stock SetupPlayerForClassSelection(playerid);
Bref, va lire le manuel pawn,

++


~ Leader honoraire de la FsK Team ~ -
~ Membre honoraire de la PCP Team ~

Co-fondateur de GTAO - Retraité de la communauté

"Nous ne sommes rien, soyons tout !"


Hors ligne Micka

  • *
  • Gangster
  • Messages: 1016
    • Voir le profil
    • Planet-Ados
Re : Problème lorsque je veux valider mon gamemode
« Réponse #4 le: 07 Juillet 2007, 14:10:10 »
Sinon ça change quoi de mettre 'public' ou 'stock' ?

Euh sinon pour le manuel de pawn c'est comme si quelqu'un demandait de l'aide au sujet de phpBB puis on lui disait "Va lire le manuel phpBB".

Plus trop d'intérêt si le manuel remplace le forum. :)

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Problème lorsque je veux valider mon gamemode
« Réponse #5 le: 07 Juillet 2007, 14:58:03 »
La solution dans ton cas c'est du virer les mots clés "public" aux lignes 664 et 786 .

Pour le cas des timers, c'est juste à titre indicatif.

Petit cours alors parce que meme spykerc8 n'a pas tout à fait compris on dirait :

Le mot clé "public" indique simplement qu'une fonction va être appelée par un élément EXTERNE au script.
C'est la cas des call-back et des fonctions de timers qui sont appelées par le moteur du serveur.
Pour toutes les autres fonctions internes au script, pas besoin de "public".
Un fonction "public" n'a pas obligation de retourner une valeur (fonction des timers par exemple ) et une fonction qui n'est pas "public" peut tout à fait retourner une valeur.

Par contre, toute fonction définie comme "public" DOIT faire l'objet d'une déclaration avec le mot clé "forward" en début de script.

NB : rien ne t'empèche d'aller lire le manuel PAWN.

++
Courtesy of GtaManiac

Hors ligne Micka

  • *
  • Gangster
  • Messages: 1016
    • Voir le profil
    • Planet-Ados
Re : Problème lorsque je veux valider mon gamemode
« Réponse #6 le: 07 Juillet 2007, 15:29:56 »
Merci.

Réglé