GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Romeo_Urbano le 03 Juillet 2010, 14:51:53
-
Bonjour j'ai ajouter ca dans mon GM mais il marche pas
forward Health();
public Health()
{
for(new i; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(gPlayerSpawned[i] == 1)
{
new Float:health;
GetPlayerHealth(i, health);
if(health <= 10)
{
if(IsPlayerInAnyVehicle(i))
{
RemovePlayerFromVehicle(i);
ApplyAnimation(i, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0);
GameTextForPlayer(i, "~r~Vous êtes blessé, vous avez besoin d'un médecin !", 5000, 3);
}
ApplyAnimation(i, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0);
GameTextForPlayer(i, "~r~Vous êtes blessé, vous avez besoin d'un médecin !", 5000, 3);
}
}
}
}
return 1;
}
D:\SAMP\AC\gamemodes\Oo.pwn(6104) : warning 219: local variable "Health" shadows a variable at a preceding level
D:\SAMP\AC\gamemodes\Oo.pwn(22153) : warning 219: local variable "Health" shadows a variable at a preceding level
Je vais IG et je l'essaye mais aucune animation....
-
Salut :) Renomme ta variable health :) Il existe déjà une variable appelez pareil et donc le serveur se trompe
-
Oui maintenant j'ai plus de Warning mais quand j'arrive a 10 dans le health l'anim s'applique pas :(
-
Tu as remarqué la fonction IsPlayerAnyVehicle ?
-
oui s'est pour si le joueur est dans la voiture il sort dedans et il a l'anim pourquoi?
Double post
Svp personne n'a une réponse pour m'aider :)
-
Tu as tester en dehors de la voiture ?
-
oui moi j'ai tester que en dehors mais pas dans la voiture mais j'ai pas d'anim :(
-
Ben normal ^^ Ton script marche que si le mec est dans la voiture regarde.. x'P
C'est pour sa que j'ai dit
'' Tu as remarqué la fonction IsPlayerAnyVehicle ? ''
Met un else sa devrait aller
-
Voilà j'ai rendu le code comme ca mais toujours il marche pas ni en voiture ni à pieds
forward Vie();
public Vie()
{
for(new i; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(gPlayerSpawned[i] == 1)
{
new Float:health;
GetPlayerHealth(i, health);
if(health <= 10)
{
if(IsPlayerInAnyVehicle(i))
{
RemovePlayerFromVehicle(i);
ApplyAnimation(i, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0);
TogglePlayerControllable(i, 0);
GameTextForPlayer(i, "~r~Vous êtes blessé, vous avez besoin d'un médecin !", 5000, 3);
SendClientMessage(i, COLOR_GRAD1, "Vous êtes blessé, faites /mourrir ou /appeler 103");
}
else
{
ApplyAnimation(i, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0);
TogglePlayerControllable(i, 0);
GameTextForPlayer(i, "~r~Vous êtes blessé, vous avez besoin d'un médecin !", 5000, 3);
SendClientMessage(i, COLOR_GRAD1, "Vous êtes blessé, faites /mourrir ou /appeler 103");
}
}
}
}
}
return 1;
}
-
Fais voir ton timer et dis moi tu tu la mis ^^
-
Je te montre mon NameTimer et je te dis où j'ai poser le NameTimer ou le public Vie?
-
le timer ^^
-
Voilà mon NameTimer :
public NameTimer1()
{
for(new i = 0;i < MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i))
{
for(new q = 0;q < MAX_PLAYERS;q++)
{
if(IsPlayerConnected(q))
{
new Float:p1x;
new Float:p1y;
new Float:p1z;
new Float:p2x;
new Float:p2y;
new Float:p2z;
if(IsPlayerConnected(i) && IsPlayerConnected(q))
{
GetPlayerPos(i,p1x,p1y,p1z);
GetPlayerPos(q,p2x,p2y,p2z);
if(GetPointDistanceToPointExMorph(p1x,p1y,p1z,p2x,p2y,p2z) < pdistance)
{
if(PlayerInfo[q][pMaskuse] != 1)
{
ShowPlayerNameTagForPlayer(i,q,1);
}
}
else
{
ShowPlayerNameTagForPlayer(i,q,0);
}
}
}
}
}
}
}
-
Et c'quoi le rapport avec le ta fonction vie ?
-
Bon voilà j'ai rien ajouter dans le GM rien que le public vie et ce que j'ai voulu s'est que quand j'ai le health 10 je tombe dans la terre et je suis freeze s'est tous ce que je veux
-
Il faut mettre un timer sinon sa marchera pas.
-
Oui mais il n'est pas appeler ^^
Rajoute cette ligne dans ton OnPlayerConnect
SetTimerEx("Vie", 1000,1,"dd", playerid);
1000 correspond à 1000ms soit 1 seconde
Sam
-
Merci ca marche mais un truc ca n'arrête pas de me refaire l'anim et redire le texte et remefreeze moi je veux qu'il me fais ca
RemovePlayerFromVehicle(i);
ApplyAnimation(i, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0);
TogglePlayerControllable(i, 0);
GameTextForPlayer(i, "~r~Vous êtes blessé, vous avez besoin d'un médecin !", 5000, 3);
SendClientMessage(i, COLOR_GRAD1, "Vous êtes blessé, faites /mourrir ou /appeler 103");
qu'une seul fois, svp aidez moi :)
-
désolé de ne pas te répondre mais a parrament ta fonction est tirée d'un rp et tu y laisse le choix d'appeler un médecin ou de mourir ?
moi perso si cela m'arriverais irl se serai un vrai dilemme cette question :(
-
Quand tu es bléssés, IRL tu sauve ta peau, tu as un téléphone tu t'en sert. A moins que la personne est inconsciente et à besoin d'une RCP ou de ventilation.
Pour revenir au problème. As tu preload les anims ?
-
Chneubeul j'ai pas compris la phrase "As tu preload les anims ?" ^^
Sinon moi je t déjà dis que j'ai ajouter le code et quand j'ai le health 10 le message que j'ai mis en SendClientMessage ne s'arrête pas de ce répéter.
Et moi je veux que le message et l'anim et aussi le TogglePlayerControllable ce fais une seul fois et pas de répétition car ca flood le chat,
voilà :)