GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Rickersx le 09 Janvier 2009, 16:48:31

Titre: De l'aide s'il vous plait
Posté par: Rickersx le 09 Janvier 2009, 16:48:31
Bonjours a vous.
[/size]

Alors voilà ! J'ai crée mon server. Mais le problème est que je n'y comprend strictement rien ! J'ai bien lut des centaines de tuto ... Même dl des script mais le problème c'est qu'ont me donne des code et je ne sais pas ou les inséré dans le script ...
Si on peut m'aidai a comprendre sa ! se serais super !  Je voudrais juste savoir en gros comment ajouté des commandes du types des téléportations ...

Merci a vous.

Je suis noob désolé de vous dérangé
Titre: Re : De l'aide s'il vous plait
Posté par: Azz45 le 09 Janvier 2009, 17:10:07
Bon je t'explique pour apprendre un scripter ,

on prend d'abord un Cops And Robbers , Ensuite un Stunt Ensuite un Deathmatch

et ensuite un mode RP !

Donc pour scripter ouvre Pawno Ensuite Good Luck.
Titre: Re : Re : De l'aide s'il vous plait
Posté par: NatiVe™ le 09 Janvier 2009, 17:34:59
Donc pour scripter ouvre Pawno Ensuite Good Luck.

Ca va beaucoup l'aider :boulz

- -

Pour les tutos, tu en a içi:

http://www.gtaonline.fr/forums/index.php/board,75.0.html (http://www.gtaonline.fr/forums/index.php/board,75.0.html)

NV. 8)

Titre: Re : De l'aide s'il vous plait
Posté par: JuLi3n67 le 09 Janvier 2009, 18:37:00
Salut,

Va ici => http://www.gtaonline.fr/forums/index.php/topic,6229.0.html (http://www.gtaonline.fr/forums/index.php/topic,6229.0.html)

Sa te servira beaucoup !

et encore merci coco  ::)

++
Titre: Re : De l'aide s'il vous plait
Posté par: Rickersx le 09 Janvier 2009, 19:02:58
Merci beaucoup ! Je vais allé me jetais dans les tutoriels.  :lmfao

Et encore merci !  :-[

Edit:

J'ai compris comment insséré des code dans les script !  :D

Mais j'ai trouvé ceci : http://forum.sa-mp.com/index.php?PHPSESSID=334006b67d55c0abba26ad643e6a6e4e&topic=83695.0 (http://forum.sa-mp.com/index.php?PHPSESSID=334006b67d55c0abba26ad643e6a6e4e&topic=83695.0)

comment je peut changé les commandes ? et le mettre exemple /lv1 /lv2 ect ... et que sa me téléporte a Las venturas Nord & Sud !

Merci, & encore désolé pour le dérangement
Titre: Re : De l'aide s'il vous plait
Posté par: Azz45 le 10 Janvier 2009, 12:36:34
Oui , ta juste a changer les coordonnées , mais a mon avis il manque des trucs ;)

la il a mit que le bout de la commande /tp
Titre: Re : De l'aide s'il vous plait
Posté par: inbox le 10 Janvier 2009, 13:01:28
Bonjour,

La commande suivante te permet de te téléporter seulement toi
si tu veux téléporter une voiture avec faut ajouter d'autres commandes

if(!strcmp("/tp", cmdtext, true))
{
SetPlayerPos(playerid, x, y, z); // Téléportation du joueur
        SetVehiclePos(abccar, x, y, z); // Téléportation de la voiture
SetPlayerFacingAngle(playerid, a);
return 1;
}

pour avoir ta position fait un /save quant tu es sur ton serveur
et la position sera dans le dossier de GTA le fichier se nomme savedpositions

Bon courage
Cordialement,
Titre: Re : De l'aide s'il vous plait
Posté par: Rickersx le 10 Janvier 2009, 16:14:36
Pas grave que sa téléporte que moi même sans voiture ! Pour un début se seras déjà très bien !

Merci inbox pour le code  ;)
Titre: Re : Re : De l'aide s'il vous plait
Posté par: Rickersx le 10 Janvier 2009, 17:22:27
Pas grave que sa téléporte que moi même sans voiture ! Pour un début se seras déjà très bien !

