GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Vprimo le 26 Mars 2011, 00:38:21
-
Bon salut, je viens de commencé en script, je sais créer quelque commande... La je commence a créer mon serveur, mais je voudrait savoir si vous connaisez un fliter script ou quelque chose pour créer un tazer Manuel (Comme un SDpistole quand on tire sur quelqu'un il est taze)
Merci d'avance
-
Dans le
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
tu y définit la touche désirée, et dans ça tu y place par exemple
if(GetPlayerWeapon(playerid) == 24)
( Là , j'ai mis l'arme DEAGLE)
et ensuite tu définis l'action de ton tazer, exemple du rendu :
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == KEY_ACTION) // j'ai défini la touche CTRL
{
if(GetPlayerWeapon(playerid) == 24) // j'ai défini l'arme
{
la tu place ton code
}
}
return 1;
}
-
Je voie un peu se que sa donne...mais c'est pas sa car, il faut quand je tire dessus "ET SA LE TOUCHE", il est taze
-
http://www.gtaonline.fr/forums/index.php/topic,11537.0.html (http://www.gtaonline.fr/forums/index.php/topic,11537.0.html)
Entre autre: ====>
Il te suffit de fair un IsPlayerAiming(Si le Joueur tire sur ce joueur) je vais te faire un système pour t'aider
En Haut de ton Script :
forward OnPlayerAimingOnPlayer(PlayerAiming,PlayerTouchAimming);
Dans OnPlayerKeyStatChange :
if(((oldkeys & KEY_FIRE) && !(newkeys & KEY_FIRE)) || ((newkeys & KEY_FIRE) && !(oldkeys & KEY_FIRE)) || (newkeys & KEY_FIRE))
{
if(GetPlayerWeapon(playerid)==0)
{
return 1;
}
for(new i = 0; i < MAX_PLAYERS(); i++)
{
if(IsPlayerConnected(i) && playerid != i)
{
if(IsPlayerAiming(playerid, i))
{
OnPlayerAimingOnPlayer(playerid,i);
return 1;
}
}
}
}
En bas de ton script :
OnPlayerAimingOnPlayer(PlayerAiming,PlayerTouchAimming)
{
//PlayerAiming = Le Joueur qui tire
//PlayerTouchAimming = Le Joueur touché par le tire
return 1;
}
Toujour en bas de ton script(SOURCE:http://woot-is-awesome.pastebin.com/f5d45cbd7):
stock IsPlayerAiming(playerid, aimid)
{
// Not my function, can't remember who made it though.
new Float:X1, Float:Y1, Float:Z1, Float:X2, Float:Y2, Float:Z2;
GetPlayerPos(playerid, X1, Y1, Z1);
GetPlayerPos(aimid, X2, Y2, Z2);
new Float:Distance = floatsqroot(floatpower(floatabs(X1-X2), 2) + floatpower(floatabs(Y1-Y2), 2));
if(Distance < 100)
{
new Float:A;
GetPlayerFacingAngle(playerid, A);
X1 += (Distance * floatsin(-A, degrees));
Y1 += (Distance * floatcos(-A, degrees));
Distance = floatsqroot(floatpower(floatabs(X1-X2), 2) + floatpower(floatabs(Y1-Y2), 2));
if(Distance < 0.5)
{
return true;
}
}
return false;
}
-
Quand je met sa, et je le remplie (ici je les pas remplie):
if(((oldkeys & KEY_FIRE) && !(newkeys & KEY_FIRE)) || ((newkeys & KEY_FIRE) && !(oldkeys & KEY_FIRE)) || (newkeys & KEY_FIRE))
{
if(GetPlayerWeapon(playerid)==0)
{
return 1;
}
for(new i = 0; i < MAX_PLAYERS(); i++)
{
if(IsPlayerConnected(i) && playerid != i)
{
if(IsPlayerAiming(playerid, i))
{
OnPlayerAimingOnPlayer(playerid,i);
return 1;
}
}
}
}
Sa me donne sa:
C:\Documents and Settings\famille\Bureau\Serveur SAMP\gamemodes\RC-RP.pwn(67708) : error 029: invalid expression, assumed zero
C:\Documents and Settings\famille\Bureau\Serveur SAMP\gamemodes\RC-RP.pwn(67708) : error 001: expected token: ")", but found ";"
C:\Documents and Settings\famille\Bureau\Serveur SAMP\gamemodes\RC-RP.pwn(67708) : error 001: expected token: ";", but found ")"
C:\Documents and Settings\famille\Bureau\Serveur SAMP\gamemodes\RC-RP.pwn(67708) : 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 croie que j'ai oublié quelque truc :$
Merci de m'aidé
-
A premiere vue, il semble que tu a oublier des ;
-
la ligne ou j'ai les erreur C'est cella:
for(new i = 0; i < MAX_PLAYERS(); i++)
-
Ni l'une ni l'autre marche les même erreur:
C:\Documents and Settings\famille\Bureau\Serveur SAMP\plugins\TEST TAZER.pwn(202) : error 017: undefined symbol "IsPlayerAiming"
C:\Documents and Settings\famille\Bureau\Serveur SAMP\plugins\TEST TAZER.pwn(204) : error 004: function "OnPlayerAimingOnPlayer" is not implemented
C:\Documents and Settings\famille\Bureau\Serveur SAMP\plugins\TEST TAZER.pwn(211) : warning 209: function "OnPlayerKeyStateChange" should return a value
C:\Documents and Settings\famille\Bureau\Serveur SAMP\plugins\TEST TAZER.pwn(211) : error 055: start of function body without function header
C:\Documents and Settings\famille\Bureau\Serveur SAMP\plugins\TEST TAZER.pwn(212) : error 010: invalid function or declaration
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
-
UP