GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: stuntfight le 11 Août 2007, 01:40:43
-
Salut a tous !
Je viens demandé de l'aide , Alors voila , j'aimerais que quand on passe sur un pickup (logo information par exemple) un texte s'affiche.
Si quelqun savais m'aider sa serais super ! :(
Edit : Voila j'ai trouvé mais par contre , quand je passe sur le pickup , il disparait :(
Voici mon code :
Au tous début
new lieu1;
Dans OnGameModeInit
lieu1=CreatePickup(1239, 19, -3208.3311,366.6613,6.2104);
public OnPlayerPickUpPickup(playerid, pickupid)
{
if ( pickupid == lieu1 )
{
GameTextForPlayer(playerid,"~r~coucou les amis", 6000, 1);
}
return 1;
}
-
je pensais hier a faire quelque chose dans ton genre :) je pense savoir la raison pourquoi sa disparait, essaye sa : lieu1=CreatePickup(1239, 2, -3208.3311,366.6613,6.2104);
dit moi si sa marche ;)
-
Oui mais je n'ai pas le texte ^^
Voici ce que j'ai trouvé , sa fonctionne sauf que le pickup disparait et réaparait ( logique mais moche)
public OnPlayerPickUpPickup(playerid, pickupid)
{
if ( pickupid == texte1 )
{
GameTextForPlayer(playerid,"~g~Youhouuuu",2500,5);
DestroyPickup( pickupid ); // Détruit le pickup
texte1=CreatePickup(1239, 19, -3208.3311,366.6613,6.2104); // Recréé le pickup
}
return 1;
}
-
Ecoutez plutôt l'avis de professeur Tips :
Pour qu'un texte s'affiche lors de lorsque l'on entre dans un pickup il faut que ton script sache quel pikup c'est, c'est pour ça que nous utilisons le =
Par exemple quand ta mère te fais un plat et que vous êtes dans le noir, Elle ne peut pas savoir a qui dire tiens Gerome c'est pour ça que nous allons créer un = sur toi.
Mais si tu est tout seul c'est mieux elle poura dire tiens Gerome sans avoir peur de ce tromper de personnes... Bon je suis sur que toi tu n'as pas 1 seul pickup dans ton serveur alors voila la ligne que nous allons créer :
Pour commencer mets cette ligne avec les autres new de ton script :
new pickup1;
Ensuite mets ça en dehors de toutes les fonctions (Si tu veux mets le tout en bas) :
public OnPlayerPickUpPickup(playerid, pickupid){
if ( pickupid == pickup1 )
{
SendClientMessage(playerid, COLOR_YELLOW, "Info");
DestroyPickup(pickupid);
}
return 1;
}
Et enfin mets ça avec les autres pickups :
pickup1 = CreatePickup(ID, Type, Position);
Tu as remarquer le pickup1 = Et bien c'est pour faire savoir a ton script que c'est CE pickup qui doit effectuer une action (Comme avec ta mère :D) Et donc si tu enléve le pickup1 = Tout les pickups afficherons un texte par exemple.
-
Bof. Les pick Up place les tous dans un seul array ça t'evitera tout plein de declaration....