GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Nip le 08 Juillet 2007, 17:21:38

Titre: ramasé l'armes d'un joueur mort
Posté par: Nip le 08 Juillet 2007, 17:21:38
bonjours

tantôt j'ai été sur party server
 et j'ai vue que quand j'ai tué 1 players ba je pouvai ramasé son arme
si quelle qu'1 serai m'expliquer comme faire ça sur mon server svp
Titre: Re : ramasé l'armes d'un joueur mort
Posté par: Cliss le 08 Juillet 2007, 17:48:57
Bah logiquement je dirai :
 Quand une personne meurt, tu prends ses coordonnées et ses armes, (Get...)
 Ensuite du les mets aux coordonées enregistrées. (Set...)
Titre: Re : ramasé l'armes d'un joueur mort
Posté par: R@f le 08 Juillet 2007, 18:34:30
je vais etre gentil et te passé le filterscript qui permet de le faire :)

#include <a_samp>

forward PickDestroy(o);

new weapmod[600] = {1212,331,333,334,335,336,337,338,339,341,321,322,323,324,
325,326,342,343,344,345,345,345,346,347,348,349,350,351,352,353,355,356,372,357,
358,359,360,361,362,363,364,365,366,367,368,369,371};

new PickUpMoney[101] = {false, ...};

new DropPick[101] = {false, ...};

forward Float:GetPlayerArmourEx(p);

public OnFilterScriptInit()
{
    print("\n**********************\n*Drop Script By Flyin*\n*       Loaded       *\n**********************");
return 1;
}

Float:GetPlayerArmourEx(p)
{
new Float:a;
GetPlayerArmour(p, a);
return a;
}

public OnFilterScriptExit()
{
    print("\n**********************\n*Drop Script By Flyin*\n*      UnLoaded      *\n**********************");
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
// - Defines
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
new weap[200];
new ammo; // not used
new temp;
new s[256];
new PX;
new PY;
// - End of Defines
  for(new i=0;i<15;i++){
  // Getting random pos near to player
    format(s, 256 ,"%.0f", X);
temp = strval(s);
PX = random((temp+2)-(temp-2))+(temp-2);
format(s, 256 ,"%.0f", Y);
temp = strval(s);
PY = random((temp+2)-(temp-2))+(temp-2);
// end of pos
// Placing Pickups
if(i<12){
GetPlayerWeaponData(playerid, i, weap[i], ammo);
if(weapmod[weap[i]] == 1212){
new pickid = CreatePickup(1212, 3,PX, PY, Z);
PickUpMoney[pickid]=true;
DropPick[pickid]=true;
} else {
DropPick[CreatePickup(weapmod[weap[i]], 3,PX, PY, Z)]=true;
}
}
if(i==13)DropPick[CreatePickup(1240, 3,PX, PY, Z)]=true;
  if(i==14)if(GetPlayerArmourEx(playerid)>0.0)DropPick[CreatePickup(1242, 3,PX, PY, Z)]=true; else {
new pickid = CreatePickup(1212, 3,PX, PY, Z);
PickUpMoney[pickid]=true;
DropPick[pickid]=true;
}
if(i==15){
new pickid = CreatePickup(1212, 3,PX, PY, Z);
PickUpMoney[pickid]=true;
DropPick[pickid]=true;
}
}
// End of placing pickups
return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
  if(PickUpMoney[pickupid])GivePlayerMoney(playerid, 500); // Will give you 500$ when you pickup money
  if(DropPick[pickupid])SetTimerEx("PickDestroy", 500, 0, "d", pickupid); // Destroying pickups
return 1;
}

public PickDestroy(o)DestroyObject(o); // Destroy pickup ! Muha xD!
Titre: Re : ramasé l'armes d'un joueur mort
Posté par: Nip le 08 Juillet 2007, 19:48:40
j'ai mi ce que tu ma donner

mais il a pas les pickup des mort

je doit rien faire d'autre?
Titre: Re : ramasé l'armes d'un joueur mort
Posté par: turkiye43 le 08 Juillet 2007, 19:50:45
slt
Merci pour le filterscript ^^ :D
je le test tt de suit
Titre: Re : ramasé l'armes d'un joueur mort
Posté par: Nip le 08 Juillet 2007, 22:22:58
svp aideee moi



SVP :cheers :cheers :cheers :cheers :cheers
Titre: Re : ramasé l'armes d'un joueur mort
Posté par: turkiye43 le 09 Juillet 2007, 00:22:51
Re
Ton filter script marche pa
enfin j arive a le complier mé sa marche pa :wall
Titre: Re : ramasé l'armes d'un joueur mort
Posté par: Syg le 09 Juillet 2007, 01:20:02
Suffit de lire le filter script de Raf(FS) pour voir que c'est que pour l'argent.
Ce filter script permet de récupérer 500 $ quand on ramasse le pickup crée juste après la mort d'un joueur.
Il n'est pas très dificille de l'adapter pour que l'on récupère une arme en lpus de l'argent. Mais je vous laisse faire, ça vous fera un bon exercice.

++
Titre: Re : ramasé l'armes d'un joueur mort
Posté par: Nip le 09 Juillet 2007, 09:15:33
ça va ete chaud

Merci
Titre: Re : ramasé l'armes d'un joueur mort
Posté par: Nip le 10 Juillet 2007, 18:21:14
ok c'est bin ça marche merci a tous
Titre: Re : ramasé l'armes d'un joueur mort
Posté par: NatiVe™ le 24 Août 2007, 23:58:48
Bande de nul normal qui marche pas XD

Regarder la toute derniere ligne mdr.

AK.
Titre: Re : ramasé l'armes d'un joueur mort
Posté par: Syg le 25 Août 2007, 00:21:52
Oui mais il faut lire toutes les lignes Arsenik, effectivement la dernière ligne détruit le pickup mais par l'intermédiaire d'un timer, donc pas immédiatement ce qui laisse le temps au "tueur" de rammasser le pickup.

++
Syg
Titre: Re : ramasé l'armes d'un joueur mort
Posté par: NatiVe™ le 25 Août 2007, 00:45:27
Bien moi j'ai fait ce qu'il fallait pour avoir tt le tem que je veut pour les rammaser.

J'ai modif ce FS.

AK.
Titre: Re : ramasé l'armes d'un joueur mort
Posté par: Syg le 25 Août 2007, 01:52:37
Entre nous, c'est vrai que 500 millisecondes pour ramasser le pickup c'est un peu court.

++
Syg