GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: jeje29140 le 21 Novembre 2011, 00:33:45

Titre: Systeme de péage
Posté par: jeje29140 le 21 Novembre 2011, 00:33:45
Bonjour,


J'ai trouvé un code sur un forum et j'ai essayer de le modifier et compléter avec mes propres informations! Cependant quand je fais à l'endroit ou il devrait être, il ne l'est pas! Mais le /peage lui m'enleve de l'argent!


Voici le code:#include <a_samp>
#include <core>
#include <float>
#include <float>
//#include <SimStream.inc>
forward timer();
new peage;
#define COLOR_YELLOW                                                          0xF2FB25FF
#define CreateStreamObject CreateObject



public OnGameModeInit()


{
peage = CreateObject(968, 52.200000762939, -1527, 5.6999998092651, 1.9881896972656, 90.0000, 261.99621582031);

}

public OnPlayerCommandText(playerid, cmdtext[])
{

if (strcmp(cmdtext, "/peage", true)==0)

{

GivePlayerMoney(playerid, -25);
MoveObject(peage, 52.200000762939, -1522.3000488281, 5.6999998092651, 3.5);//On bouge l'objet

SetTimer("timer", 7000, 0);
}

SendClientMessage(playerid, COLOR_YELLOW,"Fermeture dans 7 secondes");//On averti
}
public timer()

{

     MoveObject (peage, 52.200000762939, -1527, 5.6999998092651, 2.5);//retour
     
     return 1;

}


Si vous trouvez le problème se serait un grand soulagement pour moi :p ;)


Merci :)
Titre: Re : Systeme de péage
Posté par: Xartrick le 21 Novembre 2011, 16:37:27
Pour bien commencer, tu inclut deux fois la librarie float.
Ensuite, la librairie core et float sont déjà inclut dans la librairie a_samp.


#define CreateStreamObject CreateObject
La fonction CreateStreamObject n'existe manifestement pas car tu n'utilise pas de streamer, retire donc cette ligne et le problème de la position de l'objet devrait être réglé !

Pour finir, tu ne fait aucun test de position pour savoir si le joueur est près du péage, il est donc normal qu'il puisse ouvrir le péage de n'importe quelle position.
Titre: Re : Systeme de péage
Posté par: jeje29140 le 21 Novembre 2011, 18:40:54
Oui la position ou le joueur doit etre je les enlever pour me faciliter la tache et essayer de faire sans, je vais la remettre! Merci pour ta réponse je vais tester :p :)


EDIT: maintenant j'ai des erreurs voici mon code: #include <a_samp>
forward timer();
forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
new peage;
#define COLOR_YELLOW                                                          0xF2FB25FF




public OnGameModeInit()


{

peage = CreateObject(968, 52.200000762939, -1527, 5.6999998092651, 1.9881896972656, 90.0000, 261.99621582031);

}

public OnPlayerCommandText(playerid, cmdtext[])
{

if (strcmp(cmdtext, "/peage", true)==0)
}

else if(PlayerToPoint(6, playerID, 55.299999237061, -1532.1999511719, 5.3000001907349))//6 est la taille de la zone

GivePlayerMoney(playerid, -25);
MoveObject(peage, 52.200000762939, -1522.3000488281, 5.6999998092651, 3.5);//On bouge l'objet
SetTimer("timer, 7000, 0);//On active le Timer
}

SendClientMessage(playerid, COLOR_YELLOW,"Fermeture dans 7 secondes");//On averti
}
public timer()

{

     MoveObject (peage, 52.200000762939, -1527, 5.6999998092651, 2.5);//retour
     
     return 1;

}










et voici mes erreurs:


F:\Rockstar Games\Gta San Andreas\filterscripts\CameraFS.pwn(23) : error 029: invalid expression, assumed zero
F:\Rockstar Games\Gta San Andreas\filterscripts\CameraFS.pwn(23 -- 25) : warning 215: expression has no effect
F:\Rockstar Games\Gta San Andreas\filterscripts\CameraFS.pwn(25) : error 001: expected token: ";", but found "else"
F:\Rockstar Games\Gta San Andreas\filterscripts\CameraFS.pwn(25) : error 004: function "PlayerToPoint" is not implemented
F:\Rockstar Games\Gta San Andreas\filterscripts\CameraFS.pwn(25) : 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.






