• 24 Avril 2025, 01:15:57


Auteur Sujet: [Resolu]FS qui bug. undefined symbol/[Resolu]Gm qui bug undefined symbole  (Lu 2020 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Sartoflo

  • Revenant
  • *
  • Tueur en série
  • -_-_-_-_-_-_-_-_-_-
  • Messages: 119
    • Voir le profil
Voila jai voulu créer un petit FS pour un serveur de team mais lorsque je met une commande /rep réservé aux admins, jai ce probleme:

#
 // /rep
#
 if(strcmp(cmd, "/rep", true) == 0) {
#
 if IsPlayerAdmin(playerid)
#
 SendClientMessage(playerid,COLOR_PINK,"Bon jvous répare votre caisse mais c'est pas pour autant que vous devez m'appeler toutes les 2 minutes!");
#
 SetVehicleHealth(vehicleid,1000.1000);
#
 
#
 
#
 return 1;
#
 
#
 }

erreures: F:\cmdsfssarto.pwn(102) : warning 217: loose indentation
F:\cmdsfssarto.pwn(109) : error 001: expected token: "*then", but found "-identifier-"
F:\cmdsfssarto.pwn(110) : warning 217: loose indentation
F:\cmdsfssarto.pwn(110) : error 017: undefined symbol "vehicleid"
F:\cmdsfssarto.pwn(113) : warning 217: loose indentation
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


2 Errors.

Pouvez vous me dire ce qui ne marche pas?
==> pastebin: http://pastebin.gtaonline.fr/pastebin.php?show=588 (certaines fonctions ne sont pas finies mais je les ferait.) voila merci d'avance :)

(par contre ça ne fait pas longtemps que j'ai commencé le pawn)
« Modifié: 05 Mai 2009, 11:51:16 par Sartoflo »


Hors ligne » Lukubi™

  • *
  • Soy el bico loco
  • Messages: 3282
    • Voir le profil
Essaye sa :

if(strcmp(cmd, "/rep", true) == 0)
{
      new vehiculeid;
      vehiculeid = GetPlayerVehicleID(playerid);
      if IsPlayerAdmin(playerid)
      {
SendClientMessage(playerid,COLOR_PINK,"Bon jvous répare votre caisse mais c'est pas pour autant que vous devez m'appeler toutes les 2 minutes!");
SetVehicleHealth(vehicleid,1000.1000);
       
      }
      return 1;
}

++
MrT®

“Si la Terre est un endroit dangereux ce n’est pas à cause des hommes mauvais mais à cause des hommes bons qui ne font rien pour les empêcher.” (Albert Einstein).

Hors ligne Sartoflo

  • Revenant
  • *
  • Tueur en série
  • -_-_-_-_-_-_-_-_-_-
  • Messages: 119
    • Voir le profil
J'ai essayé et ça me donne ça:
H:\cmdsfssarto.pwn(110) : error 017: undefined symbol "vehiculeid"
H:\cmdsfssarto.pwn(112) : error 001: expected token: "*then", but found "{"
H:\cmdsfssarto.pwn(60) : warning 203: symbol is never used: "dancestyle"
H:\cmdsfssarto.pwn(60 -- 126) : error 010: invalid function or declaration
H:\cmdsfssarto.pwn(60 -- 127) : error 010: invalid function or declaration
H:\cmdsfssarto.pwn(60 -- 127) : fatal error 107: too many error messages on one line

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


5 Errors.

edit petite erreur:c'est vehicleid non vehiculeid  H:\cmdsfssarto.pwn(112) : error 001: expected token: "*then", but found "{"
H:\cmdsfssarto.pwn(60) : warning 203: symbol is never used: "dancestyle"
H:\cmdsfssarto.pwn(60 -- 126) : error 010: invalid function or declaration
H:\cmdsfssarto.pwn(60 -- 127) : error 010: invalid function or declaration
H:\cmdsfssarto.pwn(60 -- 127) : fatal error 107: too many error messages on one line

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


4 Errors.

au cas ou le code pawn avec vehicleid: // /rep
if(strcmp(cmd, "/rep", true) == 0)
{
      new vehicleid;
      vehicleid = GetPlayerVehicleID(playerid);
      if IsPlayerAdmin(playerid)
      {
SendClientMessage(playerid,COLOR_PINK,"Bon jvous répare votre caisse mais c'est pas pour autant que vous devez m'appeler toutes les 2 minutes!");
SetVehicleHealth(vehicleid,1000.1000);

      }
      return 1;
}
« Modifié: 03 Mai 2009, 15:15:45 par Sartoflo »


Hors ligne Nikko™

  • *
  • Mafioso
  • Messages: 2393
    • Voir le profil
Erreur spotted:

Regarde ta fonction IsPlayerAdmin et Met if(IsPlayerAdmin(playerid))
;)

++
nikko

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
if(strcmp(cmdtext, "/rep", true) == 0)
{
      new vehicleid;
      vehicleid = GetPlayerVehicleID(playerid);
      if (IsPlayerAdmin(playerid)
      {
SendClientMessage(playerid,COLOR_PINK,"Bon jvous répare votre caisse mais c'est pas pour autant que vous devez m'appeler toutes les 2 minutes!");
SetVehicleHealth(vehiculeid,1000.1000);

      }
      return 1;
}

Si ca fonctionne pas '-_-



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

Hors ligne Nikko™

  • *
  • Mafioso
  • Messages: 2393
    • Voir le profil
Ah effectivement, je l'avais juste "enlevé" (mit avec //)
Att j'esseye de trouver le pb...

EDIT:

Esseye ca  ;) ;) :
if(strcmp(cmd, "/rep", true) == 0)
{
  if(IsPlayerAdmin(playerid))
SendClientMessage(playerid,COLOR_PINK,"Bon jvous répare votre caisse mais c'est pas pour autant que vous devez m'appeler toutes les 2 minutes!");
SetVehicleHealth(GetPlayerVehicleID(playerid), 1000.0);
return 1;

}

