23:35
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: Dima-kun  
Команды
ShokkДата: Понедельник, 09.06.2008, 13:32 | Сообщение # 1
Уверенный в себе
Группа: Продвинутые
Сообщений: 293
Награды: 1
Город: Тюмень
Репутация: 3
Замечания: 60%
Статус:
Сначала пример простой команды

if (!strcmp(cmdtext, "/команда", true, 8)) // 8 - потому что команда состоит из 8 символов
{
/* действие команды */
return 1;
}

Пример команды - /me

Code

if (!strcmp(cmdtext, "/me", true, 3))
{
    if(cmdtext[3] == 0) {
    SendClientMessage(playerid, 0xFF0000FF, "Применение: /me [действие]");
    return 1;
}
    new str[128];
    GetPlayerName(playerid, str, sizeof(str));
    format(str, sizeof(str), "* %s %s", str, cmdtext[4]);
    SendClientMessageToAll(0x30CD30AA, str);
    return 1;
}

Теперь о командах с функцией strtok.
Эта функция используется во многих командах.

cmd = strtok(cmdtext, idx);

if(strcmp(cmd,"/команда",true) == 0)
{
/* действие */
return 1;
}

Пример команды - /kick

Code

if(strcmp(cmd,"/kick",true) == 0) // true/false - игнорировать регистр (true - да, false - нет)
{
new string[256];
tmp = strtok(cmdtext, idx); // tmp - это то что игрок введет после кик (например /kick 4)
if(!strlen(tmp)) // если игрок ввел просто /kick
{
SendClientMessage(playerid,0x33FF33AA,"Применение: /kick [id]");
return 1;
}
giveplayerid = strval(tmp); // giveplayerid - это игрок которого будут кикать
if(IsPlayerAdmin(playerid)) // проверяет является ли игрок админом, если нет - облом
{
SendClientMessage(playerid,0x00AAAAAA,"Tы не админ!");
return 1;
}
if(IsPlayerConnected(giveplayerid))
{
SendClientMessage(playerid,0x00AAAAAA," Игрок не подключен!");
return 1;
}
GetPlayerName(playerid,sendername,sizeof(sendername));
GetPlayerName(giveplayerid,playername,sizeof(playername));
format(string,sizeof(string),"%s кикнул игрока %s.",sendername,playername);
SendClientMessageToAll(0x33FF33AA,string);
Kick(giveplayerid);
return 1;
}

Вот сама функция:

Code

strtok(const string[], &index)
{
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
     index++;
    }

    new offset = index;
    new result[20];
    while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
     result[index - offset] = string[index];
     index++;
    }
    result[index - offset] = EOS;
    return result;
}

Вставляем в самый низ скрипта.



Ginex Rap - Группа "Ginex" В контакте
www.Ginex-Rap.de - Оффициальный сайт группы Ginex.


Сообщение отредактировал V4N0M - Понедельник, 09.06.2008, 16:37
TorresДата: Понедельник, 09.06.2008, 13:41 | Сообщение # 2
Местный
Группа: Продвинутые
Сообщений: 690
Награды: 2
Город: Йошкар-Ола
Репутация: 127
Замечания: 0%
Статус:
Quote (V4N0M)
if(strcmp(cmd,"/kick",true) == 0)
{
new string[256];tmp = strtok(cmdtext, idx); // tmp - это то что игрок введет после кик (например /kick 4)
if(!strlen(tmp)) // если игрок ввел просто /kick
{
SendClientMessage(playerid,0x33FF33AA,"Применение: /kick [id]");
return 1;
}
giveplayerid = strval(tmp); // giveplayerid - это игрок которого будут кикать
if(IsPlayerAdmin(playerid)) // проверяет является ли игрок админом, если нет - облом
{
SendClientMessage(playerid,0x00AAAAAA,"Tы не админ!");
return 1;
}
if (IsPlayerConnected(giveplayerid))
{
SendClientMessage(playerid,0x00AAAAAA," Игрок не подключен!");
return 1;
}
GetPlayerName(playerid,sendername,sizeof(sendername));
GetPlayerName(giveplayerid,playername,sizeof(playername));
format(string,sizeof(string),"%s кикнул игрока %s.",sendername,playername);
SendClientMessageToAll(0x33FF33AA,string);
Kick(giveplayerid);
return 1;
}

Надо не if(IsPlayerAdmin(playerid)),а if(!IsPlayerAdmin(playerid))



