Ge0Ximik
Ученик
Здравствуйте ув.форумчане P-I. Хочу сделать такую тему, чтобы при бане, у игрока слетал (авто-продажа) дом, и возвращение процент от суммы дома, почти сделал, но есть 2 проблемы:
1. Деньги даются администратору.
2. Дом не слетает.
Code:
1. Деньги даются администратору.
2. Дом не слетает.
Code:
PHP:
CMD:ban(playerid, params[])
{
if(PlayerInfo[playerid][Admin] >= 1)
{
new prichina[128],str[750],hour,minute,year,month,day,pl,file[HOUSEFILE_LENGTH], h = SetPVarInt(pl, "LastHouseCP", 0);
if(sscanf(params,"ds[128]",pl,prichina)) return SendClientMessage(playerid,COLOR_MSG,""WARN_MSG"Поправка: /ban ID Причина (Забанить аккаунт игрока)");
else if(pl == playerid) return SendClientMessage(playerid,COLOR_MSG,""WARN_MSG"Вы не можете забанить себя.");
else if(!IsPlayerConnected(pl)) return SendClientMessage(playerid,COLOR_MSG,""WARN_MSG"Игрока с таким ID нету на сервере.");
else if(PlayerInfo[pl][Admin] == 5 && PlayerInfo[playerid][Admin] < 5) return SendClientMessage(playerid,COLOR_MSG,""ERROR_MSG"Вы не можете забанить администратора старше Вас!");
format(string,128,""WARN_MSG"%s [ID: %d] забанил аккаунт игрока %s [ID: %d] [Причина: %s]", pNick(playerid), playerid, pNick(pl), pl, prichina);
format(string,128,"{FF0000}Внимание!{FFFFFF} Слетел дом игрока: %s[ID:%d] [Причина: Забанен(Навсегда)]", pNick(pl), pl);
printf("[BAN] %s >> %s; Причина: %s.", pNick(playerid), pNick(pl), prichina);
SendClientMessageToAllEx(COLOR_MSG, string);
gettime(hour,minute);
getdate(year,month,day);
format(string,sizeof(string),"{FF0000}_________________________________________\n\nВаш аккаунт забанен!\n{FFFFFF}Ваш ник: %s\nЗабанил админ: %s\nПричина: %s\nВремя и дата: %02d:%02d MSK, %02d.%02d.%d\n",pNick(pl),pNick(playerid),prichina,hour,minute,day,month,year);
strcat(string,"Чтобы вас разбанили, обязательно сделайте\n");
strcat(string,"скриншот нажав {FF5555}F8{FFFFFF} и напишите заявку в\n");
strcat(string,"группе вконтакте "VK_GROUP_NAME" в специальной теме\n");
strcat(string,"для заявок на разбан.\n\n");
strcat(string,"{FF0000}Без скриншота этого окошка заявки не принимаются!\n");
strcat(string,"{FFFFFF}(Чтобы найти скриншот, зайдите в 'Мои Документы',\n");
strcat(string,"затем в папку 'GTA San Andreas User Files', затем\n");
strcat(string,"в 'SAMP', и наконец в папке 'screens' будут\n");
strcat(string,"ваши скриншоты. Делаются скришноты по клавише F8)");
ShowPlayerDialog(pl,NOMENU,DIALOG_STYLE_MSGBOX,"{FF0000}YOU BANNED",string,FORUM_NAME,"");
format(prichina, sizeof(string), "%s, Дата: %d/%d/%d Время: %d:%d, Администратор: %s",prichina,day,month,year,hour,minute,pNick(playerid));
format(str,500,"UPDATE USERS SET BANNED = '%s' WHERE NAME = '%s'", prichina,pNick(pl));
db_free_result(db_query(ServerBase, str));
if(GetOwnedHouses(pl) == 0) return SendClientMessage(playerid,COLOR_MSG,"");
else
{
Loop(h2, MAX_HOUSES)
{
format(file, sizeof(file), FILEPATH, h != h2);
if(dini_Exists(file) && strcmp(GetHouseOwner(h2), INVALID_HOWNER_NAME, false))
{
if(dini_Int(file, "HouseStorage") >= 1 && IsPlayerConnected(GetHouseOwnerEx(h2)))
{
GivePlayerMoneyEx(playerid, (dini_Int(file, "HouseStorage") + ReturnProcent(GetHouseValue(h2), HOUSE_SELLING_PROCENT)));
}
dini_Set(file, "HouseOwner", INVALID_HOWNER_NAME);
dini_Set(file, "HousePassword", "INVALID_HOUSE_PASSWORD");
dini_Set(file, "HouseName", DEFAULT_HOUSE_NAME);
dini_IntSet(file, "HouseStorage", INVALID_PLAYER_ID);
#if defined GH_USE_MAPICONS
DestroyDynamicMapIcon(HouseMIcon[h]);
HouseMIcon[h] = CreateDynamicMapIcon(dini_Float(file, "CPOutX"), dini_Float(file, "CPOutY"), dini_Float(file, "CPOutZ"), 31, -1, dini_Int(file, "SpawnWorld"), dini_Int(file, "SpawnInterior"), -1, MICON_VD);
#endif
UpdateHouseText(h);
}
}
}
PlayerPlaySound(pl,1057,0.0,0.0,0.0);
KickEx(pl);
}
else SendClientMessage(playerid,COLOR_MSG,STR[playerid,6]);
return 1;
}
