Va[D]im
Умник
Всем привет. Такая проблема. Была система банд, кто хотел тот и вступал. Я решил переделать. Сделал систему по инвайтам. Диалогом добровольный выход из банды работает.
Сделал команду "Выгнать из банды", то есть глава банды может выгнать любого из своей банды, она работает но ник остаётся с приставкой банды например Rc_
Код:
if(dialogid==30)//меню вступления в банды
{
if(response)
{
new nameNew[255];
new inv;
GetPlayerName(playerid,nameNew,sizeof(nameNew));
if(gang[playerid]>0) strdel(nameNew,0,3);
switch(listitem)
{
case 0:
{
inv = 1;
if(inv == tgang[playerid]|| gladm[playerid] == 1 || glgang[playerid] == 1)
{
bank[playerid]-=3000;
SendClientMessage(playerid, COLOR_BROWN, "*Банда*: Теперь ты в банде 'Ночные Дьяволы', и на карте видишь только своих!");
gang[playerid]=1;
saved[playerid]=0;
strins(nameNew,"ND_",0,sizeof(nameNew));
if(gang[playerid]>0&&GaiRab[playerid]>0) GaiRab[playerid]=0;
SetPlayerName(playerid,nameNew);
SetPlayerColor(playerid, COLOR_1);
}
else SendClientMessage(playerid, COLOR_BROWN, "*Банда*: Нет приглашения");
}
case 1:
{
inv = 2;
if(inv == tgang[playerid] || gladm[playerid] == 1|| glgang[playerid] == 2)
{
bank[playerid]-=3000;
SendClientMessage(playerid, COLOR_BROWN, "*Банда*: Теперь ты в банде 'Hell Riders', и на карте видишь только своих!");
gang[playerid]=2;
saved[playerid]=0;
strins(nameNew,"HR_",0,sizeof(nameNew));
if(gang[playerid]>0&&GaiRab[playerid]>0) GaiRab[playerid]=0;
SetPlayerName(playerid,nameNew);
SetPlayerColor(playerid, COLOR_2);
}
else SendClientMessage(playerid, COLOR_BROWN, "*Банда*: Нет приглашения");
}
case 2:
{
inv = 3;
if(inv == tgang[playerid]|| gladm[playerid] == 1|| glgang[playerid] == 3)
{
bank[playerid]-=3000;
SendClientMessage(playerid, COLOR_BROWN, "*Банда*: Теперь ты в банде 'Mad Killers', и на карте видишь только своих!");
gang[playerid]=3;
saved[playerid]=0;
strins(nameNew,"MK_",0,sizeof(nameNew));
if(gang[playerid]>0&&GaiRab[playerid]>0) GaiRab[playerid]=0;
SetPlayerName(playerid,nameNew);
SetPlayerColor(playerid, COLOR_3);
}
else SendClientMessage(playerid, COLOR_BROWN, "*Банда*: Нет приглашения");
}
case 3:
{
inv = 4;
if(inv == tgang[playerid]|| gladm[playerid] == 1|| glgang[playerid] == 4)
{
bank[playerid]-=3000;
SendClientMessage(playerid, COLOR_BROWN, "*Банда*: Теперь ты в банде 'Русская мафия', и на карте видишь только своих!");
gang[playerid]=4;
saved[playerid]=0;
strins(nameNew,"Ru_",0,sizeof(nameNew));
if(gang[playerid]>0&&GaiRab[playerid]>0) GaiRab[playerid]=0;
SetPlayerName(playerid,nameNew);
SetPlayerColor(playerid, COLOR_4);
}
else SendClientMessage(playerid, COLOR_BROWN, "*Банда*: Нет приглашения");
}
case 4:
{
inv = 5;
if(inv == tgang[playerid]|| gladm[playerid] == 1|| glgang[playerid] == 5)
{
bank[playerid]-=3000;
SendClientMessage(playerid, COLOR_BROWN, "*Банда*: Теперь ты в банде 'Рейсеры', и на карте видишь только своих!");
gang[playerid]=5;
saved[playerid]=0;
strins(nameNew,"Rc_",0,sizeof(nameNew));
if(gang[playerid]>0&&GaiRab[playerid]>0) GaiRab[playerid]=0;
SetPlayerName(playerid,nameNew);
SetPlayerColor(playerid, COLOR_5);
}
else SendClientMessage(playerid, COLOR_BROWN, "*Банда*: Нет приглашения");
}
case 5:
{
inv = 6;
if(inv == tgang[playerid]|| gladm[playerid] == 1|| glgang[playerid] == 6)
{
bank[playerid]-=3000;
SendClientMessage(playerid, COLOR_BROWN, "*Банда*: Теперь ты в банде 'Якудза', и на карте видишь только своих!");
gang[playerid]=6;
saved[playerid]=0;
strins(nameNew,"Ya_",0,sizeof(nameNew));
if(gang[playerid]>0&&GaiRab[playerid]>0) GaiRab[playerid]=0;
SetPlayerName(playerid,nameNew);
SetPlayerColor(playerid, COLOR_6);
}
else SendClientMessage(playerid, COLOR_BROWN, "*Банда*: Нет приглашения");
}
case 6:
{
gang[playerid]=0;
bank[playerid]-=3000;
SendClientMessage(playerid, COLOR_BROWN, "*Банда*: Ты теперь не в банде!");
if(gang[playerid]>0&&GaiRab[playerid]>0) GaiRab[playerid]=0;
if(glgang[playerid]>0) glgang[playerid]=0;
SetPlayerName(playerid,nameNew);
SetPlayerColor(playerid, playerColors[playerid]);
tgang[playerid]=0;
}
}
}
else
{
OnDialog[playerid]=1;
ShowPlayerDialog(playerid,29,DIALOG_STYLE_LIST,"Возможности у бандита:","Кража и перегон тачек\r\nКурьерская доставка товара\r\nНаемник\r\nПокончить с заданием\r\nКупить уровень\r\nВидеть бандита со спутника (возможно видеть только одного)\r\nПомощь по бандам\r\nЗащитить лимузины (только для воров и на одну ночь)","Да","Выход");//Вступить или выйти из банды
}
}
PHP:
if(strcmp(cmd, "/gangoff", true) == 0 && (glgang[playerid]>0 || gladm[playerid] == 1))
{ new nameNew[255];
if(gang[playerid]>0) strdel(nameNew,0,3);
new gangoffID;
GetPlayerName(gangoffID,nameNew,sizeof(nameNew));
new tmp[255];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid,COLOR_WHITE," Èñïîëüçîâàíèå: /gangoff ID");
return true;
}
else
{
gangoffID=strval(tmp);
if(!IsPlayerConnected(gangoffID))
{
SendClientMessage(playerid,COLOR_WHITE," Íåâåðíûé ID.");
}
else
{
if (glgang[playerid] == gang[gangoffID])
{
gang[gangoffID]=0;
SendClientMessage(playerid, COLOR_LIGHTRED, "Âûïîëíåíî");
SendClientMessage(gangoffID, COLOR_BROWN, "*Áàíäà*: Òåáÿ âûãíàëè èç áàíäû!");
if(gang[gangoffID]>0&&GaiRab[gangoffID]>0) GaiRab[gangoffID]=0;
if(glgang[gangoffID]>0) glgang[gangoffID]=0;
SetPlayerName(gangoffID,nameNew);
SetPlayerColor(gangoffID, playerColors[gangoffID]);
tgang[gangoffID]=0;
}
}
}
return true;
}