[GM-MYSQL-PHP]PEN1:Ultra LS - совместим с samp 0.3
[ADD]MTA map converter
ShokkДата: Понедельник, 09.06.2008, 13:45 | Сообщение # 3
Уверенный в себе
Группа: Продвинутые
Сообщений: 293
Награды: 1
Город: Тюмень
Репутация: 3
Замечания: 60%
Статус:
Quote (Torres)
Надо не if(IsPlayerAdmin(playerid)),а if(!IsPlayerAdmin(playerid))

да. точно
if(IsPlayerAdmin(playerid)) в том случае когда
Code

if(IsPlayerAdmin(playerid))
{
  Kick(giveplayerid);
}
else
{
SendClientMessage(playerid,0xFFFFFFAA,"Tы не админ!");
}




Ginex Rap - Группа "Ginex" В контакте
www.Ginex-Rap.de - Оффициальный сайт группы Ginex.
OrangeДата: Вторник, 10.06.2008, 08:22 | Сообщение # 4
Уважаемый человек
Группа: Продвинутые
Сообщений: 945
Награды: 6
Город: San Fierro
Репутация: 101
Замечания: 0%
Статус:
или еще можно такой вариант:
Code

if(strcmp(cmdtext, "/command", true) == 0)
{
if(IsPlayerAdmin(playerid))
{
/* действие */
} else return SendClientMessage(playerid,COLOR_RED,"Вы не Администратор, чтобы использовать эту команду!");
}





Сообщение отредактировал Mishanzanza - Вторник, 10.06.2008, 08:22
ПетровичДата: Вторник, 10.06.2008, 08:55 | Сообщение # 5
Новенький
Группа: Пользователи
Сообщений: 33
Награды: 1
Город: Новосибирск
Репутация: 2
Замечания: 20%
Статус:
А можите сделать команду,вот если игрок задавит,или убьёт с места шофёра, то его жизни становятся 5% ?
у меня не получается пропесать эту функцию...

ShokkДата: Суббота, 14.06.2008, 16:21 | Сообщение # 6
Уверенный в себе
Группа: Продвинутые
Сообщений: 293
Награды: 1
Город: Тюмень
Репутация: 3
Замечания: 60%
Статус:
Quote (Петрович)
А можите сделать команду,вот если игрок задавит,или убьёт с места шофёра, то его жизни становятся 5% ?
у меня не получается пропесать эту функцию...

В OnPlayerDeath(playerid) вставь:
Code

if(GetPlayerState(killerid) == PLAYER_STATE_DRIVER)
{
     if(reason == 28 || reason == 29 || reason == 32)
     {
         SetPlayerHealth(killerid,5);
         ResetPlayerWeapons(killerid);
         GetPlayerPos(killerid,x,y,z);
         SetPlayerPos(killerid,x,y,z+3);
         SendClientMessage(killerid,0xFFFF00AA,"B следующий раз - лопатой по голове!");
     }
}




Ginex Rap - Группа "Ginex" В контакте
www.Ginex-Rap.de - Оффициальный сайт группы Ginex.
KrovKopДата: Воскресенье, 15.06.2008, 19:08 | Сообщение # 7
Освоившийся
Группа: Продвинутые
Сообщений: 95
Награды: 1
Город: OdeSSa
Репутация: 4
Замечания: 20%
Статус:
V4N0M, а где можно просмотреть все reason?o_o
Ато я вставил это функцию, а мну вертолем рубили как хотели оО



Я мало шарю, но творю :)
Vinewood TDM 0.1 - работа кипит (72%)
P.S. Спасибо всем кто помогает)
KrovKop aka BuTbKA


Сообщение отредактировал KrovKop - Воскресенье, 15.06.2008, 19:12
ShokkДата: Понедельник, 16.06.2008, 13:10 | Сообщение # 8
Уверенный в себе
Группа: Продвинутые
Сообщений: 293
Награды: 1
Город: Тюмень
Репутация: 3
Замечания: 60%
Статус:
Так reason - это и есть ID'ы оружия. А посмотреть их можно в:

1) SAMP TextBooks (на сайте есть)
2) Инклуд a_samp.inc там есть все иды оружия

Quote (KrovKop)
Ато я вставил это функцию, а мну вертолем рубили как хотели оО

