GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Showroom SA:MP => Discussion démarrée par: Darkdi4bl0 le 15 Juillet 2010, 20:22:04
-
Bonjour,
Le saviez vous? (je pense que oui!) les pilotes de Rafale, F-18 et autres machines de guerre volantes possède des sièges éjectables!!! Et donc pour renforcer le RP
j'ai donc décider de faire ce système pour les millitaire
Le but de ce FS est de "slapper" le joueur pour l'éjecter et lui donner un parachute a l'ejection mais attention comme IRL cela fait perdre de la vie! moi j'ai mis -10 mais chacun fait comme il le veut!
Commande: Appuyer sur la touche pour sauter
/!\ A Savoir!!! / A Faire!!! /!\
Penser a modifier l'ID de faction si ce n'est pas 3
J'ai mis normalement tout ce qui faut dans le pawn pour que cela fonctionne si BUG dites le moi
C'est un ADDON pas un FS donc ajouter les bouts de codes dans votre Gamemode
Lien de Téléchargement:
Ejection! (http://solidfiles.com/d/caa8/)
-
Joli ! mais met un lien Pastebin ...
-
pour moi c'est pas un addon :bangin :angelnot
-
je sais pour le texte au debut, c'etais un commande et quand j'ai mis la fonction pour que cela fonctionne avec une touche, je n'ai pas enlever le texte (-_- je suis tête en l'air...)
Double post
//Données
#define PRESSED(%0) \
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
forward IsAPlane(carid);
IsAPlane(carid)
{
if(GetVehicleModel(carid)==520) return 1;
else return 0;
}
// Commande
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if (PRESSED( KEY_JUMP ))
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pLeader] == 3 || PlayerInfo[playerid][pMember] == 3)// ID des Millitaires (pour ma part c'est 3)
{
new playerid;
new Float:shealth;
new Float:slx, Float:sly, Float:slz;
playa = ReturnUser(tmp);
if(IsAPlane(nexcar))
{
GetPlayerName(playa, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerHealth(playa, shealth);
SetPlayerHealth(playa, shealth-10);
GetPlayerPos(playa, slx, sly, slz);
SetPlayerPos(playa, slx, sly, slz+10);
GivePlayerWeapon(playerid, 46, 1);
PlayerPlaySound(playerid, 1130, slx, sly, slz+5);
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Tu n'est pas dans un Hydra");
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Vous n'êtes pas millitaire!");
}
}
return 1;
}
-
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if (PRESSED( KEY_JUMP ))
{
if(PlayerInfo[playerid][pLeader] == 5 || PlayerInfo[playerid][pMember] == 5)// ID des Millitaires (pour ma part c'est 5)
{
new playerid;
new Float:shealth;
new Float:slx, Float:sly, Float:slz;
playa = ReturnUser(tmp);
if(IsAPlane(nexcar))
{
GetPlayerHealth(playa, shealth);
SetPlayerHealth(playa, shealth-10);
GetPlayerPos(playa, slx, sly, slz);
SetPlayerPos(playa, slx, sly, slz+10);
GivePlayerWeapon(playerid, 46, 1);
PlayerPlaySound(playerid, 1130, slx, sly, slz+5);
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Tu n'est pas dans un Hydra");
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Vous n'êtes pas millitaire!");
}
}
return 1;
}
Et là? :-\ :(
-
Salut,
tu déclare toujours la variable nommée playerid, elle sera automatiquement en conflit avec la paramètre playerid....
en passant, ta fonction devrais s'appeler IsAHydra, il existe des avions qui ne sont pas des hydra.....
++Sim++
-
Sim si tu avait regarder le tout j'ai mis ca dedans ;)
IsAPlane(carid)
{
if(GetVehicleModel(carid)==520) return 1;
else return 0;
}
Double post
J'ai simplifier la chose ^^
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if (PRESSED( KEY_JUMP ))
{
new playerid;
new Float:shealth;
new Float:slx, Float:sly, Float:slz;
if(IsAPlane(nexcar))
{
GetPlayerHealth(playa, shealth);
SetPlayerHealth(playa, shealth-10);
GetPlayerPos(playa, slx, sly, slz);
SetPlayerPos(playa, slx, sly, slz+10);
GivePlayerWeapon(playerid, 46, 1);
PlayerPlaySound(playerid, 1130, slx, sly, slz+5);
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Tu n'est pas dans un Hydra");
}
}
return 1;
}
-
C:\Users\Modding et Script\Desktop\WCRP\ejectermili.pwn(11) : error 017: undefined symbol "GetVehicleModel"
C:\Users\Modding et Script\Desktop\WCRP\ejectermili.pwn(9) : warning 203: symbol is never used: "carid"
C:\Users\Modding et Script\Desktop\WCRP\ejectermili.pwn(9 -- 17) : warning 235: public function lacks forward declaration (symbol "OnPlayerKeyStateChange")
C:\Users\Modding et Script\Desktop\WCRP\ejectermili.pwn(9 -- 19) : error 017: undefined symbol "KEY_JUMP"
C:\Users\Modding et Script\Desktop\WCRP\ejectermili.pwn(9 -- 21) : warning 219: local variable "playerid" shadows a variable at a preceding level
C:\Users\Modding et Script\Desktop\WCRP\ejectermili.pwn(9 -- 24) : error 017: undefined symbol "nexcar"
C:\Users\Modding et Script\Desktop\WCRP\ejectermili.pwn(9 -- 24) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
:...
-
Je lock. La prochaine fois vérifie que ton script fonctionne.
:lock
++
R@f