• 24 Avril 2025, 09:00:48


Auteur Sujet: Problème pickup : error 017: undefined symbol  (Lu 4099 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Ludow12

  • *
  • Nouveau
  • Messages: 11
    • Voir le profil
Problème pickup : error 017: undefined symbol
« le: 28 Novembre 2009, 00:39:47 »
Bonjour !

Donc voilà, je voudrais comprendre, et avoir de l'aide pour mon script ou je suis bloqué, sachant que je débute dans le PAWN.

Je souhaitez créer un pickup, avec sur place une commande pour se heal armor etc... Après de multiples recherches : je suis bloqué !

En faite, malgré la vérification totale de mon script, je tombe toujours sur des erreurs de compilation comme :  error 017: undefined symbol "pickup"

J'ai suivis pourtant à 100% cette aide, que j'ai trouvée que je cite ci dessous. (j'ai bien évidemment modifié les id, là ou il fallais, mais je sais que l'erreur de viens pas de ça mais si j'ai bien compris, PAWNO ne connait pas "pickup")

Pourquoi ai-je un problème de compilation ? Pouvez vous m'aider svp ?

Merci d'avance

Salut,

Tu peut utiliser sa: http://www.gtaonline.fr/forums/index.php/topic,2874.0.html
Cela va te permettre de définir la zone ou la personne peut prendre l'équipement.
Tu peut aussi le définir par: Si le joueur est au coordonné XYZ car sinon il pourra prendre l'équipement n'importe ou.
Je te conseil de le faire via les Coordonner XYZ et d'y ajouter un Pick-up en n'y mettant que c'est seulement ici qu'il peut faire cette commande,
et pourquoi pas ajouter du texte avec les commandes.
Exemple:
/équipement 1 | Prendre la tenue réglementaire ( Police en patrouille )
/équipement 2 | Prendre la tenue d'intervention ( SWAT )
/équipement 3 | Prendre la tenue d'infiltration ( Sniper )

Tout en haut du Script:

new pickup;
Dans:
public OnGameModeInit()Tu définit qu'es que pickup:
pickup = CreatePickup(SkinID, Type, X,Y,Z);
Dans:
public OnPlayerCommandText(playerid, cmdtext[])Tu créer ta/tes commande(s):
if(strcmp(cmd, "/équipement 1", true) == 0)
{
SetPlayerSkin(playerid, SkinID);
GivePlayerWeapon(playerid, ArmeID, Nbr.Balles);
SetPlayerHealth(playerid, 100.0);
SetPlayerArmour(playerid, 100.0);
return 1;
}
PS: Tu peut ajouter plein d'autre fonction comme:
   - Doit être dans une certaine Team pour que la commande fonctionne.

Dans:

public OnPlayerPickUpPickup(playerid, pickupid)Tu met l'action qui va se produire quand on va arriver sur le Pick-up:
if (pickupid == pickup1)
{
SendClientMessage(playerid, 0xFFFF0055, "[?]/equipement 1 | Prendre la tenue réglementaire ( Police en patrouille ).");
SendClientMessage(playerid, 0xFFFF0055, "[?]/equipement 2 | Prendre la tenue d'intervention ( SWAT ).");
SendClientMessage(playerid, 0xFFFF0055, "[?]/equipement 3 | Prendre la tenue d'infiltration ( Sniper ).");
}
Je n'est pas mis la fonction: Doit être sur le pick-up pour que sa fonctionne car tu doit aussi réfléchir ;)
PS: La aussi tu peut ajouter d'autres fonction.
PS2: Tout les code que j'ai mit sont peut être faux :-\, je ne les est pas test mais c'est la base

En espèrent t'avoir aider.

A+ Stylis13 :-*

« Modifié: 28 Novembre 2009, 00:41:20 par Ludow12 »

Hors ligne Zordiache

  • *
  • Mafioso
  • Messages: 2219
    • Voir le profil
Re : Problème pickup : error 017: undefined symbol
« Réponse #1 le: 28 Novembre 2009, 03:23:54 »
Salut, est-tu bien sur d'avoir ecrie 'pickup' comme il faut ? Sinon fait nous voir tes code consairnants le pick up.

Hors ligne Ludow12

  • *
  • Nouveau
  • Messages: 11
    • Voir le profil
Re : Problème pickup : error 017: undefined symbol
« Réponse #2 le: 28 Novembre 2009, 10:34:22 »
Oui, je viens même de vérifier

J'ai recopié comme sur ma citation que j'ai trouvée de la part de Stylis..

new pickupDans public OnGameModeInit() :
pickup = CreatePickup(1239, 2, 185.74, -2191.87, 7.59);
Dans public OnPlayerCommandText(playerid, cmdtext[]) :
{
if (strcmp("/kill", cmdtext, true, 10) == 0)
{
SetPlayerHealth(playerid,0);
return 1;
    }
    if(strcmp(cmd, "/equip", true) == 0)
{
GivePlayerWeapon(playerid, 24, 500);
SetPlayerHealth(playerid, 100.0);
SetPlayerArmour(playerid, 100.0);
return 1;
}
return 0;
}

Dans public OnPlayerPickUpPickup(playerid, pickupid) :
if (pickupid == pickup1)
{
SendClientMessage(playerid, 0xFFFF0055, "TEXTE 1");
SendClientMessage(playerid, 0xFFFF0055, "TEXTE 2");
SendClientMessage(playerid, 0xFFFF0055, "TEXTE 3");
}

Au final, 3 erreurs de compilation :

Citation de: Pawn Compiler
S:\GTA San Andreas\samp03asvr_R3_win32\gamemodes\DM-SERVEUR.pwn(79) : error 017: undefined symbol "pickup"
S:\GTA San Andreas\samp03asvr_R3_win32\gamemodes\DM-SERVEUR.pwn(220) : error 017: undefined symbol "cmd"
S:\GTA San Andreas\samp03asvr_R3_win32\gamemodes\DM-SERVEUR.pwn(282) : error 017: undefined symbol "pickup1"
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase


3 Errors.

Hors ligne Zordiache

  • *
  • Mafioso
  • Messages: 2219
    • Voir le profil
Re : Problème pickup : error 017: undefined symbol
« Réponse #3 le: 28 Novembre 2009, 11:25:09 »
Remplace ton new, ton CreatePickup et le code qui se trouve dans OnPlayerPickUpPickUp par ça et dit moi si c'est bon ou pas.


new p1;

p1 = CreatePickup(1239, 2, 185.74, -2191.87, 7.59);

if (pickupid == p1)
{
SendClientMessage(playerid, 0xFFFF0055, "TEXTE 1");
SendClientMessage(playerid, 0xFFFF0055, "TEXTE 2");
SendClientMessage(playerid, 0xFFFF0055, "TEXTE 3");
}

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Problème pickup : error 017: undefined symbol
« Réponse #4 le: 28 Novembre 2009, 12:09:46 »
a la place de cmd met cmdtext dans ton strcmp()



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Ludow12

  • *
  • Nouveau
  • Messages: 11
    • Voir le profil
Re : Problème pickup : error 017: undefined symbol
« Réponse #5 le: 28 Novembre 2009, 14:39:26 »
Plus que 2 erreurs : cmdtext corrigé.
Mais je ne vois toujours pas comment faire pour les autres :S

Hors ligne The Bird

  • *
  • Tueur en série
  • Messages: 110
    • Voir le profil
Re : Problème pickup : error 017: undefined symbol
« Réponse #6 le: 28 Novembre 2009, 22:50:16 »
Peut être

new pickup;


Hors ligne Diablo62

  • *
  • Bandit
  • Script seulement pour m'amuser :)
  • Messages: 305
    • Voir le profil
Re : Problème pickup : error 017: undefined symbol
« Réponse #7 le: 28 Novembre 2009, 23:18:22 »
Salut.

Comme le dit The Bird, tu as écrit New pickup sans le ; Essaye déjà d'ajouter ça pour régler encore une erreur.

Pour la dernière erreur, c'est tout à fait normal. Si tu regardes bien ton bout de script, tu définit comme CreatePickup le mot pickup mais ensuite tu dit que si pickupid = pickup1 (qui n'a pas été définit avant). Remplace donc ton pickup1 par pickup.

Enfin, vu ce que tu as mis dans OnPlayerCommandText, tes commandes fonctionneront que tu soit sur le Pickup ou non. Il faut que tu ajoutes un if(PlayerToPoint... si tu veux que ça fonctionne uniquement sur le Pickup ;)
Merci à Colonel Marco pour la Signature

Hors ligne Ludow12

  • *
  • Nouveau
  • Messages: 11
    • Voir le profil
Re : Problème pickup : error 017: undefined symbol
« Réponse #8 le: 29 Novembre 2009, 02:24:05 »
Oui Merci mais j'avais déja tout testé a mettre le ";", ou enlever le "1" de pickup mais sans succès...

Je comprend rien de rien, toujours les mêmes erreurs. Pour la commande et le PlayertoPoint, je vais m'occuper de ça après le problème réglé, car la je comprend pas..
Je débute dans le script, et la ça me freine, je peux pas faire évoluer mon gamemode comme je veux...

Mais merci de votre aide, je vais essayer de chercher, je peux s'il faut vous montrer tout mon script ?

Edit : j'ai pensé, ça ne viendrai pas de mon pawno ou une include manquante ? Si oui, ce serait laquelle ?

Double post
Après avoir recommencé mon petit gamemode de A à Z, PAWNO ne détecte plus les erreur, et ça compile et fonctionne parfaitement.

Merci

« Modifié: 29 Novembre 2009, 04:59:40 par Ludow12 »