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
-
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.
-
t'a bien déclaré la variable cop_copWantCG ?
-
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.
-
Peu ton éclairé ma lenterne ?
Car je ne suis pas fort en pawn :P
-
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.
-
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
{
-
essaye ça:
if (!player_isValid(playerid) || !player_isValid(cop_copWantCG[playerid])) return 1 ;
-
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:
-
Une instruction se termine par un ;
Comme :
SetPlayerHealth(playerid, 100);
Dans ton code tu fais une condition et tu utilises ; après une accolade fermante.
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é :
if (!player_isValid(playerid) || !player_isValid(cop_copWantCG[playerid])) return 1;
ou bien avec les accolades de ouvrante et fermante :
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)
-
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 ?
-
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)
-
Up topic, édit.
-
wisdom donne moi ton skype en PM je te règle tous ça ;)
-
Je te pm directement
-
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;
-
t'a bien déclaré la variable cop_copWantCG ?
-
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:
-
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.
-
Comme je l'ai dis, non. Mais si tu es volontaire pour clairement m'expliquer, moi je ne dirais pas non :kiss:
-
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.
\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;
}
-
ya pas de ; devant new giveplayerid[MAX_PLAYER_NAME] ;)
met ça :
new giveplayerid[MAX_PLAYER_NAME];
-
je fais ça. Et cela ne change pas dans les code erreur
-
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.
-
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
-
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 ).
-
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...
-
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
-
\GM SAMP\FTVRP\pawno\new.pwn(16379) : warning 217: loose indentation
Tu 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 effect
Ce 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 line
Trop de message d'erreur sur une ligne.
-
Cette variable doit être globale, c'est à dire qu'elle doit être dans aucune fonction.
-
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
-
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...
-
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 :
fatal error 100: cannot read from file: "a_mysql"
Alors que le a_mysql.inc, figure dans l'includes en question....
-
Lance bien le pawno.exe du dossier pawno ( et l'include et a mettre dans pawno/includes ).