• 06 Juin 2026, 18:41:32


Auteur Sujet: Apprendre le PAWN  (Lu 4741 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Lychaos

  • *
  • Tueur en série
  • Messages: 165
    • Voir le profil
Re : Apprendre le PAWN
« Réponse #15 le: 15 Novembre 2009, 13:27:44 »
Merci encore

Sinon je lisais ce tuto la (http://www.gtaonline.fr/forums/index.php/topic,4289.0.html) Concernant le MoveObject, il y a une chose que je ne comprend pas

On doit ecrire le commande donc le cmdtp(jsais pus comment sa s'ecrit) =/fermer

ensuite le SetTimer(Nomdutimer,7000,0) // pour 7 sg

MAIS, le Timer en question n'est dit qu'a la FIN du scripte, il risque pas d'y avoir un "Nomdutimer n'est pas déclarer" ?

=================Edit==============
J'aimerais aussi savoir les type de variable et a quoi sa correspond, car je voit beaucoup de "i" et je me demandais... ???
« Modifié: 15 Novembre 2009, 20:23:20 par Lychaos »

Hors ligne Lychaos

  • *
  • Tueur en série
  • Messages: 165
    • Voir le profil
Re : Apprendre le PAWN
« Réponse #16 le: 16 Novembre 2009, 14:06:32 »
Bonjour a tous

Je suis en train d'apprendre le pawn et j'en etait a crée un moveobject, mais la commande seulement dans une zone, j'ai donc mit IsPlayerInArea, mais j'ai toujours "Udefined sybol "Getplayerpos"

erreur :
C:\SERVEUR SAMP\gamemodes\mytdm.pwn(33) : error 017: undefined symbol "GetPlayerPos"
C:\SERVEUR SAMP\gamemodes\mytdm.pwn(33) : warning 215: expression has no effect
C:\SERVEUR SAMP\gamemodes\mytdm.pwn(33) : warning 215: expression has no effect
C:\SERVEUR SAMP\gamemodes\mytdm.pwn(33) : warning 215: expression has no effect
C:\SERVEUR SAMP\gamemodes\mytdm.pwn(33) : warning 215: expression has no effect
C:\SERVEUR SAMP\gamemodes\mytdm.pwn(33) : error 001: expected token: ";", but found ")"
C:\SERVEUR SAMP\gamemodes\mytdm.pwn(33) : error 029: invalid expression, assumed zero
C:\SERVEUR SAMP\gamemodes\mytdm.pwn(33) : 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.

Pastebin de mon script: http://pastebin.com/m6d0943c3
« Modifié: 16 Novembre 2009, 14:41:46 par Lychaos »

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : Apprendre le PAWN
« Réponse #17 le: 16 Novembre 2009, 15:58:23 »
tu as mis #include <a_samp> tout en haut ??
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne Lychaos

  • *
  • Tueur en série
  • Messages: 165
    • Voir le profil
Re : Apprendre le PAWN
« Réponse #18 le: 16 Novembre 2009, 15:58:58 »
EDIT : Haaaann C'est regler, je devais encore avoir une confusion de PAWNO

Sa m'arrive pleins de fois sa, quand j'en ouvre plusieurs en meme temps, il a pus la bonne version, et fait bugguer tout mon script ;) (toute une aprem pour sa xd)
« Modifié: 16 Novembre 2009, 16:10:10 par Lychaos »

Hors ligne Lychaos

  • *
  • Tueur en série
  • Messages: 165
    • Voir le profil
Re : Apprendre le PAWN
« Réponse #19 le: 17 Novembre 2009, 22:26:46 »
Salut a vous,
J'ai esseyer de crée des menu pour qu'on selectionne ses arme, mais j'ai un little soucis, quand on va sur le premier menu, on a tout, et sur les 2 autre, le menu apparait, mais vide :s

voici mes code

new Menu:gun;
new Menu:gun1;
new Menu:gun2;

gun = CreateMenu("~r~Pistol ~w~selection",1,125,150,300); //création du menu
  if(IsValidMenu(gun))
{
    SetMenuColumnHeader(gun, 0, "Choisissez votre pistolet:");
    AddMenuItem(gun ,0,"Eagle");
    AddMenuItem(gun ,0,"9mm");
    AddMenuItem(gun ,0,"Silentieux");
}
//----------------------
gun1 = CreateMenu("~r~Mitraill. ~w~selection",1,125,150,300); //création du menu
if(IsValidMenu(gun1))
{
    SetMenuColumnHeader(gun1, 0, "Choisissez votre mitraillette legere et lourde:");
    AddMenuItem(gun ,0,"AK47");
    AddMenuItem(gun ,0,"M4");
    AddMenuItem(gun ,0,"MP5");
    AddMenuItem(gun ,0,"Tec9");
    AddMenuItem(gun ,0,"Micro-MP5");
}
//-------------------------------
gun2 = CreateMenu("~r~Letal ~w~selection",1,125,150,300); // création du menu
if(IsValidMenu(gun2))
{
SetMenuColumnHeader(gun2, 0, "Choisissez votre arme letal:");
    AddMenuItem(gun ,0,"Batte");
    AddMenuItem(gun ,0,"Couteau");
    AddMenuItem(gun ,0,"Gods");
    AddMenuItem(gun ,0,"Pelle");
}

if (strcmp("/gun", cmdtext, true, 10) == 0)
{
    if(PlayerToPoint(playerid, 3, 1883.069336, 1284.791626, 11.357388) || PlayerToPoint(playerid, 3, 1949.034790, 1444.481201, 11.357388))
    {
        ShowMenuForPlayer(gun,playerid);
        TogglePlayerControllable(playerid,0);
}
else
{
    SendClientMessage(playerid, COLOR_RED, "Vous n'etes pas sur la bonne etoile");
}
return 1;
}
//FIN CMD

// Debut CMD
if(strcmp("/mgun", cmdtext, true, 10) == 0)
{
    if(PlayerToPoint(playerid, 3, 11886.490967, 1284.813599, 11.357388) || PlayerToPoint(playerid, 3, 1945.264282, 1444.519043, 11.357388 ))
    {
        ShowMenuForPlayer(gun1,playerid);
        TogglePlayerControllable(playerid,0);
}
else
{
    SendClientMessage(playerid, COLOR_RED, "Vous n'etes pas sur la bonne etoile");
}
return 1;
}
// Fin cmd

// debut cmd
    if(strcmp("/lgun", cmdtext, true, 10) == 0)
{
    if(PlayerToPoint(playerid, 3, 1890.087891, 1284.888672, 11.357388) || PlayerToPoint(playerid, 3, 1941.252930, 1444.630737, 11.357388 ))
    {
        ShowMenuForPlayer(gun2,playerid);
        TogglePlayerControllable(playerid,0);
}
else
{
    SendClientMessage(playerid, COLOR_RED, "Vous n'etes pas sur la bonne etoile");
}
return 1;
}
// FIN DES COMMANDE DE MENU

public OnPlayerSelectedMenuRow(playerid, row)
{
new Menu:Current = GetPlayerMenu(playerid);
if(Current == gun)
{
    if(row == 0)
    {
GivePlayerWeapon(playerid, 24, 100);
}
if(row == 1)
{
    GivePlayerWeapon(playerid, 22, 100);
}
if(row == 2)
{
    GivePlayerWeapon(playerid, 23, 100);
}
TogglePlayerControllable(playerid,1); //on defreeze
}
if(Current == gun1)
{
    if(row == 0)
    {
GivePlayerWeapon(playerid, 30, 500);
}
if(row == 1)
{
    GivePlayerWeapon(playerid, 31, 500);
}
if(row == 2)
{
    GivePlayerWeapon(playerid, 28, 500);
}
if(row == 3)
{
    GivePlayerWeapon(playerid, 29, 500);
}
if(row == 4)
{
    GivePlayerWeapon(playerid, 32, 500);
}
TogglePlayerControllable(playerid,1); //on defreeze
}
    if(Current == gun2)
{
    if(row == 0)
    {
GivePlayerWeapon(playerid, 2, 0);
}
if(row == 1)
{
    GivePlayerWeapon(playerid, 4, 0);
}
if(row == 2)
{
    GivePlayerWeapon(playerid, 10, 0);
}
if(row == 3)
{
    GivePlayerWeapon(playerid, 6, 0);
}
TogglePlayerControllable(playerid,1); //on defreeze
}
return 1;
}

J'ai pourtant suivit le tuto, verifier sur le wiki samp mais je voit :s

Merci de votre aide

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : Apprendre le PAWN
« Réponse #20 le: 17 Novembre 2009, 22:39:56 »
if(IsValidMenu(gun))
{
    SetMenuColumnHeader(gun, 0, "Choisissez votre pistolet:");
    AddMenuItem(gun ,0,"Eagle");
    AddMenuItem(gun ,0,"9mm");
    AddMenuItem(gun ,0,"Silentieux");
}
//----------------------
gun1 = CreateMenu("~r~Mitraill. ~w~selection",1,125,150,300); //création du menu
if(IsValidMenu(gun1))
{
    SetMenuColumnHeader(gun1, 0, "Choisissez votre mitraillette legere et lourde:");
    AddMenuItem(gun1 ,0,"AK47");
    AddMenuItem(gun1 ,0,"M4");
    AddMenuItem(gun1 ,0,"MP5");
    AddMenuItem(gun1 ,0,"Tec9");
    AddMenuItem(gun1 ,0,"Micro-MP5");
}
//-------------------------------
gun2 = CreateMenu("~r~Letal ~w~selection",1,125,150,300); // création du menu
if(IsValidMenu(gun2))
{
SetMenuColumnHeader(gun2, 0, "Choisissez votre arme letal:");
    AddMenuItem(gun2 ,0,"Batte");
    AddMenuItem(gun2 ,0,"Couteau");
    AddMenuItem(gun2 ,0,"Gods");
    AddMenuItem(gun2 ,0,"Pelle");
}

;)
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne Lychaos

  • *
  • Tueur en série
  • Messages: 165
    • Voir le profil
Re : Apprendre le PAWN
« Réponse #21 le: 18 Novembre 2009, 09:22:38 »
Ahhh ouai :D, merci beaucoup, sa m'etait meme pas venu a l'esprit :dry

Faut que je sois plus concentrer, ou jvais galerer lool
« Modifié: 18 Novembre 2009, 17:18:50 par Lychaos »

Hors ligne Lychaos

  • *
  • Tueur en série
  • Messages: 165
    • Voir le profil
Re : Apprendre le PAWN
« Réponse #22 le: 19 Novembre 2009, 10:15:59 »
Bonjour, j'essais de crée une sorte de job d'eboueur où il faut aller de checkpoint en checkpoint, les coordonner se font de maniere aleatoire, mais j'ai un soucis, c'est que quand je rentre sur un seul point, il active tout le reste en meme temps, et je sais pus comment m'y prendre ...

Voici mes code :
new eboueur[MAX_PLAYERS];
new ceboueur[MAX_PLAYERS];
new Float:PoubellePoints[3][3]={
{2036.697143,1163.087524,10.471667},
{2036.946044,1044.111206,10.470774},
{2037.472290,909.212158, 8.086796}
};

// DEBUT CMD
if(strcmp("/eboueur", cmdtext, true, 10) ==0)
{
    eboueur[playerid] = 1;
    SendClientMessage(playerid,COLOR_RED,"Vous etes désormais Eboueur");
    return 1;
}
// FIN CMD

// debut cmd
if(eboueur[playerid] == 1)
{
if(strcmp("/rampoubelle", cmdtext, true, 10) == 0)
{
    ceboueur[playerid] = 1;
    SendClientMessage(playerid,COLOR_YELLOW,"Suivez les checkpoint pour faire votre tourné");
    new randomize;
    randomize = random(sizeof(PoubellePoints));
    SetPlayerCheckpoint(playerid, PoubellePoints[randomize][0], PoubellePoints[randomize][1], PoubellePoints[randomize][2],5);
    return 1;
}
return 0;
}
//fin cmd

public OnPlayerEnterCheckpoint(playerid)
{
if(ceboueur[playerid] == 1)
{
SendClientMessage(playerid,COLOR_YELLOW,"Vous avez ramasser votre premiere poubelle.(2restantes)");
GivePlayerMoney(playerid,150);
new randomize;
randomize = random(sizeof(PoubellePoints));
  SetPlayerCheckpoint(playerid, PoubellePoints[randomize][0], PoubellePoints[randomize][1], PoubellePoints[randomize][2], 5.0);
ceboueur[playerid] = 2;
  }
else if(ceboueur[playerid] == 2)
{
SendClientMessage(playerid,COLOR_YELLOW,"Vous avez ramasser votre deuxieme poubelle.(1restantes)");
GivePlayerMoney(playerid,150);
new randomize;
randomize = random(sizeof(PoubellePoints));
  SetPlayerCheckpoint(playerid, PoubellePoints[randomize][0], PoubellePoints[randomize][1], PoubellePoints[randomize][2], 5.0);
ceboueur[playerid] = 3;
  }
else if(ceboueur[playerid] == 3)
{
SendClientMessage(playerid,COLOR_YELLOW,"Vous avez ramasser votre troisieme poubelle.");
GivePlayerMoney(playerid,500);
SendClientMessage(playerid,COLOR_YELLOW,"Vous avez finit votre tourné!");
ceboueur[playerid] = 1;

}
return 1;
}

La, quand je rentre sur le premier point sa fait " Vous avez ramasser votre premiere poubelle" le cp reste au meme endroit, et si je re-rentre j'ai les 3 autre messages e le cp change d'endroit...

J'ai pour le moment 3 coordonné, mais il y en auras beaucoup .

Si vous savez comment je dois m'y prendre sa m'aiderais beaucoup...

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : Apprendre le PAWN
« Réponse #23 le: 19 Novembre 2009, 10:21:21 »
pense a killer le CP dans le quelle tu entre
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne Lychaos

  • *
  • Tueur en série
  • Messages: 165
    • Voir le profil
Re : Apprendre le PAWN
« Réponse #24 le: 19 Novembre 2009, 10:25:02 »
Haaaan sa marche merci...

Je l'avais mit mais j'ai recommencer le systeme et je les ai oublier :-\
Bon en tout cas je suis content, apres 4h a etre passer dessus  :lmfao

Edit: Maintenant j'aimerais savoir comment faire qu'un vehicule sois reserver a un job
    |--> Le trashcar m'interresserais particulierement...
« Modifié: 19 Novembre 2009, 10:26:48 par Lychaos »

Hors ligne Lychaos

  • *
  • Tueur en série
  • Messages: 165
    • Voir le profil
Re : Apprendre le PAWN
« Réponse #25 le: 22 Novembre 2009, 10:08:03 »
Bonjour, j'etais en train de voir pour utiliser des animation et nottament une anim quand on parle, et qu'au bout de 3-4 secondes, l'anim s'arrete.
J'ai donc mit sa
                          if(!IsPlayerInAnyVehicle(playerid))
{
if(PlayerInfo[playerid][pMaskuse] == 1)
{
    ApplyAnimation(playerid,"PED","IDLE_CHAT",4.1,1,1,1,1,1);
SetTimer("parler",3000,0);
format(string, sizeof(string), "Etrangé dit: %s", result);
ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
   
}
else
    {
        ApplyAnimation(playerid,"PED","IDLE_CHAT",4.1,1,1,1,1,1);
    SetTimer("parler",3000,0);
    format(string, sizeof(string), "%s dit: %s", sendername, result);
    ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
   
}
}

Le soucis c'est que, le timer se repete en boucle, et l'anim viens jamais :/

Mon deuxieme soucis vient du fait que je veux placer un train pour l'enregistrer en temps que bot, mais il ne se spawn pas avec le debug, quand je l'ajoute sur le script, il ne se crée pas...

Y a t-il une fonction particuliere pour que le train sois crée?

+Lychaos++Ster+

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : Apprendre le PAWN
« Réponse #26 le: 22 Novembre 2009, 10:31:38 »
pour le timer essaye avec SettimerEx

pour le train verifie bien qu'il soit en AddStaticVehicle et non en createVehicle
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne Lychaos

  • *
  • Tueur en série
  • Messages: 165
    • Voir le profil
Re : Apprendre le PAWN
« Réponse #27 le: 22 Novembre 2009, 10:33:07 »
Oui effectivement, le train marche maintenant ;)

Mais l'animation quand on parle.... Non, je parle, il ne se passe rien sauf le timer en boucle tout les 4 seconde, je vais esseyer avec un SetTImerEx.

Mais pour l'anim, vous savez pourquoi elle ne s'affiche pas?