Je c'est je suis un débutant ^^









Titre: Re : Systeme de péage
Posté par: Xartrick le 21 Novembre 2011, 19:22:58
J'ai indenté ton code, à toi de trouver tes erreurs.

#include <a_samp>

#define COLOR_YELLOW 0xF2FB25FF

forward timer();
forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);

new peage;

public OnGameModeInit()
{
peage = CreateObject(968, 52.200000762939, -1527, 5.6999998092651, 1.9881896972656, 90.0000, 261.99621582031);
}

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(cmdtext, "/peage", true) == 0)
} // Erreur
else if(PlayerToPoint(6, playerID, 55.299999237061, -1532.1999511719, 5.3000001907349))
GivePlayerMoney(playerid, -25);

MoveObject(peage, 52.200000762939, -1522.3000488281, 5.6999998092651, 3.5);
SetTimer("timer, 7000, 0);
}

SendClientMessage(playerid, COLOR_YELLOW, "Fermeture dans 7 secondes");
}

public timer()
{
MoveObject (peage, 52.200000762939, -1527, 5.6999998092651, 2.5);

return 1;
}
Titre: Re : Systeme de péage
Posté par: jeje29140 le 21 Novembre 2011, 19:39:39
Je c'est qu'il manque juste qu'un petit symbole ou un petit mot mais je ne le trouve pas ^^
Titre: Re : Systeme de péage
Posté par: Xartrick le 21 Novembre 2011, 20:20:28
#include <a_samp>

#define COLOR_YELLOW 0xF2FB25FF

forward timer();
forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);

new peage;

public OnGameModeInit()
{
peage = CreateObject(968, 52.200000762939, -1527, 5.6999998092651, 1.9881896972656, 90.0000, 261.99621582031);
}

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(cmdtext, "/peage", true) == 0)
{
if(PlayerToPoint(6, playerid, 55.299999237061, -1532.1999511719, 5.3000001907349))
{
GivePlayerMoney(playerid, -25);
MoveObject(peage, 52.200000762939, -1522.3000488281, 5.6999998092651, 3.5);
SetTimer("timer", 7000, 0);
SendClientMessage(playerid, COLOR_YELLOW, "Fermeture dans 7 secondes");
}
}
}

public timer()
{
MoveObject (peage, 52.200000762939, -1527, 5.6999998092651, 2.5);

return 1;
}

Voilà le partiellement code corrigé.

GivePlayerMoney(playerid, -25);
Ceci n'aura pas l'effet que tu attends, regarde le Wiki pour savoir pourquoi !
Titre: Re : Systeme de péage
Posté par: jeje29140 le 21 Novembre 2011, 20:31:17
pk pas l'effet que j'attends sa me retire 25$ c'est ce que je veux non?

sinon le code il y a une erreur: error 004: function "PlayerToPoint" is not implemented


Pourtant il y a le forward!
Titre: Re : Systeme de péage
Posté par: mehdi-jumper le 21 Novembre 2011, 20:35:11
L'erreur est ici: if (strcmp(cmdtext, "/peage", true)==0)
}

else if(PlayerToPoint(6, playerID, 55.299999237061, -1532.1999511719, 5.3000001907349))//6 est la taille de la zone

Utilise IsPlayerInRangeOfPoint c'est mieux je trouve.
Titre: Re : Systeme de péage
Posté par: jeje29140 le 21 Novembre 2011, 21:01:04
La je ne comprends vraiement plus rien ^^
Titre: Re : Systeme de péage
Posté par: Xartrick le 21 Novembre 2011, 21:34:52
C'est que tu ne sais pas programmé, merci de passer à autre chose ou alors, tu apprends, mais tu ne grappille pas des codes.

Bonne soirée.
Titre: Re : Systeme de péage
Posté par: jeje29140 le 21 Novembre 2011, 21:41:43
Mais c'est bon c'est comem ca que l'on découvre et j'ai scripter plein de choses mais celui la m'embete et il n'y à pas de bon tuto!!!!!!
Titre: Re : Systeme de péage
Posté par: mehdi-jumper le 21 Novembre 2011, 22:08:57
Ajoute mon skype, je t'aiderais: james_jeffrey1.