Merci inbox pour le code  ;)

Edit: Lol

Jai fait des "save" mais sa me mais sa :

AddPlayerClass(293,2044.7190,1612.6431,10.6719,276.2330,0,0,0,0,0,0); //

je fait quoi avec sa ? Jdemande a des gens il me disent il faut des programmes et tout  :(

Sorry  ;D
Titre: Re : De l'aide s'il vous plait
Posté par: cristab le 10 Janvier 2009, 17:32:36
AddPlayerClass(293,2044.7190,1612.6431,10.6719,276.2330,0,0,0,0,0,0); //
Prend ceux en gras ;)
Titre: Re : De l'aide s'il vous plait
Posté par: Rickersx le 10 Janvier 2009, 17:38:10
Ok ! Désolé pour le double poste ! Je n'ais pas fait éxpres ! Merci ! Maintenant je croie tout savoir sur se que j'avais besoin.

Je test ! et merci a vous  :cheers

Edit :

Sa marche nikel ! Sauf que sa me téléporte au milieux de l'océan peut-être un mauvais chiffre  :lmao

En tout cas merci pour vos réponse rapide & précis
Titre: Re : De l'aide s'il vous plait
Posté par: Nikko™ le 10 Janvier 2009, 17:49:28
Oui tu a surment du te planter dans les chiffre ... reverifie

++
nikko
Titre: Re : De l'aide s'il vous plait
Posté par: Azz45 le 10 Janvier 2009, 18:01:35
Au milieu de l'océan ?

As tu ajouté un objets au milieu de l'océan ceux qui est fort probable ?


ou soit comme as dit Nikko
Titre: Re : De l'aide s'il vous plait
Posté par: Eloctro le 10 Janvier 2009, 18:07:06
Je enfaite a chaque ligen comme ça :

AddPlayerClass(293,2044.7190,1612.6431,10.6719,276.2330,0,0,0,0,0,0); //

Le premier nombre que sa soit un Véhicule Ojbet ou autre quand on fait /save c'est l'id donc tu retire :

AddPlayerClass(293,2044.7190,1612.6431,10.6719,276.2330,0,0,0,0,0,0); //

Enssuitte tu te repaire par rapport au virgule on adire que sa c'est un nombre(décimale) 2044.7190 donc on prend les 3 premiers nombres  :


AddPlayerClass(293,2044.7190,1612.6431,10.6719,276.2330,0,0,0,0,0,0); //

Attention ne jamasi prend la virgule devant ou a la fin il doit commencer par un chiffre et finir par un chiffre :

2044.7190,1612.6431,10.6719

Pas :

,2044.7190,1612.6431,10.6719,

Voila enssuite cette position peut servire pour des PlayerToPoints mais je te connsseille de commencer par faire des téléportations ou checkpoint avec le tuto d'Urban ect.........
Titre: Re : De l'aide s'il vous plait
Posté par: Rickersx le 10 Janvier 2009, 18:10:05
Alors j'ai ressayé plusieur save ! Mais sa me teleport autre part ! 2x dans l'eau et une autre dans un batiment !

Le code que j'utilise :

if (! strcmp (cmdtext, "/bmx", true))
    {
SetPlayerPos (playerid, -1916.6097, 1407.7554, 13.5703);
SendClientMessage (playerid, 0xFF3399AA, "Vous avez été téléporté à /bmx-");
return 1;
}

   ???

Ps: j'ai aussi essayé en enlevant le "-" devant les chiffres ... et il es bien placé dans mon pawno puisqu'il me sort pas d'erreur.

Edit :

Non rien  ;) sa fonctionne juste une embrouille avec le "-" ^^

Merci pour votre aide

 :lock
Titre: Re : De l'aide s'il vous plait
Posté par: Azz45 le 10 Janvier 2009, 18:37:31
Salut ne pas enlever les ' - ' devant les nombres sinon la coordonées est morte


à /bmx-");
Le - après ta commande /bmx il sert a quoi ?

Essaye de l'enlever  :-[


Ou sinon voila une commande