Так эта функция действует только на ID'ы ламоганов (UZI, Tec9, MP5). А чтоб от верта.. ну там есть в a_samp.inc дефайн WEAPON_VEHICLE




Ginex Rap - Группа "Ginex" В контакте
www.Ginex-Rap.de - Оффициальный сайт группы Ginex.


Сообщение отредактировал V4N0M - Понедельник, 16.06.2008, 13:13
[UTP]sparkerДата: Вторник, 17.06.2008, 10:44 | Сообщение # 9
Уверенный в себе
Группа: Продвинутые
Сообщений: 196
Награды: 1
Репутация: 32
Замечания: 0%
Статус:
Quote (Torres)
Надо не if(IsPlayerAdmin(playerid)),а if(!IsPlayerAdmin(playerid))

Т.к. IsPlayerAdmin возвращает 1,если игрок админ,и 0,если нет, можно и:
if(IsPlayerAdmin(playerid)==0) - проверка.если игрок НЕ админ.
if(IsPlayerAdmin(playerid)==1) - проверка.если игрок админ.



Мои разработки:
[FS]Часы
[FS]Время+дата
[GM]Захват флага
[GM]Skyland
[GM]SFTDM


Сообщение отредактировал [UTP]sparker - Вторник, 17.06.2008, 10:45
KrovKopДата: Среда, 18.06.2008, 22:29 | Сообщение # 10
Освоившийся
Группа: Продвинутые
Сообщений: 95
Награды: 1
Город: OdeSSa
Репутация: 4
Замечания: 20%
Статус:
V4N0M, спасибо.


Я мало шарю, но творю :)
Vinewood TDM 0.1 - работа кипит (72%)
P.S. Спасибо всем кто помогает)
KrovKop aka BuTbKA
riverДата: Суббота, 21.06.2008, 16:03 | Сообщение # 11
Уверенный в себе
Группа: Продвинутые
Сообщений: 284
Награды: 1
Город: Москва
Репутация: 37
Замечания: 0%
Статус:
Выложите кто нить команду на смену времени /settime а то найти никак не могу (


xXxAXExXxДата: Воскресенье, 24.01.2010, 20:31 | Сообщение # 12
Новенький
Группа: Пользователи
Сообщений: 18
Награды: 1
Город: ы
Репутация: -6
Замечания: 0%
Статус:
А как сделать, чтобы здоровье у игрока замораживалось ? Т.е например вводиш команду, и здоровье замораживаеться, и при любых падениях (даже /skydive здоровье было полным, т.е не отнималось).


217.70.119.180:7777 - Smart Life Role Play
_GreenDeR_Дата: Воскресенье, 24.01.2010, 20:48 | Сообщение # 13
Группа: I'm V.I.P.
Сообщений: 640
Награды: 23
Город: Нет на Карте
Репутация: 599
Замечания: 60%
Статус:
xXxAXExXx, всмысле? годмод? crazy


Интернет-магазин STEAM-KEY лицензионных ключей steam по низким ценам
SаintДата: Воскресенье, 24.01.2010, 23:03 | Сообщение # 14
Постоялец
Группа: Продвинутые
Сообщений: 316
Награды: 10
Город: Rossosh
Репутация: 110
Замечания: 0%
Статус:
xXxAXExXx, испозуй

Code

[b]SetPlayerHealth(playerid, 99999.0);[/b]



My profile on vicecitymultiplayer.com
My profile on sa-mp.com
Public Enemy No.1 - ULTIMATE

Группа сервера в ВКонтакте

Vice City Multiplayer
Dima-kunДата: Воскресенье, 24.01.2010, 23:11 | Сообщение # 15
Группа: Разработчики
Сообщений: 6269
Награды: 72
Репутация: 3512
Замечания: 0%
Статус:
Quote (Sаint)
SetPlayerHealth(playerid, 99999.0);

кхм
SetPlayerHealth(playerid, 99999);

это тупо год-мод включит, а можно сделат ьчтобы потом, когда выключаешь год, мод здоровье восстанавливалось на то что было до годмода


Мои работы:
[INC] Сборник d_includes [LAST],[FS] New Demage Effect,[FS]Авто-Поворотники,
[FS]mp3player,[FS] Fun Chat Game,[FS] Car Buy Syst,[FS] Anti-AirBrk,[INC] d_setpos,
[GM] Game Move v0.1,[FS+include]Super-Armour [0.3z],[FS + Include] Multi Checkpoints
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua