GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Wisdom le 08 Août 2013, 16:48:16

Titre: Erreur de compilation
Posté par: Wisdom le 08 Août 2013, 16:48:16
Bonjour,

Lors d'une compilation, j'obtiens cette erreur là :

\GTA-RP\gamemodes\ftv-rp.pwn(16373) : error 017: undefined symbol "cop_copWantCG"
\Desktop\GTA-RP\gamemodes\ftv-rp.pwn(16373) : warning 215: expression has no effect
\Desktop\GTA-RP\gamemodes\ftv-rp.pwn(16373) : error 001: expected token: ";", but found "]"
Desktop\GTA-RP\gamemodes\ftv-rp.pwn(16373) : error 029: invalid expression, assumed zero
\GTA-RP\gamemodes\ftv-rp.pwn(16373) : fatal error 107: too many error messages on one line
 
 
Compilation aborted.Pawn compiler 3.2.3664              Copyright (c) 1997-2006, ITB CompuPha


La ligne de code du problème :
                {
                    if (!player_isValid(playerid) || !player_isValid(cop_copWantCG[playerid])) { return 1};
                        if (response[client] == 0) // Refus
                        {

Lien du pastebin : http://pastebin.com/vb4NVdKK (http://pastebin.com/vb4NVdKK)

 Quelqu'un aurait il une solution à ce probleme ?

S'il vous plait,
Merci d'avance.

Cordialement,
Wisdom

N.B : Il se peut que je ré-utilise ce topic, pour d'autre problème lors de la compilation. Et ceux une fois une réponse donner.
Titre: Re : Erreur de compilation
Posté par: maxya le 08 Août 2013, 17:12:29
t'a bien déclaré la variable cop_copWantCG ?
Titre: Re : Erreur de compilation
Posté par: vincentdu90 le 08 Août 2013, 17:13:23
Un indice : Le point virgule.
Sinon lorsque tu as seulement une seule et unique instruction dans une condition tu n'es pas forcé de mettre des accolades.
Titre: Re : Erreur de compilation
Posté par: Wisdom le 08 Août 2013, 17:22:15
Peu ton éclairé ma lenterne ?

Car je ne suis pas fort en pawn :P
Titre: Re : Erreur de compilation
Posté par: vincentdu90 le 08 Août 2013, 17:24:35
Toutes les instructions se terminent par un point virgule or le tiens est mal placé.
Tu devrais lire les tutoriels du forum ou en trouver sur le C comme ça tu aurais au moins les bases de la programmation.
Titre: Re : Erreur de compilation
Posté par: Wisdom le 08 Août 2013, 17:26:53
Oui ca je veux bien le comprendre :p, mais le soucis, c'est que on est 2 à avoir un minimum de connaissance et les personnes qui nous aides pour le codages, ne peuvent pas toujours être présent  :smile:. C'est pourquoi je m'étais permis de venir à vous  :kiss:


Donc si je le mets comme ceci c'est bon ? (en mettant un espace entre le ")" et le ";")

                {
                    if (!player_isValid(playerid) || !player_isValid(cop_copWantCG[playerid])) { return 1} ;
                        if (response[client] == 0) // Refus
                        {
Titre: Re : Erreur de compilation
Posté par: maxya le 08 Août 2013, 17:39:31
essaye ça:

if (!player_isValid(playerid) || !player_isValid(cop_copWantCG[playerid])) return 1 ;
Titre: Re : Erreur de compilation
Posté par: Wisdom le 08 Août 2013, 17:50:17
J'ai copié coller.

Mais avec pawno lors de la compile j'ai un autre message :cry:

fatal error 100: cannot read from file: "a_mysql"

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


1 Error.


Ligne 16 :
#include <a_mysql>                  // Mysql

Désolé par avance si je dérange :x. Et merci d'avance pour l'aide, dommage que l'on peut pas noté vos message d'aide  :embarrassed:
Titre: Re : Erreur de compilation
Posté par: Xolokos le 08 Août 2013, 17:57:45
Une instruction se termine par un ;
Comme :
Code: (PAWN) [Sélectionner]
SetPlayerHealth(playerid, 100);Dans ton code tu fais une condition et tu utilises ; après une accolade fermante.
Code: (PAWN) [Sélectionner]
if(blabla)
{
  Fonction(blabla);
  return 1
};
Or ( certain code mette un ; après une accolade fermante je l'accorde mais pas en PAWN) tu a placer le ; après l'accolade...
En réalité :
Code: (PAWN) [Sélectionner]
if (!player_isValid(playerid) || !player_isValid(cop_copWantCG[playerid])) return 1;ou bien avec les accolades de ouvrante et fermante :
Code: (PAWN) [Sélectionner]
if (!player_isValid(playerid) || !player_isValid(cop_copWantCG[playerid])) { return 1; }
Pour a_mysql il faut télécharger le plugin et l'include correspondante.

EDIT : forum.sa-mp.com/showthread.php?t=56564 (http://forum.sa-mp.com/showthread.php?t=56564)
Titre: Re : Erreur de compilation
Posté par: maxya le 08 Août 2013, 18:13:05
N'oublie pas de mettre le plugin dans le serveur.cfg si la ligne plugin n'existe pas crée la voici ce que tu dois exactement ajouter dans le serveur.cfg:

plugins mysql
sinon ou a tu mis l'include et le plugin ?
Titre: Re : Erreur de compilation
Posté par: Wisdom le 08 Août 2013, 19:22:18
Je suis entrain de récupérer tout les fichiers fournis avec. Bien sur le tout sera mit dans un seul est unique document. Je vous dirais cela une fois le tout récupérer.

Cordialement,
Wisdom

Édit, donc j'ai tout les fichiers et document dans un seul et même documents, pour ce GM.
Donc là quand je compile j'ai toujours cette erreurs, avec le MYSQL

Je vous fournis les screen de ce dossier :

Dossier principal :
http://img11.hostingpics.net/pics/453568dossier.jpg (http://img11.hostingpics.net/pics/453568dossier.jpg)

Dossier includes et ses sous-dossier :
1) http://img4.hostingpics.net/pics/375156inculdes.jpg (http://img4.hostingpics.net/pics/375156inculdes.jpg)
2) http://img11.hostingpics.net/pics/745179inclYSI.jpg (http://img11.hostingpics.net/pics/745179inclYSI.jpg)
3) http://img11.hostingpics.net/pics/501086inclYSIinternal.jpg (http://img11.hostingpics.net/pics/501086inclYSIinternal.jpg)
4) http://img4.hostingpics.net/pics/452019includeYSIextra.jpg (http://img4.hostingpics.net/pics/452019includeYSIextra.jpg)

 




Titre: Re : Erreur de compilation
Posté par: Wisdom le 08 Août 2013, 20:01:36
Up topic, édit.
Titre: Re : Erreur de compilation
Posté par: maxya le 09 Août 2013, 04:28:44
wisdom donne moi ton skype en PM je te règle tous ça ;)
Titre: Re : Erreur de compilation
Posté par: Wisdom le 09 Août 2013, 10:18:26
Je te pm directement
Titre: Re : Erreur de compilation
Posté par: Wisdom le 09 Août 2013, 14:57:32
Bon après explication, le problème du mysql est résolu.

Mais j'ai toujours les mêmes codes erreur. Donc je vais vous fournir les différentes lignes de codages ou ca parle du cop_copWantCG :

Ligne 16373 à 16381
{
       if (!player_isValid(playerid) || !player_isValid(cop_copWantCG[playerid])) return 1;
            if (response[client] == 0) // Refus
{
    new msgamende[128];
    GetPlayerName(playerid,sendername,sizeof(sendername));
    format(msgamende, sizeof(msgamende), "[Police] %s refuse de montrer sa carte grise !",sendername);
    SendClientMessage(cop_copWantCG[playerid], COLOR_COPS, msgamende);
    cop_copWantCG[playerid] = -1;
    return 1;
}

Ligne 16385 à 16403
    if (cop_copWantCG[playerid] == -1)
{SendClientMessage(playerid, COLOR_SERVER, "Personne ne vous demande votre carte grise"); return 1; }
                if (GetDistanceBetweenPlayers(playerid, cop_copWantCG[playerid]) > 6)
{SendClientMessage(playerid, COLOR_COPS, "[Police] Ce flic n'est pas près de vous."); return 1;}
                GetPlayerName(playerid, sendername, sizeof(sendername));
                new string[256];
format(string,sizeof(string),"------------------- Police : Carte grise de %s -------------------", sendername);
SendClientMessage(cop_copWantLicence[playerid],COLOR_STATS, string);
format(string,sizeof(string),"Véhicule: %s", PlayerInfo[playerid][pCar]);
                SendClientMessage(cop_copWantLicence[playerid],COLOR_STATS, string);
                format(string,sizeof(string),"Plaque: %s",PlayerInfo[playerid][pPlaque]);
                SendClientMessage(cop_copWantLicence[playerid],COLOR_STATS, string);
format(string,sizeof(string),"N° de série du véhicule: %s",PlayerInfo[playerid][pVin]);
                SendClientMessage(cop_copWantCG[playerid],COLOR_STATS, string);

cop_copWantCG[playerid] = -1;
format(proxy_msg, sizeof(proxy_msg), "%s montre sa carte grise à l'agent de police.", sendername);
proxy_sendMsg(playerid, proxy_msg);
return 1;

Ligne 19688 à 1990
            if (GetDistanceBetweenPlayers(playerid, giveplayerid) > 6)
{SendClientMessage(playerid, COLOR_COPS, "[Police] Ce joueur n'est pas près de vous."); return 1;}
cop_copWantCG[giveplayerid] = playerid;

 Ligne 21018 à 21020
            if (GetDistanceBetweenPlayers(playerid, giveplayerid) > 6)
{SendClientMessage(playerid, COLOR_COPS, "[FBI] Ce joueur n'est pas près de vous."); return 1;}
cop_copWantCG[giveplayerid] = playerid;
Titre: Re : Re : Erreur de compilation
Posté par: vincentdu90 le 09 Août 2013, 15:22:46
t'a bien déclaré la variable cop_copWantCG ?

Titre: Re : Erreur de compilation
Posté par: Wisdom le 09 Août 2013, 17:27:06
C'est pourquoi j'ai mis toutes les lignes de codes ou ça parle de la variable "cop_copWantCG", et ceux afin que vous puissiez me venir en aide  :embarrassed:
Titre: Re : Erreur de compilation
Posté par: vincentdu90 le 09 Août 2013, 17:40:00
Tu sais au moins comment on déclare une variable ? Sais-tu de quel type il s'agit ?
Sans ça, en corrigeant le code à ta place on t'aidera pas à progresser.
Titre: Re : Erreur de compilation
Posté par: Wisdom le 09 Août 2013, 19:54:02
Comme je l'ai dis, non. Mais si tu es volontaire pour clairement m'expliquer, moi je ne dirais pas non  :kiss:
Titre: Re : Erreur de compilation
Posté par: Wisdom le 10 Août 2013, 23:07:16
Suite à une aide ces erreurs là on était corrigé (dédicace à lui  :kiss:).

Mais il y a eu d'autre erreurs d'afficher et on (enfin lui) ne savait pas d'où cela pouvait provenir.

Citer
\GM SAMP\FTVRP\pawno\new.pwn(16379) : warning 217: loose indentation
\GM SAMP\FTVRP\pawno\new.pwn(16380) : error 001: expected token: ";", but found "if"
\GM SAMP\FTVRP\pawno\new.pwn(16380) : error 028: invalid subscript (not an array or too many subscripts): "response"
\GM SAMP\FTVRP\pawno\new.pwn(16380) : warning 215: expression has no effect
\GM SAMP\FTVRP\pawno\new.pwn(16380) : error 001: expected token: ";", but found "]"
\GM SAMP\FTVRP\pawno\new.pwn(16380) : fatal error 107: too many error messages on one line

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

{
       if (!player_isValid(playerid) || !player_isValid(cop_copWantCG[playerid])) { return 1; }
            new giveplayerid[MAX_PLAYER_NAME]
            if (response[giveplayerid] == 0) // Refus :
{
    new msgamende[128];
    GetPlayerName(playerid,sendername,sizeof(sendername));
    format(msgamende, sizeof(msgamende), "[Police] %s refuse de montrer sa carte grise !",sendername);
    SendClientMessage(cop_copWantCG[playerid], COLOR_COPS, msgamende);
    cop_copWantCG[playerid] = -1;
    return 1;
}
Titre: Re : Erreur de compilation
Posté par: maxya le 10 Août 2013, 23:37:35
ya pas de ; devant new giveplayerid[MAX_PLAYER_NAME] ;)

met ça :

new giveplayerid[MAX_PLAYER_NAME];
Titre: Re : Erreur de compilation
Posté par: Wisdom le 10 Août 2013, 23:41:38
je fais ça. Et cela ne change pas dans les code erreur
Titre: Re : Erreur de compilation
Posté par: Xartrick le 11 Août 2013, 18:54:23
Tu ne connais manifestement pas les rudiments de la programmation.

Je te conseil donc de lire des tutoriels (présent ici même) t'expliquant les bases.
Titre: Re : Erreur de compilation
Posté par: Wisdom le 11 Août 2013, 19:04:39
Oui cela je le comprend très, mais pour ne rien te cacher. Moi j'étais venu à vous pour obtenir de l'aide et ceux afin que le serveur soit lancer. Et une fois cela effectué, j'allais de mon coté apprendre le codage pawn, pour la suite. :x

Et je te le dis sincèrement, mais jusqu'à présent j'ai fais ce que l'on m'a dit et par la même occasion j'ai appris quelque "vague notion". Mais la pour ce bout de ligne, comme je l'ai dis. Même la personnes qui est venu en aide pour ceci, ne savait pas d'où cela pouvait provenir. Et honnêtement, tu crois que si une personnes ayant des connaissance sur pawn, un nouveau venu dans ce monde puisse trouver la solution ?

C'est pour ça que je suis venu à vous, afin que ce problème soit regler et que moi, je puisse une fois le serveur lancer, m'adonner au leçon pour codages pawn. Je sais que vous faites cela par plaisir, et ce plaisir croyais moi, je le perçoit très bien et c'est pourquoi je comptais me mettre au codage, mais pour le moment je suis pris entre 2 mur, si je puis dire.

En espérant obtenir, une aide à la hauteur de mes attentes
Et je comptais, même faire des remerciement à votre nom sur notre forum

Cordialement.
Wisdom
Titre: Re : Erreur de compilation
Posté par: Xolokos le 11 Août 2013, 22:29:32
Citer
Oui cela je le comprend très, mais pour ne rien te cacher. Moi j'étais venu à vous pour obtenir de l'aide et ceux afin que le serveur soit lancer. Et une fois cela effectué, j'allais de mon coté apprendre le codage pawn, pour la suite.

Tu ne vas pas faire un marathon et ensuite t'entrainer pour ce marathon si je ne me trompe pas...
De plus on ne ta rien appris, le mieux reste de faire les tutoriels ici présent comme la dit Xartrick, ensuite apprendre 'un peut' l'Anglais ( toujours utile si tu continues dans ce domaine ), commencer a faire des codes de base ( boire une bouteille suivant l'argent du joueur/TP le joueur etc ) et en dernière position apprendre les erreurs du compileur ( pas par coeur non plus car les erreurs retourné sont en Anglais donc si tu connais a peut près l'Anglais tu devrais t'en sortir facilement ).
Titre: Re : Erreur de compilation
Posté par: Xartrick le 11 Août 2013, 23:36:00
Si je comprends bien, tu veux lancer quelque-chose avant de comprendre comment ce quelque-chose fonctionne ?

Si ça c'est pas un bel exemple de candeur...
Titre: Re : Erreur de compilation
Posté par: Wisdom le 11 Août 2013, 23:50:23
Non, nuance. J'ai "quelque vague connaissance", de quoi débuter un peu. Mais là les problèmes que j'ai posté en demande aides aupres de vos services, personnes que je connaissais, savait d'où cela provenait.

Donc durant 2 semaines avant de posté chez vous, j'ai galeré à trouver les problemes et j'essayer au mieux de trouver les solutions de mon coté, avant d'effectuer un topic et ceux sur n'importe quelle forum.
Je suis venu chez vous en dernier recours. Et ceux avec le plus humble respect et la courtoisie et la détermination qui je puisse vous apporter.

Et je ne dis pas cela pour faire jolie, mais avec sincérité. Je sais que je n'aurais peut-être d'aide de votre part, je trouve cela dommage, sachant que j'y mettais du mien et avec sincérité.
Maintenant, je vous laisse libre de bien vouloir m'apporter cette aide qui est la votre, en tout cas je vous remercie avec les plus haut "louanges" pour votre communauté et apport que j'ai eu.

Cordialement,
Wisdom

Titre: Re : Erreur de compilation
Posté par: Xolokos le 13 Août 2013, 11:18:09
\GM SAMP\FTVRP\pawno\new.pwn(16379) : warning 217: loose indentationTu as mal INDENTÉ (http://fr.wikipedia.org/wiki/Style_d%27indentation).
\GM SAMP\FTVRP\pawno\new.pwn(16380) : error 001: expected token: ";", but found "if"Tu as oublier un ; et il trouve if juste après l'erreur.
\GM SAMP\FTVRP\pawno\new.pwn(16380) : error 028: invalid subscript (not an array or too many subscripts): "response"Tu as du oublier de mettre l'array ( [] ) d'une variable alors que cette variable est a array ou inversement.
\GM SAMP\FTVRP\pawno\new.pwn(16380) : warning 215: expression has no effectCe code n'a pas d'effet.
\GM SAMP\FTVRP\pawno\new.pwn(16380) : error 001: expected token: ";", but found "]"Il manque ; mais trouvé ].
\GM SAMP\FTVRP\pawno\new.pwn(16380) : fatal error 107: too many error messages on one lineTrop de message d'erreur sur une ligne.
Titre: Re : Erreur de compilation
Posté par: Xartrick le 13 Août 2013, 16:17:05
Cette variable doit être globale, c'est à dire qu'elle doit être dans aucune fonction.
Titre: Re : Erreur de compilation
Posté par: Wisdom le 13 Août 2013, 23:21:21
Merci, les erreurs ont était finalement corriger  :kiss:

Maintenant le soucis c'est que sur le serveur j'ai le gamemode en unknow,
donc vue que j'étais sous linux, j'ai mis tout les plugins en .so, j'ai ensuite redémarré le serveur et effectué un contrôle de la console en débug. Mais cette fois-ci je n'avais plus de message d'erreur,

Donc les problèmes d'erreur que j'avais eu, pour les plugins corriger. Donc je lance le serveur, je fais un contrôle débug, via la console, jusque là ok. N'ayant plus eu de message d'erreur, je fais un petit regard sur le serveur. Celui-ci ce trouve toujours en unknown....

Et je n'ai aucun message d'erreur sur la console du serveur.... J'aurais bien dis, je corrige le problème moi même, mais vue que je n'ai pas d'erreur sur la console, me permettant de savoir d'où proviens la cause,

Nom du gm : ftvrp.amx
Plugins : OK
Server.cfg : il est correctement regler, "gamemode0 ftvrp 1"

je ne sais pas ou chercher.....

N.B : J'ai passer 3h en essayant de comprendre pourquoi j'ai rien, dans la console à trouver le problème, fait des recherche sur google.... Mais comme je n'avais plus de message d'erreurs durant les 3heures de recherches, cela est comme chercher une aiguille dans une botte de foin :S
Titre: Re : Erreur de compilation
Posté par: Xolokos le 15 Août 2013, 11:45:30
Tu as peut être lancé le serveur pendant que tu compilés ?
C'est débile mais ça fait bugger le serveur chez moi et lance le serveur en Unknow...

Vérifie la version de ton serveur si tu compile avec des fonctions de la 0.3x et que tu le lance avec un server.exe 0.3e...
Titre: Re : Erreur de compilation
Posté par: Wisdom le 15 Août 2013, 14:24:50
Cela fut, le cas donc j'ai uptate streamer et a_mysql ce trouvant dans pawno/includes, mais lors de la recompilation, il me dit que :

Citer
fatal error 100: cannot read from file: "a_mysql"

Alors que le a_mysql.inc, figure dans l'includes en question....
Titre: Re : Erreur de compilation
Posté par: Xolokos le 16 Août 2013, 22:57:30
Lance bien le pawno.exe du dossier pawno ( et l'include et a mettre dans pawno/includes ).