Rios
Новичок
У меня есть 2 команды
1.Передача патронов
2.Передача, продажа наркотиков
Как сделать диалог по команде /give и там эти 2 команды когда выбираеш например передать/продать наркотики потом ещё один диалог, ид игрока, потом количество, а потом цена...
Можете обьяснить как это сделать?
1.Передача патронов
PHP:
if(iscmd(cmd,"/giveammo"))
{
if(!IsValid(playerid)) return 1;
new w = GetPlayerWeapon(playerid), i = GetWSlot(w), a, w1;
if(!w || i<2 || i>7)return
Message(playerid,"Возьмите в руки огнестрельное оружие",clDarkRed);
getTgt("Использование: /giveammo [игрок] [количество]");
if(!IsValid(tgt)) return 1;
getInt("Использование: /giveammo [игрок] [количество]");
checkdistance(playerid,tgt,3.0);
if(playerid==tgt)return
Message(playerid,"Вы не можете передать патроны самому себе",clDarkRed);
if(pint<1)return
Message(playerid,"Вы не можете передать другому игроку менее 1 патрона",clDarkRed);
GetPlayerWeaponData(tgt,i,w1,a);
if(!w1)return
Message(playerid,"Игрок не имеет оружия в этом слоте",clDarkRed);
GetPlayerWeaponData(playerid,i,w,a);
if(pint>a)return
Message(playerid,"Вы не имеете такого боезапаса в текущем слоте",clDarkRed);
GivePlayerWeaponEx(tgt,w1,pint);
SetPlayerWeaponData(playerid,i,w,a-pint);
tmp = nformat(pint,"патрон","патронов","патронов");
format(msg,max_line,"Bы передали игроку %s %s к %s",GetName(tgt),tmp,GetWName(w));
Message(playerid,msg,clYellow);
format(msg,max_line,"%s передал вам %s к %s",GetName(playerid),tmp,GetWName(w));
Message(tgt,msg,clYellow);
format(msg,max_line,"* %s передал игроку %s какой-то пакет",GetName(playerid),GetName(tgt));
HMessage(playerid,msg,distance_normal,clPurple);
return 1;
}
PHP:
if(iscmd(cmd,"/givedrugs")){
if(PlayerTied[playerid] || PlayerJailed[playerid] || PlayerCuffed[playerid]) return 1;
if(GetPVarInt(playerid,"Accept")>0)return Message(playerid,"Вы уже зделали предложение.",clDarkRed);
if(PlayerDrugs[playerid]<=0)
{
PlayerDrugs[playerid] = 0;
Message(playerid,"У вас нет наркотиков",clDarkRed);
return 1;
}
getTgt("Использование: /givedrugs [игрок] [количество][стоимость]");
if(GetPVarInt(tgt,"Accept")>0)return Message(playerid,"Ему уже зделали предложение.",clDarkRed);
getInt("Использование: /givedrugs [игрок] [количество][стоимость]");
new kolvo = pint;
checkdistance(playerid,tgt,distance_close);
if(kolvo<1)return Message(playerid,"Вы не можете передать другому игроку менее 1г наркотиков",clDarkRed);
if(kolvo>PlayerDrugs[playerid])return Message(playerid,"У вас нет такого количество наркотиков",clDarkRed);
if(PlayerDrugs[tgt]+kolvo>50)return Message(playerid,"Игрок не может иметь более 50 граммов наркотиков",clDarkRed);
getInt("Использование: /givedrugs [игрок] [количество][стоимость]");
if(pint && PlayerMember[playerid]==25)return
Message(playerid,"Вы не можете продавать наркотики пока работаете на ферме.",clDarkRed);
if(pint<0 || pint>20000)return Message(playerid,"Цена должна быть от 0$ до 20000$",clDarkRed);
if(PlayerCash[tgt]<pint)return Message(playerid,"У него нет столько денег",clDarkRed);
if(playerid==tgt && PlayerAdmin[playerid]<10)return Message(playerid,"Вы не можете передать наркотики самому себе",clDarkRed);
if(pint == 0){
PlayerDrugs[playerid] -= kolvo;
PlayerDrugs[tgt] += kolvo;
SavePlayer(playerid);
SavePlayer(tgt);
format(msg,max_line,"Bы передали игроку %s %iг героина",GetName(tgt),kolvo);
Message(playerid,msg,clYellow);
format(msg,max_line,"%s передал вам %iг героина",name,kolvo);
Message(tgt,msg,clYellow);
format(msg,max_line,"* %s передал игроку %s какой-то пакетик.",name,GetName(tgt));
HMessage(playerid,msg,distance_normal,clPurple);
if(IsAnyCopNear(playerid,200.0)) AddPlayerCrime(playerid,"распостранение наркотиков.",-1,2);
FMessage(2,2,"Стукач: В городе распространяют наркоту.",clWhite,3);
}
else if(pint){
format(msg,max_line,"{ff00ff}%s {ffffff}предлогает вам купить у него\n{ff0000}%i грамм наркотиков за {ffff00}$%i.",name,kolvo,pint);
ShPlDi(tgt,61,DIALOG_STYLE_MSGBOX,"Продажа наркотиков",msg,"OK","Отмена");
format(msg,max_line,"Вы предложили %s купить у вас\n%i грам наркотиков за {ffff00}$%i",GetName(tgt),kolvo,pint);
ShPlDi(playerid,MSG_ID,DIALOG_STYLE_MSGBOX,"{ff0000}Информация",msg,"Ок","");
SetPVarInt(playerid,"Accept",1);
SetPVarInt(tgt,"Accept",1+kolvo);
SetPVarInt(tgt,"Money",pint);
SetPVarInt(tgt,"Tgt",playerid);
if(IsAnyCopNear(playerid,200.0)) AddPlayerCrime(playerid,"распостранение наркотиков.",-1,2);
format(msg,max_line,"Стукач рассказал что: %s занимается распостранением наркотиков.",GetName(playerid));
FMessage(2,3,msg,clWhite,3);
}
return 1;
}
Можете обьяснить как это сделать?
