GTAOnline.net
San Andreas Multiplayer (sa:mp) => Problèmes et bugs => Discussion démarrée par: inbox le 20 Mai 2008, 15:55:45
-
Salut,
Je voudrais savoir comment marche les cases
exemple
case 1: {
case 2:{
default:
actuellement j'ai fait ceci
public OnPlayerPickUpPickup(playerid, pickupid)
{
switch(pickupid)
{
case BANK:{
GameTextForPlayer(playerid,"~w~Bienvenue a la banque", 8000,3);
Check1 = SetPlayerCheckpoint(playerid, 2055.3142,1911.3152,12.1682, 4);
SetTimer("Points", 80000,0);
}
default:{
GameTextForPlayer(playerid,"~w~Bienvenue", 8000,3);
}
}
}
Le code sert a toucher une icone Info
ca active le checkPoint pour la banque et le joueur peut faire se qui veut dessus
Mais le probleme c'est que si je touche un autre AddStaticPickup qui est lui a des centaines de klm ca me re dit le message de la case 1
Je sait pas si vous avez bien compris lol
Avez vous une petite idée sur ca ?
Merci
-
Le problème ne vient pas des case mais du fait que tu utilises la fonction AddStaticPickup.
Cette fonction renvoie toujours 1 et ne permet pas de différencier les pickup que tu crées (car ils ont TOUS l'ID 1).
Je te conseille de remplacer les fonction AddStaticPickup par CreatePickup qui elle renvoie un ID unique de pickup.
La fonction CreatePickup à exactement les même paramètres que AddStaticPickup (on se demande d'ailleurs à quoi sert AddStaticPickup).
Le mieux c'est de ne pas utiliser AddStaticPickup (de plus je crois bien qu'on ne peut l'utiliser que dans OnGameModeInit).
Exemple :
Dans OnGameModeInit (ou ailleurs) :
Bank = CreatePickup (...); // Pickup devant la banque (Bank = 1)
Garage = CreatePickup (...); // Pickup devant le garage (Garage = 2)
Dans OnPlayerPickUpPickup :
switch (pickupid)
{
case Bank:
{
// On fait ce qu'il y a à faire si le joueur passe sur le pickup de la banque
}
case Garage:
{
// On fait ce qu'il y a à faire si le joueur passe sur le pickup du garage
}
default:
{
// Si aucun autre pickup n'est crée, on ne doit jamais passer dans le default
}
}
++
Syg
-
Bonsoir :)
ca marche tres bien avec ta solution
Merci beaucoup et bonne fin de soirée
Cordialement,