GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: vincentdu90 le 31 Août 2010, 12:45:38
-
Bonjour/Bonsoir ,
Je voulais créer un petit système tout simple qui freeze un joueur lorsque qu'il rentre dans un véhicule qui à en dessous de X dégats .
J'y suis un peu près arrivé le problème c'est que le joueur se freeze avant même qu'il est eu le temps de monter .
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
new Float:VehicleHealth;
GetVehicleHealth(vehicleid,VehicleHealth);
if ( VehicleHealth <= 350)
{
TogglePlayerControllable(playerid,0);
SendClientMessage(playerid,VERT,"Ce véhicule est inutilisable");
}
return 1;
}
Je vous demande donc s'il vous plaît votre aide .
Merci d'avance de vos réponses .
-
Ou un timer de 2-3 seconde le temps qu'il ait le temps de monter..
-
J'ai essayé ça mais bon , ça fait rien non plus
forward VehicleLife(playerid,vehicleid);
public VehicleLife(playerid,vehicleid)
{
new Float:Vie;
if(IsPlayerInAnyVehicle(playerid))
{
if(GetVehicleHealth(vehicleid,Vie) <= 350)
{
TogglePlayerControllable(playerid,0);
SendClientMessage(playerid,ROUGE,"Ce véhicule est inutilisable");
}
}
}
Je patauges vraiment
-
Bon j'ai laissé de coté ce script et j'ai essayé de faire un système de chat pour team (Home Made :D) et je le poste à la suite pour éviter de créer un autre post juste pour ça , le problème c'est que quand je tape ma commande /f [text] , cela ne fonctionne que pour la première team et je ne sais pas si ça envoie à tous ceux qui en font partit .
Voici mon code (personnellement je soupçonne la ligne 217)
Lien Pastebin : http://pastebin.com/V1kTAQS9 (http://pastebin.com/V1kTAQS9)
Pouvez-vous m'aidez s'il vous plaït ? :)
Merci d'avance
-
Pour ton premier probleme
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER)
{
new vehicleid = GetPlayerVehicleID(playerid);
new Float:VehicleHealth;
GetVehicleHealth(vehicleid,VehicleHealth);
if ( VehicleHealth <= 350)
{
TogglePlayerControllable(playerid,0);
SendClientMessage(playerid,VERT,"Ce véhicule est inutilisable");
}
return 1;
}
}
J'ai fait a l'arrache , normalement c'est bon
-
Si j'ai bien compris t'a ajouté la première la ligne
if(newstate == PLAYER_STATE_DRIVER) , je vais testé ça .
Sinon pour Dizzy , je n'utilise pas dcmd et donc pas non plus sscanf .
-
Oui je les fait dans public OnPlayerStateChange et pas dans public OnPlayerEnterVehicle
-
Merci à toi Hip-Hop ça fonctionne , un truc tout bête mois qui cherchait compliqué ^^ .
Sinon pour dizzy pour le moment je préfères règler mon problème avant d'utiliser dcmd (car je doute que ce soit à cause de ça) .
Mais ce que je veux c'est que le message ne soit envoyer qu'aux membres de la team et je ne sais pas si ceci :
format(string2, sizeof(string), "((%s dit : %s))",Name, string);
SendClientMessage(pTeam[playerid],COULEUR_CHAT,string2);// JE suis pas sur du pTeam[playerid]
est correct