++
nikko
« Modifié: 03 Mai 2009, 18:48:22 par Nikko™ »

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Salut,

tu devrais mettre tes accolade car présentement, ton code envoie le SendClientMessage aux admins et répare le véhicule dans tous les cas

++Sim++





Hors ligne Sartoflo

  • Revenant
  • *
  • Tueur en série
  • -_-_-_-_-_-_-_-_-_-
  • Messages: 119
    • Voir le profil
voila ça marche :) jai testé et pour le probleme du /rep qui répare les véhicules de tous, j'ai remis un autre if(IsPlayerAdmin(playerid))

Code final:
    // /rep
if(strcmp(cmd, "/rep", true) == 0)
{
  if(IsPlayerAdmin(playerid))
SendClientMessage(playerid,COLOR_PINK,"Bon jvous répare votre caisse mais c'est pas pour autant que vous devez m'appeler toutes les 2 minutes!");
if(IsPlayerAdmin(playerid))
SetVehicleHealth(GetPlayerVehicleID(playerid), 1000.0);
return 1;

}
et par
Citer
tu devrais mettre tes accolade
qu'entend-tu? (je suis désolé le plus gros du pawn que je connait je l'ai appris aujourd'hui même.) sinon merci a tous :) c'est tres sympa de votre part :) allez encore merci ça m'aide beaucoup :)


Hors ligne R@f

  • *
  • GTAOnline Addict
  • Messages: 4655
    • Voir le profil
Plus propre comme ça
Code: (pawn) [Sélectionner]
if(strcmp(cmd, "/rep", true) == 0)
{
  if(IsPlayerAdmin(playerid) && IsPlayerInAnyVehicle(playerid))
        {
SendClientMessage(playerid,COLOR_PINK,"Bon jvous répare votre caisse mais c'est pas pour autant que vous devez m'appeler toutes les 2 minutes!");
SetVehicleHealth(GetPlayerVehicleID(playerid), 1000.0);
        }
return 1;
}

++
R@f
« Modifié: 03 Mai 2009, 21:21:50 par R@f »

Hors ligne Nikko™

  • *
  • Mafioso
  • Messages: 2393
    • Voir le profil
