Поиск
 
 

Результаты :
 


Rechercher Расширенный поиск

Аккаунты | Вирты | Все сервера CRMP-RP

Вс Авг 14, 2016 12:15 am автор Прародитель форума

Рекомендуем отличную группу по продаже виртов на серверах CRMP RP. Быстрая доставка, хорошие отзывы, активные продавцы, не дорогие цены.
https://vk.com/donate_crmp_rp

Комментарии: 0

Последние темы
» интерьер мэрии
Сб Авг 27, 2016 2:49 am автор Прародитель форума

» интерьер фсб
Сб Авг 27, 2016 2:38 am автор Прародитель форума

» колесо обозрение
Чт Авг 25, 2016 2:40 am автор Прародитель форума

» система установки мигалки
Чт Авг 25, 2016 2:36 am автор Прародитель форума

» салон гопкар
Чт Авг 25, 2016 2:32 am автор Прародитель форума

» выдыхание пара
Чт Авг 25, 2016 2:29 am автор Прародитель форума

» онлайн рекорд
Чт Авг 25, 2016 2:25 am автор Прародитель форума

» сгорание колес
Чт Авг 25, 2016 2:22 am автор Прародитель форума

» система викторины
Чт Авг 25, 2016 2:19 am автор Прародитель форума


система кейсов

Перейти вниз

система кейсов

Сообщение автор Прародитель форума в Вс Авг 14, 2016 12:57 pm

В начало мода:
#define MAX_CASE 50 // Лимит на кейсы.

enum caseInfo
{
Float:csX,
Float:csY,
Float:csZ,
csMoney,
csObject
}
new CaseInfo[MAX_CASE][caseInfo];
new TOTALCASE;

Ко всем командам:
CMD:putmoney(playerid, params[])
{
if(gPlayerLogged[playerid] == 0) return true; // Проверка на авторизацию. (Может быть другая)
if(PlayerInfo[playerid][pLevel] < 3) return SendClientMessage(playerid, -1, "Выкладывать деньги можно с 3-ого уровня."); // Можете убрать проверку на то,с какого уровня выкидывать деньги. (PlayerInfo[playerid][pLeve] меняем под себя)
if(GetPVarInt(playerid, "PlayerCase") == 0) return SendClientMessage(playerid, -1, "У Вас нет чемодана для денег!"); // Проверка на чемодан. (Сделайте покупку в магазине или уберите проверку).
if(TOTALCASE >= MAX_CASE) return SendClientMessage(playerid, -1, "Превышен лимит выбрасываемых кейсов."); // Проверка на лимт кейсов.
if(GetPVarInt(playerid,"AntiFlood") > gettime()) return SendClientMessage(playerid, -1, "Нельзя так часто выкидывать деньги!"); // Антифлуд
if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1, "Взять деньги находясь в машине - нельзя."); // Проверка на нахождение игрока в машине
if(sscanf(params, "d", params[0])) return SendClientMessage(playerid, -1, "Используйте: /putmoney [сумма]");
if(params[0] < 1 || params[0] > PlayerInfo[playerid][pMoney]) return SendClientMessage(playerid, -1,"У Вас недостаточно денег на руках."); // Проверка на деньги (PlayerInfo[playerid][pMoney] меняйте под себя).
new i = TOTALCASE,string[128];
TOTALCASE++;
GetPlayerPos(playerid, CaseInfo[i][csX], CaseInfo[i][csY], CaseInfo[i][csZ]); // УЗнаём позицию
CaseInfo[i][csObject] = CreateDynamicObject(1210, CaseInfo[i][csX], CaseInfo[i][csY]+1.0, CaseInfo[i][csZ]-0.87, 0.0, 0.0, 0.0, -1, -1, -1, 300.0), RemovePlayerAttachedObject(playerid, 4); // Создаём кейс
RemovePlayerAttachedObject(playerid, 5); // Удаляем кейс из рук
PlayerInfo[playerid][pMoney] -= params[0], CaseInfo[i][csMoney] = params[0]; // Снимаем деньги (PlayerInfo[playerid][pMoney] меняйте под себя)
if(CaseInfo[i][csMoney] >= 100000) format(string, sizeof(string), "[A] Игрок %s[%d] только что положил чемодан с %d$", Player[playerid][pName], playerid, CaseInfo[i][csMoney]), ABroadCast(0xAAAAAAFF, string, 1); // Если игрок выкинул чемодан с боле чем 100.000$ то оповещаем администрацию. (ABroadCast у вас может быть другой).
SetPVarInt(playerid,"AntiFlood",gettime() + 30), DeletePVar(playerid, "PlayerCase"); // Создаём антифлуд + удаляем значение что у нас есть чемодан.
format(string,sizeof(string),"Вы положили чемодан с %d$", params[0]),SendClientMessage(playerid, -1, string);
return true;
}

CMD:pickmoney(playerid, params[])
{
if(gPlayerLogged[playerid] == 0) return true; // Проверка на авторизацию. (Может быть другая)
if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1, "Положить деньги находясь в машине - нельзя."); // Проверка на нахождение игрока в машине
new cas,string[128]; // Создаём переменные
for(new i = 0; i <= TOTALCASE; i++) // Создаём цикл
{
if(IsPlayerInRangeOfPoint(playerid, 3.0, CaseInfo[i][csX], CaseInfo[i][csY], CaseInfo[i][csZ])) // Создаём проверку на нахождение рядом с кейсом
{ // Если кейсов рядом,то продолжаем.
cas++,TOTALCASE--,SetPlayerAttachedObject(playerid, 5, 1210, 5, 0.272000,0.073000,-0.045000, 0.000000,-83.099998,0.000000),SetPVarInt(playerid, "PlayerCase", 1), DestroyDynamicObject(CaseInfo[i][csObject]); // Функции)
format(string,sizeof(string),"Вы подобрали чемодан с %d$", CaseInfo[i][csMoney]),SendClientMessage(playerid, -1, string);
if(CaseInfo[i][csMoney] >= 100000) format(string, sizeof(string), "[A] Игрок %s[%d] только что подобрал чемодан с %d$", PlayerInfo[playerid][pName], playerid, CaseInfo[i][csMoney]), ABroadCast(0xAAAAAAFF, string, 1); // Если игрок поднял чемодан с более чем 100.000$ то оповещаем администрацию. (Вместо ABroadCast может быть SendAdminMessage и т.д),а также вместо PlayerInfo[playerid][pName] ставим своё.
PlayerInfo[playerid][pMoney] += CaseInfo[i][csMoney]; // ПРибавляем кол-во денег с кейса. PlayerInfo[playerid][pMoney] меняем под себя.
CaseInfo[i][csX] = 0.0, CaseInfo[i][csY] = 0.0, CaseInfo[i][csZ] = 0.0; // Убираем найденный кейс.
break;
} // Если кейса рядом нет,то ничего не делаем
}
if(cas == 0) SendClientMessage(playerid, -1, "Рядом с вами нет чемодана!");
return true;
}



автор:Admin

Прародитель форума
Прародитель форума

Сообщения : 67
Очки : 2514
Репутация : 0
Дата регистрации : 2016-08-13

Посмотреть профиль http://allforcrmp.forum2x2.ru

Вернуться к началу Перейти вниз

Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения