Salut,
allez je vais essayer de t'éclairer:
Utilise l'un ou l'autre pas les deux:
if(pickupid == pickup)
{
SetPlayerPos(playerid, 316.524993,-167.706985,999.593750);
SetPlayerInterior(playerid, 6);
return 1;
}
Ceci dans
OnPlayerPickUpPickup téléporte le joueur dès qu'il touche le pickup. Si j'ai bien compris, ce n'est pas ce que tu veux, donc n'utilise pas ce bout de code.
Utilise seulement la commande (le /entrer). Je vais en parler un peu plus loin dans le post.
Comme tu n'utilisera pas la callback OnPlayerPickUpPickup, qui est le seul endroit ou le pickupid est vraiment pratique, tu peut utiliser
CreatePickup ou
AddStaticPickup (
AddStaticPickup ne renvoie pas le numéro d'identification du pickup créé). Néanmoins, je te recommande fortement d'utiliser
CreatePickup, ne serait-ce que pour l'habitude et ça t'évitera des problèmes si jamais tu change de système.
Donc, pour créer ton pickup, ajoute simplement cette ligne (avec les bonnes informations) dans la callback où tu veut que le pickup soit créé (probablement
OnGameModeInit, enfin c'est le cas si tu veut que le pickup soit toujours présent sur le serveur).
CreatePickup(model_du_pickup, type_du_pickup, position_x, position_y, position_z, monde_virtuel);
NB. monde_virtuel est un paramètre optionnel. Si tu le veut dans tous les mondes, ne l'utilise simplement pas.
Voilà, maintenant que l'on a créer le pickup, il ne reste plus qu'à faire la commande.
ta commande doit suivre la structure suivante:
es-ce que le texte passé est le bon (strcmp)
es-ce que le joueur est près du pickup (IsPlayerInRangeOfPoint)
il est près du pickup? très bien, on le déplace et le met dans l'intérieur avec un petit message (SetPlayerPos, SetPlayerInterior et SendClientMessage)
il n'est pas près du pickup? on ne fait rien ou on lui envoie un message
fin de la commande
voilà, rappelle toi bien d'utiliser les coordonnées du pickup dans ton
IsPlayerInRangeOfPoint et celles de la destination dans ton
SetPlayerPos et
SetPlayerInteriorbonne chance
++Sim++