Il dit de faire ca:

if(strcmp(cmd, "/rep", true) == 0)
{
if(IsPlayerAdmin(playerid))
{
if(IsInAnyVehicle(playerid)
{
SendClientMessage(playerid,COLOR_PINK,"Bon jvous répare votre caisse mais c'est pas pour autant que vous devez m'appeler toutes les 2 minutes!");
SetVehicleHealth(GetPlayerVehicleID(playerid), 1000.0);
}
else
{
SendClientMessage(playerid,COLOR_PINK,"Vous n'etes pas dans un vehicule");
}
}
return 1;

}

Hors ligne Sartoflo

  • Revenant
  • *
  • Tueur en série
  • -_-_-_-_-_-_-_-_-_-
  • Messages: 119
    • Voir le profil
hum ok je comprend mieux merci une 3eme fois a vous tous

par contre Nikko tu as fait une erreur:
if(strcmp(cmd, "/rep", true) == 0)
{
if(IsPlayerAdmin(playerid))
{
if(IsInAnyVehicle(playerid)) // au lieu de: if(IsPlayerInAnyVehicle(playerid))
{
SendClientMessage(playerid,COLOR_PINK,"Bon jvous répare votre caisse mais c'est pas pour autant que vous devez m'appeler toutes les 2 minutes!");
SetVehicleHealth(GetPlayerVehicleID(playerid), 1000.0);
}
else
{
SendClientMessage(playerid,COLOR_PINK,"Vous n'etes pas dans un vehicule");
}
}
return 1;

}


Hors ligne Nikko™

  • *
  • Mafioso
  • Messages: 2393
    • Voir le profil
Oui désolé lol

++
nikko

Hors ligne Sartoflo

  • Revenant
  • *
  • Tueur en série
  • -_-_-_-_-_-_-_-_-_-
  • Messages: 119
    • Voir le profil
Re : [Resolu]FS qui bug. undefined symbol
« Réponse #12 le: 05 Mai 2009, 11:08:26 »
Alors voila, j'ai encore un probleme d'undefined symbole, lorsque je modifie le spawn code de ls-parachute, j'ai quelques erreures.


Code:
public OnPlayerRequestClass(playerid, classid)
{
// 60 SetupPlayerForClassSelection(playerid);
        printf("Classid: %d", classid);
        switch (classid) {
       case 0:
        {
// 65                         SetPlayerPos(playerid,1128.9185,-1490.0765,22.7690,358.3558);
// 66 SetPlayerCameraPos(playerid,1129.0316,-1494.8345,22.7690,359.3307);
// 67 SetPlayerCameraLookAt(playerid,1128.9185,-1490.0765,22.7690,358.3558);
GameTextForPlayer(playerid, "Meufs", 1000, 3);
}
case 1:
    {
// 72 SetPlayerPos(playerid,78,958.7613,-1361.6930,13.6563,177.4526);
// 73               SetPlayerCameraPos(playerid,78,958.7613,-1361.6930,13.6563,177.4526);
// 74 SetPlayerCameraLookAt(playerid,78,958.7613,-1361.6930,13.6563,177.4526);
GameTextForPlayer(playerid, "Chicken", 1000, 3);
}
}
return 1;
}

Erreures: C:\Users\Ana\Documents\pawno\gamemodes\spawncodetest1.pwn(60) : error 017: undefined symbol "SetupPlayerForClassSelection"
C:\Users\Documents\pawno\gamemodes\spawncodetest1.pwn(65) : warning 202: number of arguments does not match definition
C:\Users\Documents\pawno\gamemodes\spawncodetest1.pwn(66) : warning 202: number of arguments does not match definition
C:\Users\Documents\pawno\gamemodes\spawncodetest1.pwn(67) : warning 202: number of arguments does not match definition
C:\Users\Documents\pawno\gamemodes\spawncodetest1.pwn(72) : warning 202: number of arguments does not match definition
C:\Users\Documents\pawno\gamemodes\spawncodetest1.pwn(72) : warning 202: number of arguments does not match definition
C:\Users\Documents\pawno\gamemodes\spawncodetest1.pwn(73) : warning 202: number of arguments does not match definition
C:\Users\Documents\pawno\gamemodes\spawncodetest1.pwn(73) : warning 202: number of arguments does not match definition
C:\Users\Documents\pawno\gamemodes\spawncodetest1.pwn(74) : warning 202: number of arguments does not match definition
C:\Users\Documents\pawno\gamemodes\spawncodetest1.pwn(74) : warning 202: number of arguments does not match definition

1 Error.

code original: SetupPlayerForClassSelection(playerid)
{
SetPlayerPos(playerid,1545.5275,-1370.0961,329.4535);
SetPlayerCameraPos(playerid,1545.5275,-1365.0961,329.4535);
SetPlayerCameraLookAt(playerid,1545.5275,-1370.0961,329.4535);
}

//---------------------------------------------------------

public OnPlayerRequestClass(playerid, classid)
{
SetupPlayerForClassSelection(playerid);
printf("Classid: %d", classid);
switch (classid) {
    case 0..14:
        {
GameTextForPlayer(playerid, "Building", 1000, 3);
}
case 15:
    {
GameTextForPlayer(playerid, "Pond", 1000, 3);
}
}
return 1;
}

Vous remarquerez que cela impose une seule caméra pour tous les spawns :s ce qui est tres dérangeant :s

Pouvez vous m'aider? j'ai cherché une solution pendant cette nuit sans résultat(entre 2 et 4 heures de recherches...). Merci d'avance
« Modifié: 05 Mai 2009, 11:18:04 par Sartoflo »


Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Premièrement, tu n'a plus besoin d'appeler la fonction SetupPlayerForClassSelection.

Ensuite, tu utilises mal la fonction SetPlayerPos, cette fonction ne prend que 4 paramètres, pas 5 ou 6 :
SetPlayerPos (playerid, X, Y, Z);

Voici ton bout de code corrigé :
public OnPlayerRequestClass(playerid, classid)
{
printf("Classid: %d", classid);
switch (classid) {
    case 0:
        {
                        SetPlayerPos(playerid,1128.9185, -1490.0765, 22.7690);
SetPlayerCameraPos(playerid,1129.0316,-1494.8345,22.7690);
SetPlayerCameraLookAt(playerid,1128.9185,-1490.0765,22.7690);
GameTextForPlayer(playerid, "Meufs", 1000, 3);
}
case 1:
    {
  SetPlayerPos(playerid,958.7613,-1361.6930,13.6563);
SetPlayerCameraPos(playerid,958.7613,-1361.6930,13.6563);
SetPlayerCameraLookAt(playerid,958.7613,-1361.6930,13.6563);
GameTextForPlayer(playerid, "Chicken", 1000, 3);
}
}
return 1;
}

++
Syg
Courtesy of GtaManiac

Hors ligne Sartoflo

  • Revenant
  • *
  • Tueur en série
  • -_-_-_-_-_-_-_-_-_-
  • Messages: 119
    • Voir le profil
merci beaucoup Syg ça marche niquel pour le spawn meuf me reste a configurer celui des chickens :) encore merci.

Voila j'ai modifié ça pour la caméra Chicken.
public OnPlayerRequestClass(playerid, classid)
{
printf("Classid: %d", classid);
switch (classid) {
    case 0:
        {
          SetPlayerPos(playerid,1128.9185, -1490.0765, 22.7690);
SetPlayerCameraPos(playerid,1129.0316,-1494.8345,22.7690);
SetPlayerCameraLookAt(playerid,1128.9185,-1490.0765,22.7690);
GameTextForPlayer(playerid, "Meufs", 1000, 3);
}
case 1:
    {
  SetPlayerPos(playerid,958.7613,-1361.6930,13.6563);
SetPlayerCameraPos(playerid,958.1971,-1358.1554,13.3502);
SetPlayerCameraLookAt(playerid,958.7613,-1361.6930,13.6563);
GameTextForPlayer(playerid, "Chicken", 1000, 3);
}
}
return 1;
}

Voila merci pour tout :)
« Modifié: 05 Mai 2009, 11:50:53 par Sartoflo »