[Demande d'iade]Au sujet du Redefinition of constant/macro
#1

Bonsoir,

Je me permet de poster une demande d'aide, suite a une difficultй d'une warning qui dйfinit 2 fois le Callback
\pawno\include\streamer.inc(333) : warning 201: redefinition of constant/macro (symbol "OnGameModeInit")
\pawno\include\streamer.inc(352) : warning 201: redefinition of constant/macro (symbol "OnPlayerConnect")
\pawno\include\streamer.inc(371) : warning 201: redefinition of constant/macro (symbol "OnPlayerDisconnect")

Je dйbute le script, j’apprends trиs vite, au fur et a mesure, une chose me fait coincer..., ces 3 warnings
Ces Warning ne montre pas les mappins que j'ajoute sur le GM, j'ai pris le GM de U2C, j'ai enlever SuperStream pour mettre le Stream d'Incognito
J'ai effectuer correctement, SuperStream a йtй enlever, depuis je vois les barriиres, portes, des petits objets... sauf les mappings, comme la prison, l’hфpital etc...
Je suppose donc que ces Warning sont a la base de cette erreur

Dans mon GM, je ne possиde pas 2 fois le GameModeInit, OnPlayerConnect et Disconnect, mais 2 includes "Radar de MrFredo" & Stream d'Incognito possиdent les mкmes callback d'ou les Warnings

Je demande donc d'aide pour que l'un des includes le Radar ou le Streamer ne possиdent pas 2 Callback identique tout en fonctionnant ces deux lа
J'ai suivi le conseil de "Cristalb" au sujet de modifier l'include, en suivant correctement, cela n'a pas fonctionner, ou alors, ce n'йtait pas trиs bien expliquer
Je souhaite une tutoriel (Ou explication) mieux expliquer concernant ces Warning

Pour toutes vos aides d'avance, je vous remercie d'avance de contribuer a corriger mes erreurs

Cordialement.
Lightsky
Reply
#2

Regardons d'un peu plus prиs, la cйlиbre include Gveh par exemple:
PHP Code:
forward Script_OnGameModeInit();
forward Script_OnGameModeExit();
forward Script_OnPlayerPickUpPickup(playeridpickupid);
forward Script_OnPlayerConnect(playerid);
forward Script_OnPlayerDisconnect(playerid);
forward Script_OnVehicleDeath(vehicleid);
forward Script_OnPlayerCommandText(playerid,cmdtext[]);
forward Script_OnPlayerExitVehicle(playerid);
forward Script_OnPlayerKeyStateChange(playeridnewkeys);
forward Script_OnPlayerStateChange(playeridnewstate);
forward Script_OnPlayerText(playeridtext[]);
forward Script_OnPlayerSelectedMenuRow(playeridrow);
forward Script_OnPlayerExitedMenu(playerid);
forward Script_OnVehicleMod(playeridvehicleidcomponentid);
forward Script_OnVehiclePaintjob(playeridvehicleidpaintjobid);
forward Script_OnVehicleRespray(playeridvehicleidcolor1color2); 
On apperзoit que les paramиtre de ces callback basiques sont les mкme mais elles portent seulement un nom diffйrent. Tu pourrais donc ajouter un prйfixe au nom de tes callbacks (celles qui sont en includes) et aprиs appeler ces Callback dans ton GM.
Par exemple pour la callback
PHP Code:
forward Script_OnPlayerPickUpPickup(playeridpickupid); 
Tu n'auras tout simplement qu'а faire ceci dans ton GM
PHP Code:
public OnPlayerPickUpPickup(playeridpickupid)
{
    
Script_OnPlayerPickUpPickup(playeridpickupid); // Tu appelles la callback se trouvant dans l'include
    //le reste de ton code

En espйrant t'avoir aidй
Reply
#3

Salut Lйo, et merci de ton explication trиs bien expliquer =)
Alors, je reзois toujours ces Warning, je me doute que j'ai oublier un truc, mais, зa ne me semble pas, pour expliquer ce que j'ai fait

Le Stream d'Incognito possиde bien les forward, comme vous l'avez expliquer
J'ajoute les forwards qui est dans l'include sur mon GM
forward Streamer_OnGameModeInit();
forward Streamer_OnPlayerConnect();
forward Streamer_OnPlayerDisconnect();

Ensuite, j'ajoute le Streamer_OnGameModeInit(); dans le GameModeInit du GM

"public OnGameModeInit()
{
Streamer_OnGameModeInit();
ConnectNPC("at400_lv","at400_lv");//cette fonction permet de spawn un bot script BOT_2 Pseudo du bot Bruno2
ConnectNPC("Bruno","Bruno");//cette fonction permet de spawn un bot script BOT_1 Pseudo du bot Bruno
AntiDeAMX();
//SendRconCommand("loadfs carownership");
ManualVehicleEngineAndLights();
LoadBadwordsList();
roadblocktimer = 0;
new string[MAX_PLAYER_NAME];
new string1[MAX_PLAYER_NAME];
Ann = 0;
SetTimer("AFKKicker", 60000, 1);
SetTimer("MeteoAleatoire", 60000*TempsChangementMeteo, 1);
SetTimer("EnvoiAnnonce", 300000, 1);
SetTimer("JoueurPasRein", 600, true);
print("Vos Aventures RolePlay");
timer = SetTimer("BOtimer",100,true);"

J'йpargne le reste du code ^^, ensuite j'ajoute le Streamer_OnPlayerConnect(); et je met dans OnPlayerConnect du GM (Mкme chose pour le 3иme Disconnect)

Est-ce correct ce que j'ai fait ?

Merci d'avance =)
Reply
#4

C'est plus ou moins correct sauf que tu as oubliй les paramиtres par exemple

OnPlayerConnecte(playerid)
En gros, tout ce que tu as a faire c'est de rajouter un prйfixe au nom de tes callbacks dans tes include.
Aprиs avoir crйй tes
PHP Code:
forward 
Tu devra renommer tous tes
PHP Code:
public 
Reply
#5

Merci de ta rйponse
J'ai fait ce que vous avez demander, malheureusement, cela ne fonctionne pas
J'ai remplacer "Public OnGameModeInit(); par : Streamer_OnGameModeInit();
Bien sыr, j'ai mis les playerid pour Connect ainsi que playerid, reason pour Disconnect
Tout en gardant les forward sur le GM

Puis-je vous demander si vous pouvez me le rйgler, sous mes propres yeux pour mieux l'apprendre a l'avenir, si vous acceptez bien sыr, cela rйglerai le problиme, assez vite ^^
Merci d'avance
Si vous acceptez, voici mon msn : kratos-pgm@live.fr ou lightsky59 sur Skype =)

Edit : Msn semble buguais, je reзois plus les invitations, tu peux m'envoyer un e-mail si tu ne possиde pas Skype ^^
Cordialement.
Reply
#6

Lйo, check ta boite MP s'il te plait ^^
Reply
#7

J'ai quelques problиmes avec Team Viewer apparement ...
Reply
#8

Tu peux me donner tes identifiants de TeamViewer, j'inverse les rфles, ou il faudrai faire une mise a jour TeamViewer ^^
Reply
#9

J'ai essayй de mettre а jour ou de retйlйcharger Team Viewer mais зa coince
Reply
#10

J'ai une autre idйe Lйo, check tes PM ^^
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)