Активный
- Тема Автор
- #1
Идея и назначение
Игрок может собирать ресурсы в определённой зоне, получая предметы или деньги.
Подходит для шахты, лесопилки и других работ.
Суть реализации
1. Задаём координаты точки сбора.
2. Команда /gather проверяет нахождение в зоне.
3. При успешном сборе выдаём ресурс и ставим небольшой откат.
Реализация
Дополнительные идеи
1. Делать разные зоны с разными ресурсами.
2. Выдавать предметы вместо денег.
3. Ограничить общее количество сборов в день.
Игрок может собирать ресурсы в определённой зоне, получая предметы или деньги.
Подходит для шахты, лесопилки и других работ.
Суть реализации
1. Задаём координаты точки сбора.
2. Команда /gather проверяет нахождение в зоне.
3. При успешном сборе выдаём ресурс и ставим небольшой откат.
Реализация
Код:
#define MINE_X 1000.0
#define MINE_Y -1000.0
#define MINE_R 5.0
new GatherCooldown[MAX_PLAYERS];
CMD:gather(playerid)
{
new t = GetTickCount();
if(t - GatherCooldown[playerid] < 5000)
return SendClientMessage(playerid, -1, "Нужно подождать перед следующим сбором.");
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
new Float:dx = x - MINE_X;
new Float:dy = y - MINE_Y;
if(floatsqroot(dx * dx + dy * dy) > MINE_R)
return SendClientMessage(playerid, -1, "Ты не в зоне сбора ресурсов.");
GatherCooldown[playerid] = t;
GivePlayerMoney(playerid, 200);
SendClientMessage(playerid, -1, "Ты добыл ресурсы и получил 200$.");
return 1;
}
Дополнительные идеи
1. Делать разные зоны с разными ресурсами.
2. Выдавать предметы вместо денег.
3. Ограничить общее количество сборов в день.