Voici comment cela doit etre:
 if (strcmp(cmdtext, "/peage", true)==0)
{

 if(IsPlayerInRangeOfPoint(6, playerid, 55.299999237061, -1532.1999511719, 5.3000001907349))
{

Double post
Dsl

Dsl comme ceci :
 if(IsPlayerInRangeOfPoint( playerid,6, 55.299999237061, -1532.1999511719, 5.3000001907349))
Titre: Re : Systeme de péage
Posté par: Ssk le 22 Novembre 2011, 08:05:13
Arrêtes les doubles post mehdi!
Titre: Re : Systeme de péage
Posté par: mehdi-jumper le 22 Novembre 2011, 16:40:20
Moi c'est pas mehdi, c'est mehdi-jumper^^
Je vois pas pourquoi tu met un avertissement pour sa vu que le forum fusionne automatiquement ton deuxieme poste avec le premier, alors sa fait comme si ce n'etait plus qu'un.

Dsl du HS


S mp moi si tu veux me dire quelque chose
Titre: Re : Systeme de péage
Posté par: Xartrick le 22 Novembre 2011, 17:23:44
Tu ose dire que tu sais programmé mais tu pousse un cri quand il n'y à pas de tutoriel qui exécute exactement tes envies ?
Pour moi, tu ne sais pas programmer, et si tu continu dans cet esprit, tu ne saura jamais.
Titre: Re : Systeme de péage
Posté par: jeje29140 le 22 Novembre 2011, 17:45:01
Mais je l'avoue je ne sais pas programmé mais grâce a certain comme medhi je vais progresser! Alors que toi tu ne met d'aucune utilité! Dsl mec ! Merci medhi ;)
Titre: Re : Systeme de péage
Posté par: Xartrick le 22 Novembre 2011, 17:54:40
Je te suis d'aucune inutilité ?!

Systeme de péage (http://www.gtaonline.fr/forums/index.php/topic,14731.msg252515.html#msg252515)
Systeme de péage (http://www.gtaonline.fr/forums/index.php/topic,14731.msg252540.html#msg252540)
Systeme de péage (http://www.gtaonline.fr/forums/index.php/topic,14731.msg252552.html#msg252552)

Tu me prend pour un c*n ?
Titre: Re : Systeme de péage
Posté par: jeje29140 le 22 Novembre 2011, 18:07:57
oé ok mais bon après c'est pas la peine de HS je suis nul je suis nul, après tout c'est un forum d'aide! ^^
Titre: Re : Systeme de péage
Posté par: spiirou le 22 Novembre 2011, 18:10:38
Il t'avais donné tous les elements de reponses avec des explications claires !
Comme tu le dis c'est un forum d'aide, donc on doit t'aider et non te servir tes codes sur un plateau..
Titre: Re : Systeme de péage
Posté par: jeje29140 le 22 Novembre 2011, 18:29:58
Mais je sais que l'on va pas me donner les codes et d'ailleurs ca ne m'interresse pas car je veux progresser, c'est juste que j'ai pas compris ce qu'il ma dit ^^
Titre: Re : Systeme de péage
Posté par: Xartrick le 22 Novembre 2011, 18:47:46
Tu sais comment l'on voit que tu ne sais pas programmer ?
Tu n'as aucune notion de structuration de code.
Quand tu ouvre un bloc, tu dois obligatoirement le fermer.
Titre: Re : Systeme de péage
Posté par: jeje29140 le 22 Novembre 2011, 18:57:17
Oui merci je c'est c'est avec les fermetures et ouvertures que j'ai le plus de mal ^^
Titre: Re : Systeme de péage
Posté par: mehdi-jumper le 22 Novembre 2011, 21:48:55
Mehdi-jumper, pas medhi ou juste mehdi, mehdi-jumper en entier plz :)
Titre: Re : Re : Systeme de péage
Posté par: Ssk le 23 Novembre 2011, 18:59:54
Moi c'est pas mehdi, c'est mehdi-jumper^^
Je vois pas pourquoi tu met un avertissement pour sa vu que le forum fusionne automatiquement ton deuxieme poste avec le premier, alors sa fait comme si ce n'etait plus qu'un.

Dsl du HS


S mp moi si tu veux me dire quelque chose

Il le fusionne pour éviter que ça fasse un vrai double post, mais il écris bien que c'est un double post et que je sache sur le forum les doubles post sont interdits!