if(strcmp(cmd, "/bmx", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
if(PlayerInfo[playerid][plocal] >= 1)
{
if (GetPlayerState(playerid) == 2)
{
new tmpcar = GetPlayerVehicleID(playerid);
SetVehiclePos(tmpcar, Lacoordonnées ...);
TelePos[playerid][0] = 0.0;TelePos[playerid][1] = 0.0;
}
else
{
SetPlayerPos(playerid, coordonnées..);
}
SendClientMessage(playerid, COLOR_GRAD1, "   Te voila maintenant a : tonnomdeteleportation");
SetPlayerInterior(playerid,0);
PlayerInfo[playerid][pInt] = 0;
}
else
{
SendClientMessageToAll(playerid, COLOR_GRAD1, " Une personne s'est teleporté a :  ");
}
}
return 1;
}
Titre: Re : De l'aide s'il vous plait
Posté par: S!m le 10 Janvier 2009, 21:29:58
Salut,

je tien à spécifier que le IsPlayerConnected de cette commande est absolument inutile pour 2 raisons:

- Si un joueur tape une commande,c 'est qu'il est connecté (et je doute qu'il ai le temps de se déconnecté avant que le code soit exécuté)

- La plupart des fonctions de sa-mp contiennent un test IsPlayerConnected intégré

Ce qui donnerais (après correction des autres erreurs, désolé mais SendClientMessageToAll ne prend pas de playerid...)

if(strcmp(cmd, "/bmx", true) == 0)
{
if (GetPlayerState(playerid) == 2)
{
new tmpcar = GetPlayerVehicleID(playerid);
SetVehiclePos(tmpcar, Lacoordonnées ...);
}
else
{
SetPlayerPos(playerid, coordonnées..);
}
SendClientMessage(playerid, COLOR_GRAD1, "   Te voila maintenant a : tonnomdeteleportation");
SetPlayerInterior(playerid,0);
PlayerInfo[playerid][pInt] = 0;
return 1;
}

j'avoue ne pas comprend pourquoi envoyer un message à tous les joueurs dans le cas où il n'y a pas de téléportation

sinon, très belle indentation My-Ea

++Sim++
Titre: Re : De l'aide s'il vous plait
Posté par: Azz45 le 10 Janvier 2009, 22:14:43
Ba Généralement dans les serveur stunt ,

Je voit : Un joueur est partie la bas : ....

Donc je me suis dit j'ajoute sa ..

Après a lui de voir.
Titre: Re : De l'aide s'il vous plait
Posté par: S!m le 13 Janvier 2009, 00:37:13
Salut,

ouais, c'est répandu je l'ai sur le mien d'ailleurs  ;)
L'idée était irréprochable mais tu l'avais mit de tel façon que si le joueur n'est pas téléporté le message est lancé.... alors là  ;D

++Sim++
Titre: Re : De l'aide s'il vous plait
Posté par: Azz45 le 13 Janvier 2009, 12:26:19
a ué mince , j'ai pas fait gaffe xD
Titre: Re : De l'aide s'il vous plait
Posté par: S!m le 13 Janvier 2009, 15:19:44
Salut,

nous arrivons maintenant à l'étape où il faut expliqué à ce très cher Rickersx à quoi correspond ce code:

if(strcmp(cmd, "/bmx", true) == 0)La fonction strcmp permet de "comparé" deux string, en réalité, elle retourne une expression représentant la différence entre les deux string, ainsi s'ils sont pareils, la fonction retourne 0, les autres cas sont presque ou jamais utilisé sur sa-mp


if (GetPlayerState(playerid) == 2)Ici, on vérifie dans quel état est le joueur (non pas sa vie mais son statut, s'il conduit, est passager, à pied etc....), dans le cas précédant, le 2 correspond au statut de conducteur, mais comment le retenir? Apprend plutôt les constantes suivantes:
#define PLAYER_STATE_NONE
#define PLAYER_STATE_ONFOOT
#define PLAYER_STATE_DRIVER
#define PLAYER_STATE_PASSENGER
#define PLAYER_STATE_WASTED
#define PLAYER_STATE_SPAWNED
#define PLAYER_STATE_SPECTATING
Ensuite, on sait que le joueur conduit un véhicule, que faire? Eh bien on lui apporte son véhicule!
new tmpcar = GetPlayerVehicleID(playerid);
SetVehiclePos(tmpcar, Lacoordonnées ...);
On a donc récupérer le ID (numéro d'identification) de son véhicule dans une variable quelconque afin d'en changé la position, certains diront: il y a moyen d'optimiser ce code.
Effectivement, On peut optimiser ce code en employant directement le GetPlayerVehicleID dans le SetVehiclePos par contre, si plus tard on ajoute du code (pour en changer l'angle par exemple) il sera mieux d'utiliser une variable, dans le cas contraire:
SetVehiclePos(GetPlayerVehicleID(playerid), Lacoordonnées ...);
Dans le cas contraire(else), le joueur ne conduit donc pas un véhicule, ne téléportons que le joueur, puisque le véhicule n'est pas vraiment à lui...
SetPlayerPos(playerid, coordonnées..);Donc ce code sert à modifier la position d'un joueur, on peut l'utiliser pour n'importe quel joueur, y placer un paramètre constant aurait également été possible

Enfin, on envoie un message de confirmation au joueur, suivit d'un envoie dans l'intérieur 1 (recommandé si vos joueurs peuvent aller dans des intérieurs, et en général, ils le peuvent) il y avait également une variable qui ne t'amènerais qu'à avoir des erreurs, je l'ai donc ici enlevée.
SendClientMessage(playerid, COLOR_GRAD1, "   Te voila maintenant a : tonnomdeteleportation");
SetPlayerInterior(playerid,0);
return 1;

en espérant avoir fait comprendre quelques choses à certains d'entre vous...

++Sim++
Titre: Re : De l'aide s'il vous plait
Posté par: Azz45 le 13 Janvier 2009, 17:20:09
Très Bien Sim.


Les String , le mec va croire qu'on se fout de lui  :lmfao
Titre: Re : De l'aide s'il vous plait
Posté par: moster54 le 13 Janvier 2009, 18:33:09
Salut,

Voici un site qui va t'aider pour scripter :

http://wiki.sa-mp.com/wiki/Main_Page (http://wiki.sa-mp.com/wiki/Main_Page)

Mais le seul invonvénient c'est qu'il est en anglais, au pire tu pourrais le traduire avec un traducteur (Google,Orange...) mais le problème c'est qu'il va également traduire les callbacks et fonctions comme par exemple : "AddPlayerStatic" ou "SetPlayerPos"

++

MoSteR
Titre: Re : De l'aide s'il vous plait
Posté par: Azz45 le 13 Janvier 2009, 18:44:48
Je ne pense pas qu'il va traduire les AddStaticVehicle , pour lui sa ne veut rien dire.
Titre: Re : De l'aide s'il vous plait
Posté par: moster54 le 13 Janvier 2009, 18:59:22
On sait jamais parce que le traducteur Google parfois il est con mais de chez con xD
Essaye de traduire le forum de sa-mp.com avec Google traduction, il va te sortir des conneries alors moi maintenant je préfère aller sur le forum sans traduire.

++
Titre: Re : De l'aide s'il vous plait
Posté par: Azz45 le 13 Janvier 2009, 19:05:04
Mauvaise idée , Apprendre L'anglais.


Revenons au sujet :lmfao
Titre: Re : Re : De l'aide s'il vous plait
Posté par: Rickersx le 14 Janvier 2009, 07:16:33
Salut,

Voici un site qui va t'aider pour scripter :

http://wiki.sa-mp.com/wiki/Main_Page (http://wiki.sa-mp.com/wiki/Main_Page)

Mais le seul invonvénient c'est qu'il est en anglais, au pire tu pourrais le traduire avec un traducteur (Google,Orange...) mais le problème c'est qu'il va également traduire les callbacks et fonctions comme par exemple : "AddPlayerStatic" ou "SetPlayerPos"

++

MoSteR
Oui c'est pas grave je vais me débrouillé, vous allez pas tout me faire non plus  ;) merci

Ps: Merci maintenant je peut me téléporté avec des véhicule grâce a vos aides.
Titre: Re : De l'aide s'il vous plait
Posté par: Azz45 le 14 Janvier 2009, 12:27:15
Derien.


N'hésite pas a poser des questions