Bonjour,
Voilà j'ai un problème avec un pickup.
Je voudrais que quand je suis sur le pickup un menu apparaisse, celà fait plusieurs jour que je suis coincé sur ce code.
j'ai fait un enum avec les dialogs
<?php
enum
{
pickupaMilli
}
puis
new pickupaMilli; Bon jusqu’à la je pense que tout est bon ^^
dans le OnGameModeInit
j'ai sa:
pickupMilli = CreatePickup(1239, 2, 408.4558,2527.0054,16.5275,1);ps : j'ai aussi essayer avec AddStaticPickup
Et là mon OnPlayerPickUpPickup
if(pickupid == pickupMilli)
{
ShowPlayerDialog(playerid, pickupaMilli, DIALOG_STYLE_LIST, "Equipement millitaires", "AK47(250) [30000]\nGrenade(10) [15000]\nLance-roquette(10) [200000]\nGilet par balles [35000]\nMorphine [20000]\nDeagle [35000]", "Acheter", "Quitter");
}
return 1;
}
[spoiler]Ou cas ou je met OnDialogResponse
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch( dialogid )
{
case DIALOG_REGISTER:
{
if (!response) return Kick(playerid);
if(response)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""COL_WHITE"Registering...",""COL_RED"You have entered an invalid password.\n"COL_WHITE"Type your password below to register a new account.","Register","Quit");
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"data");
INI_WriteInt(File,"Password",udb_hash(inputtext));
INI_WriteInt(File,"Cash",0);
INI_WriteInt(File,"Score",0);
INI_WriteInt(File,"Admin",0);
INI_WriteInt(File,"Kills",0);
INI_WriteInt(File,"Deaths",0);
INI_Close(File);
ShowPlayerDialog(playerid, DIALOG_SUCCESS_1, DIALOG_STYLE_MSGBOX,""COL_WHITE"Success!",""COL_GREEN"Great! Your Y_INI system works perfectly. Relog to save your stats!","Ok","");
}
}
case DIALOG_LOGIN:
{
if ( !response ) return Kick ( playerid );
if( response )
{
if(udb_hash(inputtext) == PlayerInfo[playerid][pPass])
{
INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
SetPlayerScore(playerid, PlayerInfo[playerid][pScore]);
ShowPlayerDialog(playerid, DIALOG_SUCCESS_2, DIALOG_STYLE_MSGBOX,""COL_WHITE"Success!",""COL_GREEN"You have successfully logged in!","Ok","");
}
else
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_WHITE"Login",""COL_RED"You have entered an incorrect password.\n"COL_WHITE"Type your password below to login.","Login","Quit");
}
return 1;
}
}
}
if(dialogid == pickupaMilli)
{
if(response)
{
if(listitem == 0)
{
if(GetPlayerMoney(playerid) >= 30000)
{
GivePlayerWeapon(playerid, 31, 250);
GivePlayerMoney(playerid, -30000);
SendClientMessage(playerid, COLOR_GREEN, "Sergent dit: Voilà ton M4 !");
}
else if(GetPlayerMoney(playerid) <= 29999)
{
SendClientMessage(playerid, COLOR_GREEN, "Tu n'a pas assez d'argent.");
}
return 1;
}
if(listitem == 1)
{
if(GetPlayerMoney(playerid) >= 15000)
{
GivePlayerWeapon(playerid, 16, 10);
GivePlayerMoney(playerid, -15000);
SendClientMessage(playerid, COLOR_GREEN, "Sergent dit: Voilà tes grenades camarades !");
}
else if(GetPlayerMoney(playerid) <= 14999)
{
SendClientMessage(playerid, COLOR_GREEN, "Tu n'a pas assez d'argent.");
}
return 1;
}
if(listitem == 2)
{
if(GetPlayerMoney(playerid) >= 200000)
{
GivePlayerWeapon(playerid, 36, 5);
GivePlayerMoney(playerid, -200000);
SendClientMessage(playerid, COLOR_GREEN, "Sergent dit: Voilà ton HS rocket l'ami !");
}
else if(GetPlayerMoney(playerid) <= 199999)
{
SendClientMessage(playerid, COLOR_GREEN, "Tu n'a pas assez d'argent.");
}
return 1;
}
if(listitem == 3)
{
if(GetPlayerMoney(playerid) >= 35000)
{
SetPlayerArmour(playerid, 100.0);
GivePlayerMoney(playerid, -35000);
SendClientMessage(playerid, COLOR_GREEN, "Sergent dit: Voilà ton gilet par balles l'ami !");
}
else if(GetPlayerMoney(playerid) <= 34999)
{
SendClientMessage(playerid, COLOR_GREEN, "Tu n'a pas assez d'argent.");
}
return 1;
}
if(listitem == 4)
{
if(GetPlayerMoney(playerid) >= 20000)
{
SetPlayerHealth(playerid, 100.0);
SetPlayerArmour(playerid, 10.0);
GivePlayerMoney(playerid, -20000);
SendClientMessage(playerid, COLOR_GREEN, "Sergent dit: Voilà ton kit l'ami !");
}
else if(GetPlayerMoney(playerid) <= 19999)
{
SendClientMessage(playerid, COLOR_GREEN, "Tu n'a pas assez d'argent.");
}
return 1;
}
if(listitem == 5)
{
if(GetPlayerMoney(playerid) >= 35000)
{
GivePlayerWeapon(playerid, 24, 250);
GivePlayerMoney(playerid, -35000);
SendClientMessage(playerid, COLOR_GREEN, "Sergent dit: Voilà ton desert eagle l'ami !");
}
else if(GetPlayerMoney(playerid) <= 34999)
{
SendClientMessage(playerid, COLOR_GREEN, "Tu n'a pas assez d'argent.");
}
return 1;
}
}
return 1;
}
return 1;
}[/spoiler]