GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Nip le 28 Septembre 2007, 22:36:18

Titre: demande de fonction pour /war1
Posté par: Nip le 28 Septembre 2007, 22:36:18
Bonjour tlm

Je cherche un script  pour

Par exemple je tape /war1

Et tout les joueur reçoivent les arme que j'ai decide  


Merci de m'aidee
Titre: Re : demande de fonction pour /war1
Posté par: UrbanGhetto le 28 Septembre 2007, 22:47:48
Facile  :)

if (strcmp("/war1", cmdtext, true, 10) == 0 && IsPlayerAdmin(playerid) == 1) {

new message[127];
GetPlayerName(playerid, message, sizeof(message));
format(message,sizeof(message), "L'administrateur %s a livrer un /*Nom de l'arme*/ a tout le monde", message);
SendClientMessageToAll(green,message);

for (new p=0 ; p<MAX_PLAYERS ; p++)
{
if (IsPlayerConnected (p))
{
GivePlayerWeapon(playerid,/*ID de l'arme*/,/*Munitions*/)
}
}
return 1;
}

Enjoy  ;)

PS: Cette commande est réserver aux admins...
Titre: Re : demande de fonction pour /war1
Posté par: Nip le 28 Septembre 2007, 22:53:56
Re

oui pour uen arme j sai faire mais pour donner uzi- lance roquette shot gun

Pour uen vrai guerre quoi

je doit faire  ton script avec

GivePlayerWeapon(playerid,/*ID de l'arme*/,/*Munitions*/)
GivePlayerWeapon(playerid,/*ID de l'arme*/,/*Munitions*/)
GivePlayerWeapon(playerid,/*ID de l'arme*/,/*Munitions*/)
GivePlayerWeapon(playerid,/*ID de l'arme*/,/*Munitions*/)
GivePlayerWeapon(playerid,/*ID de l'arme*/,/*Munitions*/)
   c'est ça???
Titre: Re : demande de fonction pour /war1
Posté par: UrbanGhetto le 28 Septembre 2007, 22:54:57
Exacte, Tu recréer la fonction GivePlayerWeapon plusieurs fois  ;)
Titre: Re : demande de fonction pour /war1
Posté par: Nip le 28 Septembre 2007, 22:58:19
ok merci

Tout con mais j'etai pas sur  et comme j'ame pas travaillé pour rien XD


Alor je mais ça :

if (strcmp("/war1", cmdtext, true, 10) == 0 && IsPlayerAdmin(playerid) == 1) {

new message[127];
GetPlayerName(playerid, message, sizeof(message));
format(message,sizeof(message), "L'administrateur %s a livrer un /*Nom de l'arme*/ a tout le monde", message);
SendClientMessageToAll(green,Un admin a declarer la guerre);

for (new p=0 ; p<MAX_PLAYERS ; p++)
{
if (IsPlayerConnected (p))
{
GivePlayerWeapon(playerid,/*ID de l'arme*/,/*Munitions*/)
GivePlayerWeapon(playerid,/*ID de l'arme*/,/*Munitions*/)
GivePlayerWeapon(playerid,/*ID de l'arme*/,/*Munitions*/)
GivePlayerWeapon(playerid,/*ID de l'arme*/,/*Munitions*/)
GivePlayerWeapon(playerid,/*ID de l'arme*/,/*Munitions*/)
GivePlayerWeapon(playerid,/*ID de l'arme*/,/*Munitions*/)
GivePlayerWeapon(playerid,/*ID de l'arme*/,/*Munitions*/)

}
}
return 1;
}
Titre: Re : demande de fonction pour /war1
Posté par: Nip le 29 Septembre 2007, 00:37:40
Re tlm

Voial ce que j'ai fai

if (strcmp("/para", cmdtext, true, 10) == 0 && IsPlayerAdmin(playerid) == 1) {

new message[127];
GetPlayerName(playerid, message, sizeof(message));
format(message,sizeof(message), "tu a acheter un parachute [1.000$]", message);


for (new p=0 ; p<MAX_PLAYERS ; p++)
{
if (IsPlayerConnected (p))
{
GivePlayerWeapon(46,1)
}
}
return 1;
}


Mais j'ai une error :s

D:\PROGRA~1\ROCKST~1\GTASAN~1\GAMEMO~1\MONSTE~1.PWN(679) : error 001: expected token: ";", but found "}"





et pour fini quelle fonctiond e doit utiliser pour faire payer le parachute


Merci a vous
Titre: Re : demande de fonction pour /war1
Posté par: spykerc8 le 29 Septembre 2007, 00:56:14
Code: (cpp) [Sélectionner]
GivePlayerWeapon(46,1);
Mais je vois pas pourquoi tu fais une boucle pour tous les joueurs, et pourquoi tu mets "1" dans la fonction par contre... :blink
Titre: Re : demande de fonction pour /war1
Posté par: Nip le 29 Septembre 2007, 01:56:34
re

Pcq je veu un parachute

Tu ne sai aps commen on fai payé le parachute?
Titre: Re : demande de fonction pour /war1
Posté par: UZI-I le 29 Septembre 2007, 10:49:50
if (strcmp("/war1", cmdtext, true, 10) == 0 && IsPlayerAdmin(playerid) == 1) {

new message[127];
GetPlayerName(playerid, message, sizeof(message));
format(message,sizeof(message), "L'administrateur %s a livrer un /*Nom de l'arme*/ a tout le monde", message);
SendClientMessageToAll(green,message);

for (new p=0 ; p<MAX_PLAYERS ; p++)
{
if (IsPlayerConnected (p))
{
GivePlayerWeapon(playerid,/*ID de l'arme*/,/*Munitions*/)
}
}
return 1;
}

Ce code est faux.Tu fait une boucle sur P mais tu t'en sers pas. A quoi bon bouffer du processeur xD

Il faut rectifier ça :
GivePlayerWeapon(p,/*ID de l'arme*/,/*Munitions*/)
p étant la variable bouclée qui contient l'ID d'un joueur.
Titre: Re : demande de fonction pour /war1
Posté par: spykerc8 le 29 Septembre 2007, 15:48:29
J'ai pas relever dans le précédent post parce que je n'avais pas le temps, mais en effet la boucle ne sert absolument à rien, à part manger du CPU dans le vide :] (si tu mets playerid au lieu de p en tout cas)

Le script corrigé :

Code: (cpp) [Sélectionner]

if (strcmp("/war1", cmdtext, true, 10) == 0 && IsPlayerAdmin(playerid) == 1) {

new message[127];
GetPlayerName(playerid, message, sizeof(message));
format(message,sizeof(message), "L'administrateur %s a livrer un /*Nom de l'arme*/ a tout le monde", message);
SendClientMessageToAll(green,message);

for (new p=0 ; p<MAX_PLAYERS ; p++)
   if (IsPlayerConnected (p))   GivePlayerWeapon(p, 46, 1);

return 1;
}
Titre: Re : demande de fonction pour /war1
Posté par: UrbanGhetto le 29 Septembre 2007, 20:10:12
Ah oui j'avais oublier désolé  :bangin
Titre: Re : demande de fonction pour /war1
Posté par: R@f le 29 Septembre 2007, 23:58:11
pour faire payer le parachute c est :
Giveplayermoney(p,-500); tu le met juste en dessous du code de l arme ;)