new Menu:tunning;
tunning = CreateMenu("~b~Compostant ~w~selection",1,125,150,300); // "tunning" active un menu qui nous donne les choix ci-dessous :
if(IsValidMenu(tunning)) {
SetMenuColumnHeader(tunning , 0, "Choisissez un composant:");
AddMenuItem(tunning ,0,"Nitro x10");
AddMenuItem(tunning ,0,"Hydraulics");
AddMenuItem(tunning ,0,"Roues Tout Terrain");
AddMenuItem(tunning ,0,"Roues Sport");
}
public OnPlayerSelectedMenuRow(playerid, row) {
new Menu:Current = GetPlayerMenu(playerid); // Si le joueur séléctionne quel que chose du menu.
if (Current == tunning){
if (row == 0){
AddVehicleComponent(GetPlayerVehicleID(playerid),1010);
} else if (row == 1){
AddVehicleComponent(GetPlayerVehicleID(playerid),1087);
} else if (row == 2){
AddVehicleComponent(GetPlayerVehicleID(playerid),1025);
} else if (row == 3){
AddVehicleComponent(GetPlayerVehicleID(playerid),1081);
}
TogglePlayerControllable(playerid,1); // On défreeze le joueur
}
return 1;
}
if (strcmp("/tunning", cmdtext, true, 10) == 0)
{
if(IsPlayerInAnyVehicle(playerid)) // Si le joueur est dans un véhicule....
{
new Car = GetPlayerVehicleID(playerid), Model = GetVehicleModel(Car);
switch(Model) { case 448,461,462,463,468,471,509,510,521,522,523,581,586: return SendClientMessage(playerid,0xFF0000AA,"> Vous ne pouvez pas ajouter de composants dans des motos."); } //Si on ajoute des composants dans des motos ou vélos notre jeu crash...
ShowMenuForPlayer(tunning,playerid); // On active le menu "tunning"
TogglePlayerControllable(playerid,0); // On freeze le joueur
}
else{ // Sinon....
SendClientMessage(playerid,COLOR_RED,"> Vous devez être dans un véhicule");
}
return 1;
}
if(IsPlayerInAnyVehicle(playerid)){
new Float:X;
new Float:Y;
new Float:Z;
new VehicleID;
GetPlayerPos(playerid, X, Y, Z);
VehicleID = GetPlayerVehicleID(playerid);
SetVehiclePos(VehicleID,//Position X,Y,Z);
} else {
SetPlayerPos(playerid,//Position X,Y,Z);
GameTextForPlayer(playerid, "// Message a afficher",5000,5);
SetPlayerInterior(playerid,0);
}
AddVehicleComponent(GetPlayerVehicleID(playerid),1010);
public OnPlayerSelectedMenuRow(playerid, row) {
new Menu:Current = GetPlayerMenu(playerid);
if (Current == tunning){
if (row == 0){
AddVehicleComponent(GetPlayerVehicleID(playerid),1010);
} else if (row == 1){
AddVehicleComponent(GetPlayerVehicleID(playerid),1087);
} else if (row == 2){
AddVehicleComponent(GetPlayerVehicleID(playerid),1025);
} else if (row == 3){
AddVehicleComponent(GetPlayerVehicleID(playerid),1081);
}
TogglePlayerControllable(playerid,1);
}
return 1;
}
if(row==0)
... par un switch(row)
{
case 1:
//code ...
break;
case 2:
//Exemple pour le choix numero 2
SetPlayerPos(playerid,... ,...); //tu mets tes coordonné puis de ton choix
break;
//... Le reste
}
C:\Documents and Settings\pcadrien\Mes documents\Serveur GTA\sftdm(4).pwn(1063) : error 021: symbol already defined: "OnGameModeInit"
C:\Documents and Settings\pcadrien\Mes documents\Serveur GTA\sftdm(4).pwn(1065) : error 021: symbol already defined: "SetMenuColumnHeader"
:wall :wall
C:\Documents and Settings\pcadrien\Mes documents\Serveur GTA\sftdm(4).pwn(1065) : error 021: symbol already defined: "SetMenuColumnHeader"
//---------------------------------------------------------
public OnPlayerSelectedMenuRow(playerid, row) {
new Menu:Current = GetPlayerMenu(playerid); // Si le joueur séléctionne quel que chose du menu.
if (Current == drogue){
if (row == 0){
AddStaticPickup(1241, 3,1215.8640,-15.2648,1000.9219);
SetPlayerHealth(playerid,100.0);
GivePlayerMoney(playerid,-500);
} else if (row == 1){
AddStaticPickup(1241, 3,1215.8640,-15.2648,1000.9219);
SetPlayerHealth(playerid,75.0);
GivePlayerMoney(playerid,-3000);
} else if (row == 2){
AddStaticPickup(1241, 3,1215.8640,-15.2648,1000.9219);
SetPlayerHealth(playerid,50.0);
GivePlayerMoney(playerid,-2000);
} else if (row == 3){
AddStaticPickup(1241, 3,1215.8640,-15.2648,1000.9219);
SetPlayerHealth(playerid,25.0);
GivePlayerMoney(playerid,-1000);
}
TogglePlayerControllable(playerid,1); // On défreeze le joueur
}
return 1;
}
new Menu:drogue;
dans ongamemodeinit:
drogue = CreateMenu("~b~Drogue ~w~Fourniture",1,125,150,300); // "tunning" active un menu qui nous donne les choix ci-dessous :
if(IsValidMenu(drogue)) {
SetMenuColumnHeader(drogue , 0, "Choisissez un composant:");
AddMenuItem(drogue ,0,"Morphine");
AddMenuItem(drogue ,0,"Marijuana");
AddMenuItem(drogue ,0,"Shiet");
AddMenuItem(drogue ,0,"Cocaine");
dans onplayercommandtext:
{
if (strcmp("/drogue", cmdtext, true, 10) == 0)
{
if (IsPlayerInCheckpoint(playerid)) // Si le joueur est dans un véhicule....
{
ShowMenuForPlayer(drogue,playerid); // On active le menu "tunning"
TogglePlayerControllable(playerid,0); // On freeze le joueur
}
else{ // Sinon....
SendClientMessage(playerid,COLOR_RED,"> Vous devez être à l'endroit prévu");
}
}
return 1;
}
et au final :
public OnPlayerSelectedMenuRow(playerid, row) {
new Menu:Current = GetPlayerMenu(playerid); // Si le joueur séléctionne quel que chose du menu.
if (Current == drogue){
if (row == 0){
AddStaticPickup(1241, 3,1215.8640,-15.2648,1000.9219);
SetPlayerHealth(playerid,100.0);
GivePlayerMoney(playerid,-500);
} else if (row == 1){
AddStaticPickup(1241, 3,1215.8640,-15.2648,1000.9219);
SetPlayerHealth(playerid,75.0);
GivePlayerMoney(playerid,-3000);
} else if (row == 2){
AddStaticPickup(1241, 3,1215.8640,-15.2648,1000.9219);
SetPlayerHealth(playerid,50.0);
GivePlayerMoney(playerid,-2000);
} else if (row == 3){
AddStaticPickup(1241, 3,1215.8640,-15.2648,1000.9219);
SetPlayerHealth(playerid,25.0);
GivePlayerMoney(playerid,-1000);
}
TogglePlayerControllable(playerid,1); // On défreeze le joueur
}
return 1;
}
Tu as peut-être été victime d'un des maux suivants :
1 - Je modifie, je recompile et j'oublie de recharger mon mode
2 - Je modifie, j'oublie de compiler et je recharge mon mode
3 - Je modifie le mauvais script, je recompile et je recharge mon mode
4 - ..... (liste non exhaustive)
Ca arrive très souvent.
if(IsValidMenu(tunning)) {
H:\DOCUME~1\robin\Bureau\GTASER~1\FILTER~1\tunning.pwn(34) : warning 217: loose indentation
H:\DOCUME~1\robin\Bureau\GTASER~1\FILTER~1\tunning.pwn(36) : warning 217: loose indentation
H:\DOCUME~1\robin\Bureau\GTASER~1\FILTER~1\tunning.pwn(37) : warning 217: loose indentation
H:\DOCUME~1\robin\Bureau\GTASER~1\FILTER~1\tunning.pwn(41) : warning 217: loose indentation
H:\DOCUME~1\robin\Bureau\GTASER~1\FILTER~1\tunning.pwn(117) : warning 209: function "OnPlayerCommandText" should return a value
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
5 Warnings.
public OnGameModeInit() //LIGNE 31
{
tunning = CreateMenu("~b~Compostant ~w~selection",1,125,150,300); // "tunning" active un menu qui nous donne les choix ci-dessous :
if(IsValidMenu(tunning)== 1) {
SetMenuColumnHeader(tunning , 0, "Choisissez un composant:");
AddMenuItem(tunning ,0,"Nitro x10");
AddMenuItem(tunning ,0,"Hydraulics");
AddMenuItem(tunning ,0,"Roues Tout Terrain");
AddMenuItem(tunning ,0,"Roues Sport");
}
return 1;
}
public OnPlayerInfoChange(playerid)
{
return 1;
}
public OnGameModeInit() //LIGNE 31
{
tunning = CreateMenu("~b~Compostant ~w~selection",1,125,150,300); // "tunning" active un menu qui nous donne les choix ci-dessous :
if(IsValidMenu(tunning)== 1) {
SetMenuColumnHeader(tunning , 0, "Choisissez un composant:");
AddMenuItem(tunning ,0,"Nitro x10");
AddMenuItem(tunning ,0,"Hydraulics");
AddMenuItem(tunning ,0,"Roues Tout Terrain");
AddMenuItem(tunning ,0,"Roues Sport");
}
return 1;
}
public OnPlayerInfoChange(playerid)
{
return 1;
}
public OnGameModeInit()
{
tunning = CreateMenu("~b~Compostant ~w~selection",1,125,150,300); // "tunning" active un menu qui nous donne les choix ci-dessous :
if(IsValidMenu(tunning)== 1) {
SetMenuColumnHeader(tunning , 0, "Choisissez un composant:");
AddMenuItem(tunning ,0,"Nitro x10");
AddMenuItem(tunning ,0,"Hydraulics");
AddMenuItem(tunning ,0,"Roues Tout Terrain");
AddMenuItem(tunning ,0,"Roues Sport");
}
return 1;
}
public OnGameModeExit()
{
return 1;
}
H:\DOCUME~1\robin\Bureau\GTASER~1\FILTER~1\tunning.pwn(116) : warning 209: function "OnPlayerCommandText" should return a value
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
1 Warning.
public OnPlayerInfoChange(playerid)
{
return 1;
}
OnPlayerCommandText(payerid, cmdtext[])
(
return 1;
}
CreateMenu("~b~Compostant ~w~selection",1,125,150,300);
AddMenuItem(tunning ,0,"Nitro x10");
CreateMenu("~b~Compostant ~w~selection",2,125,150,300);
AddMenuItem(tunning ,0,"Nitro");
AddMenuItem(tunning ,1,"x10");
Dans public OnGameModeInit:
("~b~Compostant ~w~selection",1,125,150,300)
switch(Model) { case 448,461,462,463,468,471,509,510,521,522,523,581,586
On doit le trouver où ?
A quoi sert ce qui est en rouge ?
Ce qui est en rouge c'est des model de voiture ( carid ? ) ?
Une chance que la comunité de Samp est inventé les menus car les menus n'était pas disponible sur 0.2x