GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Sartoflo le 03 Mai 2009, 14:55:46

Titre: [Resolu]FS qui bug. undefined symbol/[Resolu]Gm qui bug undefined symbole
Posté par: Sartoflo le 03 Mai 2009, 14:55:46
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 (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)
Titre: Re : FS qui bug. undefined symbol "vehicleid"/expected token: "*then", but found "-id
Posté par: » Lukubi™ le 03 Mai 2009, 15:00:00
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®
Titre: Re : FS qui bug. undefined symbol "vehicleid"/expected token: "*then", but found "-id
Posté par: Sartoflo le 03 Mai 2009, 15:03:42
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;
}
Titre: Re : FS qui bug. undefined symbol "vehicleid"/expected token: "*then", but found "-id
Posté par: Nikko™ le 03 Mai 2009, 15:57:06
Erreur spotted:

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

++
nikko
Titre: Re : FS qui bug. undefined symbol "vehicleid"/expected token: "*then", but found "-id
Posté par: Ssk le 03 Mai 2009, 17:54:12
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 '-_-
Titre: Re : FS qui bug. undefined symbol "vehicleid"/expected token: "*then", but found "-id
Posté par: Nikko™ le 03 Mai 2009, 18:44:17
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
Titre: Re : FS qui bug. undefined symbol "vehicleid"/expected token: "*then", but found "-id
Posté par: S!m le 03 Mai 2009, 19:20:26
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++
Titre: Re : FS qui bug. undefined symbol "vehicleid"/expected token: "*then", but found "-id
Posté par: Sartoflo le 03 Mai 2009, 20:08:43
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 :)
Titre: Re : FS qui bug. undefined symbol "vehicleid"/expected token: "*then", but found "-id
Posté par: R@f le 03 Mai 2009, 20:11:17
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
Titre: Re : FS qui bug. undefined symbol "vehicleid"/expected token: "*then", but found "-id
Posté par: Nikko™ le 03 Mai 2009, 20:11:28
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;

}
Titre: Re : FS qui bug. undefined symbol "vehicleid"/expected token: "*then", but found "-id
Posté par: Sartoflo le 03 Mai 2009, 20:21:18
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;

}
Titre: Re : FS qui bug. undefined symbol "vehicleid"/expected token: "*then", but found "-id
Posté par: Nikko™ le 03 Mai 2009, 20:35:48
Oui désolé lol

++
nikko
Titre: Re : [Resolu]FS qui bug. undefined symbol
Posté par: Sartoflo 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
Titre: Re : [Resolu]FS qui bug. undefined symbol/[Non resolu]Gm qui bug undefined symbole
Posté par: Syg le 05 Mai 2009, 11:19:13
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
Titre: Re : [Resolu]FS qui bug. undefined symbol/[Non resolu]Gm qui bug undefined symbole
Posté par: Sartoflo le 05 Mai 2009, 11:44:22
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 :)