GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Ambro le 30 Octobre 2009, 06:57:51

Titre: Mettre arme+munition
Posté par: Ambro le 30 Octobre 2009, 06:57:51
Bonjour à tous je suis nouveau dans le script et sur le forum ^^

Je démarre avec le script de base sur Pawno je souhaite créer un script DM

J'ai commencer par l'affichage des messages et la je souhaite ragouter des armes aux personnages

Quelle script et ou le placer ?
 
Merci de votre aide.
Titre: Re : Mettre arme+munition
Posté par: Stylis le 30 Octobre 2009, 07:57:48
Salut,

Je vais te faire un exemple.


Code: (Pawn) [Sélectionner]
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/armem4", cmdtext, true, 10) == 0)
{
GivePlayerWeapon(playerid, 31, 200);
return 1;
}
return 0;
}

GivePlayerWeapon(playerid, weaponid, ammo);

playerid         Récupère l'ID du joueur.
weaponid      L'ID de l'arme.
ammo            Le nombre de munition.

Dans cette exemple, je t'es fait une commande. Voila le schéma de ce que j'ai fait:


Code: (Schéma) [Sélectionner]
Si un joueur tape la commande /armem4
{
Donne l'arme M4 avec 200 munitions
}

Voila, j'espere t'avoir aider ;)

++Stylis
Titre: Re : Mettre arme+munition
Posté par: Ambro le 30 Octobre 2009, 08:16:03
Sa marche super merci :)

Double post
Par contre je fais comment si je veut en mettre plusieurs, voilà comment est le debut

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/Arme m4", cmdtext, true, 10) == 0)
{
    GivePlayerWeapon(playerid, 31, 9999);
    return 1;

}
Titre: Re : Mettre arme+munition
Posté par: Stylis le 30 Octobre 2009, 17:54:27
Salut,
Déjà, indente bien ton code, sa sera mieux pour voir si tu a fait une erreur.
Revenons au sujet.

Pour ajouter d'autre arme, tu peut ou créer une autre commande ou mettre une nouvelle arme dans ta commande.

Nouvelle commande:

Code: (Pawn) [Sélectionner]
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/armem4", cmdtext, true, 10) == 0)
{
GivePlayerWeapon(playerid, 31, 200);
return 1;
}
if (strcmp("/armeak", cmdtext, true, 10) == 0)
{
GivePlayerWeapon(playerid, 30, 200);
return 1;
}
return 0;
}

Dans ta commande:

Code: (Pawn) [Sélectionner]
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/armem4", cmdtext, true, 10) == 0)
{
GivePlayerWeapon(playerid, 31, 200);
GivePlayerWeapon(playerid, 30, 200);
return 1;
}
}

Pour l'ID des arme, c'est par ici (http://www.gtaonline.fr/forums/index.php/topic,424.0.html) !

Voila pour toi ;)
Titre: Re : Mettre arme+munition
Posté par: Ambro le 30 Octobre 2009, 17:57:30
Merci de ton aide =)
Titre: Re : Mettre arme+munition
Posté par: Stylis le 30 Octobre 2009, 17:59:17
Pas de problème :)
Va voir ton poste pour l'armure ;)
Titre: Re : Mettre arme+munition
Posté par: Bl4st3r67 le 04 Décembre 2009, 10:15:17
Bonjour, désoler de Up le topic mais j'ai une petit question; comment faire pour que l'on puisse utiliser cette commande uniquement à un endroit précis ? Par exemple devant un container ...
J'ai chercher mais je ne comprends vraiment rien à ce que j'ai trouver ...

Merci d'avance si vous me répondez.

++
Titre: Re : Mettre arme+munition
Posté par: cristab le 04 Décembre 2009, 11:04:23
avec un playertopoint
Titre: Re : Mettre arme+munition
Posté par: Bl4st3r67 le 04 Décembre 2009, 11:46:54
Merci mais je débute et je n'ai aucune idée de ce que c'est ... x)
Je vais chercher et si je ne trouve vraiment vraiment pas je reviendrais pour vous demandez de l'aide.

Merci.

++
Titre: Re : Mettre arme+munition
Posté par: S!m le 04 Décembre 2009, 17:31:58
Salut,

désormais (depuis la 0.3), une fonction permettant de vérifier si un joueur se trouve près d'un point est incluse dans sa-mp:

IsPlayerInRangeOfPoint(playerid, Float:range, Float:x, Float:y, Float:z)
x, y, z : coordonnées du point
range : distance maximale du point
playerid: joueur testé

++Sim++
Titre: Re : Mettre arme+munition
Posté par: Bl4st3r67 le 04 Décembre 2009, 19:05:03
Merci beaucoup ! Je vais essayer et j'éditerais si sa marche ou pas.
J'aurais surement d'autres questions par la suite mais je créerais un topic exprès ( après avoir fais une recherche ... )

Encore Merci.

++

Edit: J'ai réussi =D
Code: (pawn) [Sélectionner]
if (strcmp("/armem4", cmdtext, true, 10) == 0)
{
    if(IsPlayerInRangeOfPoint(playerid, 7.0, 2695.6880, -1704.6300, 11.8438)) // Postion a changer
GivePlayerWeapon(playerid, 31, 200);
return 1;
}
if (strcmp("/armeak", cmdtext, true, 10) == 0)
{
    if(IsPlayerInRangeOfPoint(playerid, 7.0, 2695.6880, -1704.6300, 11.8438)) // Idem
GivePlayerWeapon(playerid, 30, 150);
return 1;
}

return 0;
}
]

Merci beaucoup.

++
Titre: Re : Mettre arme+munition
Posté par: Ssk le 04 Décembre 2009, 21:09:20
Met des accolades q chaque condition ca facilite la vie ^^
Titre: Re : Mettre arme+munition
Posté par: » Lukubi™ le 04 Décembre 2009, 23:07:15
Sauf qu'à mon avis, il veut faire genre que le gars fouille le poubelle et trouve une arme, bien sur ce système serait a améliorer avec une arme aléatoire, parfois il ne trouvera rien, et bien sur, ajouter une condition qui empêche le joueur de fouiller plusieurs fois la même poubelle avant un certain temps.
Titre: Re : Mettre arme+munition
Posté par: Bl4st3r67 le 04 Décembre 2009, 23:41:10
Bonsoir,
En Effet je veux faire comme dit MrT, Pour dans des caisses ou des meubles.
J'ai aussi créer un petit menu pour les armes grace a l'aide de Stylis.

Mais maintenant, je bute sur quelque chose, Je veux que lorsque l'on meurt, on respawn dans le ciel, Stylis m'a mis sur la voie mais quand je modifie le OnPlayerDeath, J'apparais bien dans le ciel avec un parachute sauf que je suis mort... Donc dès que je touche le sol et me relève je meurt... Et spawn au spawn Habituel ...
Je ne peux pas poster le code car j'ai un peu de mal depuis mon telephone mobile ^^'

Voilà merci pour vos infos, Bonne soirée/Nuit

++