+7 (987) 654 32 10
support@yourwebsite.com
Вход
Регистрация
Список желаний
Главная
Новости
GTA: Chinatown Wars
GTA: San Andreas
GTA 4 Episodes from Liberty City
Grand Theft Auto: IV
Grand Theft Auto: V
San Andreas MultiPlayer
Grand Theft Auto
Новости сайта
Другие игры
Rockstar Games
Обзоры
Другие новости
Архив новостей
Кланы
Файлы
Gamemodes
Filterscripts
Клиенты и сервера
Programs and other
Cleo scripts
Готовые сервера
Темы и курсоры
NPC (Боты)
Plugins / Includes
GTA IV
Модификации для SA-MP
Cheats and hacks
Карты и постройки
Все для uCoz
Форум
Техническая поддержка
Эксклюзив
Игровые моды
Скрипты
Вопросы и проблемы
Скриншоты и видео
Серверы SA-MP
Кланы SA-MP
Модификации для SA-MP
Информация для новичков
Команды
Уроки скриптинга в Pawno
Функции для сервера
Вопросы по скриптингу
Плагины и дополнения
Программы для скриптинга
Фото
GTA 5: Скриншоты
GTA 5: Заставки
SA:MP: Скриншоты
SA:MP: Заставки
GTA 4: Скриншоты
GTA 4: Заставки
GTA Chinatown Wars: Скриншоты
GTA Chinatown Wars: Заставки
GTA San Andreas: Скриншоты
GTA San Andreas: Заставки
NFS Undercover: Скриншоты
NFS Undercover: Заставки
NFS Prostreet: Скриншоты
NFS Prostreet: Заставки
Видео
Инфо
Контактная информация
Авторское право
Юзербары GTA и SA-MP
Обмен баннерами
Гостевая книга
Форум
Главная страница
/
Форум
/
Команды
/
[ZCMD/CMD]Ограбление игрока
Страница
1
из
1
1
Модератор форума:
AlexPPPP
Форум | www.SAMP-TEAM.com
»
Wiki SA-MP
»
Команды
»
[ZCMD/CMD]Ограбление игрока
[ZCMD/CMD]Ограбление игрока
ZioHik
Администратор
831 сообщение
Команда написана на ZCMD + SSCANF2.
Игроку, который грабит, дадим деньги вот так: узнаем сколько денег у того кого грабим, разделим на 100 и результат дадим грабителю.
В команде встроены все необходимые проверки, остальные добавите "на ваш вкус".
Code
cmd(rob,playerid, params[])
{
if(sscanf(params,"d",params[0])) return SendClientMessage(playerid, -1, "Используй: /rob [id]");
if(!IsPlayerConnected(params[0])) return SendClientMessage( playerid, -1, "Игрок не подключен!");
if(GetPlayerState(params[0])!= PLAYER_STATE_ONFOOT || GetPlayerState(playerid)!= PLAYER_STATE_ONFOOT) return SendClientMessage( playerid, -1, "Грабить можно только быдучи пиешеходом.");
if(params[0] == playerid) return SendClientMessage(playerid, -1, "Нельзя грабить самого себя!");
if(GetDistanceBetweenPlayers(playerid, params[0]) > 2) return SendClientMessage(playerid, -1, "Вы слишком далеко!");
if(GetPlayerMoney(params[0]) <= 500) return SendClientMessage(playerid, -1, "У него и так мало денег.");
new summa = (GetPlayerMoney(params[0]) / 100), String[256];
GivePlayerMoney(params[0], -summa); GivePlayerMoney(playerid, summa);
format(String, sizeof String, "Игрок: %s ограблен игроком: %s, на сумму: %d",PlayerName(params[0]),PlayerName(playerid),summa);
SendClientMessageToAll(-1,String);
return true;
}
Обычный вид:
Code
if ( strcmp ( cmd, "/rob", true ) == 0 )
{
new tmp[128] = strtok(cmdtext, idx);
new id = strval(tmp);
if(!id) return SendClientMessage(playerid,0xFFFFFFAA,"Вы не ввели ИД!");
if(!IsPlayerConnected(id)) return SendClientMessage( playerid, -1, "Игрок не подключен!");
if(GetPlayerState(id)!= PLAYER_STATE_ONFOOT || GetPlayerState(playerid)!= PLAYER_STATE_ONFOOT) return SendClientMessage( playerid, -1, "Грабить можно только быдучи пиешеходом.");
if(id == playerid) return SendClientMessage(playerid, -1, "Нельзя грабить самого себя!");
if(GetDistanceBetweenPlayers(playerid, id) > 2) return SendClientMessage(playerid, -1, "Вы слишком далеко!");
if(GetPlayerMoney(id) <= 500) return SendClientMessage(playerid, -1, "У него и так мало денег.");
new summa = (GetPlayerMoney(id) / 100), String[256];
GivePlayerMoney(id, -summa); GivePlayerMoney(playerid, summa);
format(String, sizeof String, "Игрок: %s ограблен игроком: %s, на сумму: %d",PlayerName(id),PlayerName(playerid),summa);
SendClientMessageToAll(-1,String);
return true;
}
Функция определяющая расстояние между игроками:
Code
stock GetDistanceBetweenPlayers(playerid, playerid2)
{
new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z, Float:tmpdis;
GetPlayerPos(playerid,x1,y1,z1); GetPlayerPos(playerid2,x2,y2,z2);
tmpdis = floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
return floatround(tmpdis);
}
Функция определения ника игрока:
Code
PlayerName(playerid)
{
new name[MAX_PLAYER_NAME]; GetPlayerName(playerid,name,sizeof(name));
return name;
}
Автор: InFlueNce a.k.a AppLe
22.08.2012 в 02:15
Форум | www.SAMP-TEAM.com
»
Wiki SA-MP
»
Команды
»
[ZCMD/CMD]Ограбление игрока
Страница
1
из
1
1
Главная страница форума
Сайт SAMP-TEAM
Информация по сайту и форуму
Конкурсы и акции
Техническая поддержка
San Andreas MultiPlayer
Эксклюзив
Новости и статьи
Игровые моды
Скрипты
Вопросы и проблемы
Скриншоты и видео
Серверы SA-MP
Поиск
Кланы SA-MP
Модификации для SA-MP
Wiki SA-MP
Информация для новичков
Команды
Уроки скриптинга в Pawno
Функции для сервера
ID's
Вопросы по скриптингу
Плагины и дополнения
Программы для скриптинга
NPC
MAP's
Multi Theft Auto
Все серии Grand Theft Auto
Grand Theft Auto: V
Grand Theft Auto: IV
GTA: San Andreas
Разное
Скрипты для uCoz
Программирование на php
Ваше творчество
Обо Всём
Музыка
Кино
Флудилка
Корзина
Поиск: