PDA

Просмотр полной версии : [Вопрос] Команда /delacc с подтверждением



Danny_Marcelo
17.11.2015, 23:45
Доброго времени суток ув.пользователи Pro-Pawn.У меня маленький вопрос по команде /delacc. Готовая команда уже есть у меня.Как сделать,чтобы она работала так же как на скриншоте? Вот скриншот:

https://pbs.twimg.com/media/Be_ev_4CcAAZTKE.png:large

Вот сама команда:



if(strcmp(cmd, "/delacc", true) == 0)
{
if (PlayerInfo[playerid][pAdmin] >= 5)
{
new akk[128];
akk = strtok(cmdtext, idx);
if(!strlen(akk)) return SendClientMessage(playerid,COLOR_GRAD2,"Используйте: /delacc [ник игрока]");
new newstring[40];
mysql_real_escape_string(akk, newstring);
new infodelaccasad[90];
format(infodelaccasad, sizeof(infodelaccasad), "SELECT * FROM `accounts` WHERE `name` = '%s'", newstring);
new Cache: trololo = mysql_query(dbHandle,infodelaccasad,true);
new homea,biza,fuela,idacs;
if(cache_num_rows() == 0)
{
cache_delete(trololo);
return SendClientMessage(playerid,COLOR_GRAD1,"Игрока с таким именем не существует");
}
else
{
cache_delete(trololo);
new strdelaccinfgo[128],rows,fields;
format(strdelaccinfgo,sizeof(strdelaccinfgo), "SELECT * FROM `accounts` WHERE `name` = '%s'",akk);
new Cache: admindelacc = mysql_query(dbHandle,strdelaccinfgo,true);
cache_get_data ( rows, fields, dbHandle) ;
if ( rows )
{
homea = cache_get_field_content_int(0, "House");
biza = cache_get_field_content_int(0, "Business");
fuela = cache_get_field_content_int(0, "Fuel");
idacs = cache_get_field_content_int(0, "IDacc");
}
cache_delete(admindelacc);
if(homea < 999)
{
HouseInfo[homea][hCar] = 0;
HouseInfo[homea][hOwned] = 0;
HouseInfo[homea][hLock] = 1;
if(HouseInfo[homea][hClass] == 0) HouseInfo[homea][hRentPlata] = 800;
if(HouseInfo[homea][hClass] == 1) HouseInfo[homea][hRentPlata] = 1500;
if(HouseInfo[homea][hClass] == 2) HouseInfo[homea][hRentPlata] = 2000;
if(HouseInfo[homea][hClass] == 3) HouseInfo[homea][hRentPlata] = 2000;
if(HouseInfo[homea][hClass] == 4) HouseInfo[homea][hRentPlata] = 3000;
if(HouseInfo[homea][hClass] == 5) HouseInfo[homea][hRentPlata] = 3500;
if(HouseInfo[homea][hClass] == 6) HouseInfo[homea][hRentPlata] = 5500;
if(HouseInfo[homea][hClass] == 7) HouseInfo[homea][hRentPlata] = 6000;
if(HouseInfo[homea][hClass] == 8) HouseInfo[homea][hRentPlata] = 10000;
if(HouseInfo[homea][hUpdate] == 5) Delete3DTextLabel(HouseInfo[homea][StoreInfoHouse]);
HouseInfo[homea][hUpdate] = 0;
HouseInfo[homea][hRentTime] = 5;
UpdateHouse(homea);
SaveHouse(homea);
}
if(biza < 999)
{
BizInfo[biza][bOwned] = 0;
BizInfo[biza][bUpdate] = 0;
BizInfo[biza][bRentTime] = 5;
BizInfo[biza][bGotoCena] = 0;
UpdateBiz(biza);
SaveBiz(biza);
}
if(fuela < 999)
{
FuelStInfo[fuela][bOwned] = 0;
FuelStInfo[fuela][bUpdate] = 0;
FuelStInfo[fuela][bRentTime] = 5;
UpdateFuelSt(fuela);
SaveFuelSt(fuela);
}
new selecthistorygo[64];
format(selecthistorygo, sizeof(selecthistorygo), "SELECT name FROM history WHERE name = '%s'", akk);
new Cache: xddd = mysql_query(dbHandle,selecthistorygo,true);
if(cache_num_rows() > 0)
{
new deletehistory[80];
format(deletehistory, sizeof(deletehistory), "DELETE FROM history WHERE name = '%s'", akk);
mysql_query(dbHandle,deletehistory,false);
}
cache_delete(xddd);
new queryadmdelaccyo[80];
format(queryadmdelaccyo, sizeof(queryadmdelaccyo), "DELETE FROM accounts WHERE name = '%s' LIMIT 1", akk);
mysql_query(dbHandle,queryadmdelaccyo,false);
format(query,sizeof(query),"[Внимание] %s[%d] удалил аккаунт игрока %s",PlayerInfo[playerid][pName],playerid,akk);
SendAdminMessage(0xff0000AA,query);
new target;
target = ReturnUser(akk);
if(target != INVALID_PLAYER_ID) SendClientMessage(target,0xff0000AA,"Ваш аккаунт был удалён за нарушение правил сервера"),KickEx(target);
format(query,sizeof(query),"Аккаунт №%d удален из базы данных",idacs);
SendClientMessage(playerid,0x66CC00AA,query);
}
}
return true;
}


Заранее огромное спасибо. С меня плюс как полагается ;)

L0ndl3m
19.11.2015, 16:13
Посмотрите здесь:
SetPVarInt
GetPVarInt

Daniel_Cortez
19.11.2015, 18:22
Как и было написано выше, сохранять никнейм игрока в PVar, но только не через SetPVarInt, а с помощью функции SetPVarString. ИМХО, было бы даже красивее и удобнее, если б вы сделали подтверждение с помощью диалога.

Danny_Marcelo
19.11.2015, 19:32
Как и было написано выше, сохранять никнейм игрока в PVar, но только не через SetPVarInt, а с помощью функции SetPVarString. ИМХО, было бы даже красивее и удобнее, если б вы сделали подтверждение с помощью диалога.

Я делаю работаю над модом,который хочу сделать идеальной копией Advance RP (Не реклама),так что никакие диалоги мне в этой команде не нужны.Спасибо за помощь.Закрыто!

P.S. Не вижу кнопки "Закрыть".


http://ihost.pro-pawn.ru/image.php?di=PKGX