GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Eloctro le 22 Octobre 2007, 18:49:09
-
[EDIT] voila pour avoir le sript fini ses ici http://pastebin.gtaonline.fr/pastebin.php?show=168 (http://pastebin.gtaonline.fr/pastebin.php?show=168)
Salut j'ai essayer de créer une commande arme a partir de cette commands :
http://www.gtaonline.fr/forums/index.php/topic,1499.0.html (http://www.gtaonline.fr/forums/index.php/topic,1499.0.html)
mes je suis bloque comment faire.
Command :
//en haut
new Menu:arme;
//Dans public OnGameModeInit:
arme = CreateMenu("~b~boutique ~w~arme",1,125,150,300); // "tuning" active un menu qui nous donne les choix ci-dessous :
if(Isvalidemail(arme)) {
SetMenuColumnHeader(arme , 0, "Choisissez un composant:");
AddMenuItem(tuning ,0,"AK47");
AddMenuItem(tuning ,0,"Sniper Rifle");
AddMenuItem(tuning ,0,"Shotgun");
AddMenuItem(tuning ,0,"MP5");
}
//tout en bas de votre script :
public OnPlayerSelectedMenuRow(playerid, row) {
new Menu:Current = Getplayername(playerid); // Si le joueur séléctionne quel que chose du menu.
if (Current == tuning){
if (row == 0){
AddplayerComponent(Getplayers(playerid),IDARME);
} else if (row == 1){
AddplayerComponent(Getplayers(playerid),IDARME);
} else if (row == 2){
AddplayerComponent(GetPlayerVehicleID(playerid),IDARME);
} else if (row == 3){
AddVehicleComponent(GetPlayerVehicleID(playerid),IDARME);
}
TogglePlayerControllable(playerid,1); // On défreeze le joueur
}
return 1;
}
//Et enfin vous créez une commande pour activer le menu :
if (strcmp("/ARME", cmdtext, true, 10) == 0)
{
if(Displayer(playerid)) // Si le joueur est dans un véhicule....
{
new Car = Getplayers(playerid), Model = GetPLAYERModel(Car);
ShowMenuForPlayer(ARME,playerid); // On active le menu "ARME"
TogglePlayerControllable(playerid,0); // On freeze le joueur
}
return 1;
}
Pour les id d'arme il sont pas encore mis je les rajouterais plus tard.
-
Au lieu de mettre sa :
AddVehicleComponent(GetPlayerVehicleID(playerid),1010);
Tu met sa :
GivePlayerWeapon(playerid, weaponid, munition);
AK NV.
-
Mercier , sa veut dire que j'avais presque tout bon a mon script je progresse.
-
//en haut
new Menu:arme;
//Dans public OnGameModeInit:
arme = CreateMenu("~b~boutique ~w~arme",1,125,150,300);
if(Isvalidemail(arme)) {
SetMenuColumnHeader(arme , 0, "Choisissez une arme :");
AddMenuItem(arme,0,"AK47");
AddMenuItem(arme,0,"Sniper Rifle");
AddMenuItem(arme,0,"Shotgun");
AddMenuItem(arme,0,"MP5");
}
//tout en bas de votre script :
public OnPlayerSelectedMenuRow(playerid, row) {
new Menu:Current = Getplayername(playerid);
if (Current == arme){
if (row == 0){
GivePlayerWeapon(playerid, weaponid, munition);
} else if (row == 1){
GivePlayerWeapon(playerid, weaponid, munition);
} else if (row == 2){
GivePlayerWeapon(playerid, weaponid, munition);
} else if (row == 3){
GivePlayerWeapon(playerid, weaponid, munition);
}
TogglePlayerControllable(playerid,1);
}
return 1;
}
//Et enfin vous créez une commande pour activer le menu :
if (strcmp("/ARME", cmdtext, true, 10) == 0)
{
if(Displayer(playerid))
{
ShowMenuForPlayer(arme,playerid);
TogglePlayerControllable(playerid,0);
}
return 1;
}
j ai un peu corrigé ton script, je l'ai pas compilé (donc, non plus essayer...)
-
Ca commence à prendre forme mais dans la ligne :
GivePlayerWeapon(playerid, weaponid, munition);
Il faut rempacer weaponid et munition par des valeurs valides.
++
Syg
-
Ok merci j'ai appris encore des trucs . :D
Je les mis sur pastebin http://pastebin.gtaonline.fr/pastebin.php?show=168 (http://pastebin.gtaonline.fr/pastebin.php?show=168)
Vous me direz se que vous en penssez.
-
juste, le strtok sa te sers a quoi dans ce script ?
-
Ce script sert a quoi ?
-
le strtok sers a selectioner un personnage autre que le joueurs sois même
-
le strtok sers a selectioner un personnage autre que le joueurs sois même
hu?!..
Pour ceux qui n'auraient pas compris à quoi sert strtok, je vous conseille de lire ce genre de pages : http://ca.php.net/strtok ou http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man3/strtok.3.html
-
sa m apprend quelque chose de nouveau la
-
Ses la premiére chose que j'avais apris pour créer une commandes.