• 15 Mai 2024, 23:26:41


Auteur Sujet: OnPlayerEnterPickup  (Lu 7247 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne [GFC]Gamer

  • "nadjib"VIVE les GFC
  • *
  • Tueur
  • je suis tjrs cool et de bonne humeur ( LOL ) ^^
  • Messages: 62
    • Voir le profil
    • sa-mp-online
Re : OnPlayerEnterPickup
« Réponse #15 le: 04 Octobre 2007, 18:57:04 »
merci  :D donc c'est se que j'ai dit warning né pas un probleme voilla voillou ton Code et bon ptet juste qu'il né pas au bon endroit  :happy
(je connais pas grand chose en pawno donc faux attendre les experes  :laugh

 :cheers                       syg , uzi , guigui .... vous etes ou ? on a besoin de vous  LOL!!!



XD>>>[GFC]Gamer<<<DX               

« Modifié: 04 Octobre 2007, 19:03:02 par [GFC]Gamer »
Le fait que le monde soit peuplé de crétins permet à chacun de nous de ne pas se faire remarquer!

<<<{§{§{ <><><>»®»»»-(¯`·.·´¯)->[GFC]Gamer<-(¯`·.·´¯)-«   »®»<><><> {§{§{>>>  8)

Hors ligne UrbanGhetto

  • *
  • Grand Banditisme
  • I PWN You !
  • Messages: 948
    • Voir le profil
    • http://h2oteam.roxorgamers.com/
Re : OnPlayerEnterPickup
« Réponse #16 le: 04 Octobre 2007, 20:30:27 »
En faite ce problème ce lance quand nos lignes sont mal empilées, Exemple :

public OnPlayerConnect(playerid)
{

SendClientMessage(playerid,"Teste");

return 1;
}

Vous remarquez sur le SendClientMessage n'est pas a la même ligne que le return, Alors il faut faire ca :

public OnPlayerConnect(playerid)
{

    SendClientMessage(playerid,"Teste");

    return 1;
}

Mais on peut aussi modifier la position du return comme ça :

public OnPlayerConnect(playerid)
{

SendClientMessage(playerid,"Teste");

return 1;
}

Voila, J'espert avoir été asses clair  ;)

˙·٠•● Je dis, mieux vaut toucher à un clavier qu'a de la drogue | Le meilleur topic du forum | Ce que j'ai fait a fait de moi ce que je suis ●•٠·˙

Hors ligne ApocKalipsS

  • *
  • Gangster
  • **** | Une experience GTA IV hors du commun !
  • Messages: 1141
    • Voir le profil
Re : OnPlayerEnterPickup
« Réponse #17 le: 04 Octobre 2007, 20:38:55 »
Oui, mais ca ne marche pas :s si tu saurait comment faire, ou me le faire par msn. merci beaucoup j'aimerais trop avoir ce script !! Merci Beaucoup

Hors ligne [StAfF]MaN

  • [StAfF] forever ^^
  • *
  • Gangster
  • [StAfF] un jour, [StAfF] toujours ^^ !!!
  • Messages: 1040
    • Voir le profil
    • SITE [StAfF]
Re : OnPlayerEnterPickup
« Réponse #18 le: 04 Octobre 2007, 21:07:47 »
Mais normalement le warning n'empêche pas le script de fonctionner... mais si tu met dans ton scriptfile sa devrai marcher... avec le warning mais si il n'y que celui la c'est bon ^^

Mias dit nous plutôt si quand tu lance le jeu sa fait quelque chose de bizzard (sa marche pas, sa te jette du jeu ??)
^v^v^v^v|
   StAfF  |                              IP: gtaunderground.No-Ip.org

^v^v^v^v|

Hors ligne ApocKalipsS

  • *
  • Gangster
  • **** | Une experience GTA IV hors du commun !
  • Messages: 1141
    • Voir le profil
Re : OnPlayerEnterPickup
« Réponse #19 le: 05 Octobre 2007, 17:08:29 »
non ca ne fait rien juste qu'il n'est pas la...
Sinon peut être il faut que je mette dans les pick up normal nan ?

Hors ligne [StAfF]MaN

  • [StAfF] forever ^^
  • *
  • Gangster
  • [StAfF] un jour, [StAfF] toujours ^^ !!!
  • Messages: 1040
    • Voir le profil
    • SITE [StAfF]
Re : OnPlayerEnterPickup
« Réponse #20 le: 05 Octobre 2007, 22:04:49 »
Bah dans gamemode init.. Où tu veu le metre sinon ?? ::)

et après que tu ait mis ta ligne

AddStaticPickup(ID,Style de PickUp,X,Y,Z); (enfin un truk du genre)

dans gamemode init

tu met dans

Public OnPlayerPickUpPickup(playerid, pickupid)

ça :

{

if(pickupid==idMinigun)
{
GivePlayerWeapon(playerid, 362,1500);
}
return 1;
}

(ceci rajoute fait que quand le perso entre dans le pickup il ait un minigun, après tu change l'interrieur par ce que tu veun des messages, des téléportations, etc...)


^v^v^v^v|
   StAfF  |                              IP: gtaunderground.No-Ip.org

^v^v^v^v|

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : OnPlayerEnterPickup
« Réponse #21 le: 05 Octobre 2007, 23:05:45 »
Pour la création du pickup, presque tout a été dit dans ce topic. Sauf qu'aucun post ne donne la méthode complète.
Donc je m'y colle.

En haut du script on ajoute les lignes :
forward CreerPickup ();
new MonPickup;


Dans OnGameModeInit, on ajoute la ligne suivante :
MonPickup = CreatePickup (Modèle, Type, X, Y, Z);
Note : Seuls les types 2 et 3 sont utiles (2 =>lle pickup revient après avoir été pris, 3 => le pickup ne revient pas)

Puis on rajoute la fonction OnPlayerPickupPickup :
public OnPlayerPickUpPickup (playerid, pickupid)
{
   if  (pickupid == MonPipickup) //attention, double signe =
   {
      /* ICI ON FAIT CE QU'ON DOIT FAIRE (Ajout de vie ou attribution d'arme ou téleport ou ...) */

      /* Si le pickup est de type 3, il faut le détruire car il n'apparaitra plus */
      /* Inutile pour un pickup de type 2 ou si on ne veut pas recréer le pikcup */
      DestroyPickup(pickupid);

      /* Re-création du pickup dans 10 secondes (10000 ms) */
      /* Inutile pour un pickup de type 2 ou si on ne veut pas recréer le pikcup */
      SetTimerEx ("CreerPickup", 10000, 0);
   }
   return 1;
}


Et enfin, la fonction de re-création du pickup à placer en bas du script :
public CreerPickup ()
{
   /* On creer un nouveau pickup */
   MonPickup = CreatePickup (Modèle, Type, X, Y, Z);
}


++
Syg
Courtesy of GtaManiac

Hors ligne ApocKalipsS

  • *
  • Gangster
  • **** | Une experience GTA IV hors du commun !
  • Messages: 1141
    • Voir le profil
Re : OnPlayerEnterPickup
« Réponse #22 le: 06 Octobre 2007, 07:27:00 »
Salut SYG,
desolé mais esceque tu pourrais le mettre en code][/code ?
Merci ! :D

AHhh cool ca marche c'est super ! :D :D,
Mais mtn je veut en mettre deux, trois, quattres :s comment faire ?

Ah non marche pu :s
Voici mon script tous en bas de mon GM :

public OnPlayerPickUpPickup (playerid, pickupid)
{
   if  (pickupid == MonPickup) //attention, double signe =
   
SendClientMessage(playerid, COLOR_LIGHTGREEN,"<<=====StuntMania=====>>");
SendClientMessage(playerid, COLOR_RED,"Bienvenue à StuntMania !");
SendClientMessage(playerid, COLOR_GREEN,"Ici est une ville stuntm modifié ");
SendClientMessage(playerid, COLOR_GREEN,"Pour un max de plaisir !");
SendClientMessage(playerid, COLOR_LIGHTGREEN,"<<=====StuntMania=====>>");
DestroyPickup(pickupid);
      SetTimerEx ("CreerPickup", 10000, 0);
   }
   return 1;
}
{
MonPickup = CreatePickup (1239, 1, 1948.4337,-2184.9961,13.5542);
}


Et voici mes ereurs :
C:DOCUME~1pcadrienMESDOC~1SERVEU~1GAMEMO~1SFTDM(5).pwn(1791) : warning 217: loose indentation
C:DOCUME~1pcadrienMESDOC~1SERVEU~1GAMEMO~1SFTDM(5).pwn(1796) : warning 217: loose indentation
C:DOCUME~1pcadrienMESDOC~1SERVEU~1GAMEMO~1SFTDM(5).pwn(1796) : warning 202: number of arguments does not match definition
C:DOCUME~1pcadrienMESDOC~1SERVEU~1GAMEMO~1SFTDM(5).pwn(1798) : error 010: invalid function or declaration

voila et l'erreur c'est encore le return 1;
 ;D

Aidez moi svpp
Triple post pour la troisième fois.
Modéré pour 7 jours.
« Modifié: 06 Octobre 2007, 18:29:28 par spykerc8 »

Hors ligne NatiVe™

  • *
  • Messages: 7977
    • Voir le profil
Re : OnPlayerEnterPickup
« Réponse #23 le: 06 Octobre 2007, 12:41:42 »
La ligne de ton erreur c'est laquel ?

Parce que il y a ecri error ligne 1798 mais on ne sais pas la quel c'est !

AK NV.


Tu vois avant? Bah j'étais là encore avant!

Hors ligne ApocKalipsS

  • *
  • Gangster
  • **** | Une experience GTA IV hors du commun !
  • Messages: 1141
    • Voir le profil
Re : Re : OnPlayerEnterPickup
« Réponse #24 le: 06 Octobre 2007, 13:02:07 »
voila et l'erreur c'est encore le return 1;

Voila c sa le return 1; ;)

Ok ca remarche sauf encore et encore un probleme,
Ca ne veut pas se compiler quand je met le timer de SYG : mon script
new pickup1;
public OnPlayerPickUpPickup(playerid, pickupid){
if ( pickupid == pickup1 )
{
SendClientMessage(playerid,COLOR_LIGHTGREEN,"<<=====StuntMania=====>>");
SendClientMessage(playerid,COLOR_DARKRED,"Bienvenue à Stuntmania :");
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Ici est une ville stunt modifié pour...");
SendClientMessage(playerid,COLOR_LIGHTBLUE,"...Un maximum de plaisir !");
SendClientMessage(playerid,COLOR_LIGHTGREEN,"<<=====StuntMania=====>>");
SetPlayerPos(playerid, 1953.5978,-2181.6936,17.0000);
DestroyPickup(pickupid);
SetTimerEx (CreatePickup, 10000, 0);
pickup1 = CreatePickup(1239,19,-2184.9961,13.5542,175.5193);
}

   return 1;

}
mes erreurs :
C:\DOCUME~1\pcadrien\MESDOC~1\SERVEU~1\GAMEMO~1\SFTDM(5).pwn(1801) : error 076: syntax error in the expression, or invalid function callVoila et cette ligne c'est mon SetTimerEx.
Le probleme est : je doit mettre quoi a la place de CreerPickup Create pickup etc car ca na marche pas, et, si sa marche, ca remttra le pickup après 10 Secondes ?
« Modifié: 06 Octobre 2007, 18:27:51 par spykerc8 »

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : OnPlayerEnterPickup
« Réponse #25 le: 06 Octobre 2007, 15:02:39 »
Ta avais juste un peu oublié des accolades on dirait, fais attention à l'indentation, ça aide pour voir les accolades manquantes.

J'ai mis le code dans le pastebin : http://pastebin.gtaonline.fr/pastebin.php?show=98
Et, comme à mon habitude, j'avais fait une petite erreur : il manquait un paramètre à l'appel à la fonction SetTimerEx.
SetTimerEx ("CreerPickup", 10000, 0, "");

Sinon, pour créer plusieurs pickup, il faut :

- Déclarer plusieurs variables en haut du script (pickup1, pickup2, ...)

- Affecté à chaque variable la valeur retour d'un appel à CreatePickup (attention, ne pas utiliser AddStaticPickup)
   pickup1 = CreatePickUp (...);
   pickup2 = CreatePickUp (...);
   etc

- Rajouter un test spécifique pour chaque nouveau pickup
   if (pickupid == pickup1)
   {
       ....
   }
   else if (pickupid == pickup2)
   {
       ....
   }


++
Syg
Courtesy of GtaManiac

Hors ligne ApocKalipsS

  • *
  • Gangster
  • **** | Une experience GTA IV hors du commun !
  • Messages: 1141
    • Voir le profil
Re : OnPlayerEnterPickup
« Réponse #26 le: 06 Octobre 2007, 16:51:35 »
Ok le timer marche mais mtn je veut en mettre d'autre (et oui, je sais je vous fé ***** mdr)
Alors.. j'ai rien compris a ton truk pour en mettre un autre :S  ;D

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : OnPlayerEnterPickup
« Réponse #27 le: 06 Octobre 2007, 22:19:30 »
Je viens de poster le code pour 3 pickups dans le pastebin : http://pastebin.gtaonline.fr/pastebin.php?show=99
J'ai mis des commentaires au début du script.

Par contre, je n'ai pas eu le temps de tester

++
Syg
Courtesy of GtaManiac