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

 



 
          





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





Последние Файлы 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 из 1
  • 1
Модератор форума: Alcoholik  
Небольшой вопросик!
msДата: Вторник, 01.04.2008, 07:53 | Сообщение # 1
Освоившийся
Группа: Продвинутые
Сообщений: 99
Награды: 1
Город: Бабруйск =))
Репутация: 14
Замечания: 0%
Статус:
Парни мне тут надо сделать сокращение команды /there на /t . Я бы мог поставить /t ЗАМЕСТО /there , но мне надо что бы работала команда и /t и /there. Я предполагаю , как это сделать , но точно не знаю. Может с помощью знака левое равно правому? Или знака "или"? Я вроде всё пробовал , чот не выходит. Помогите слегка! Легкий способ заработать плюсег)) :)
Зы вот команда
Code

new string[256];
new PlayerName[MAX_PLAYER_NAME];
if(IsPlayerInSphere(playerid, 1935.0865,-1778.3604,19.6330,2))
if(strcmp(cmdtext, "/there" , true) == 0) {
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
format(string, sizeof(string), "*Команда игрока %s захватила бензу!*", PlayerName);
SendClientMessageToAll(0x33AA33AA, string);
return 1;
}

VagrantДата: Вторник, 01.04.2008, 08:32 | Сообщение # 2
Уважаемый человек
Группа: I'm V.I.P.
Сообщений: 904
Награды: 21
Город: Находка
Репутация: 489
Замечания: 0%
Статус:
Чё-то я мучился но так у меня и не получилось то что ты хотел. Если я правельно понял. Ну вот как я сделал думаю другого выхода больше нет. Если кто знает другой более короткий вариант пишите очень интересно будет посмотреть.
Мой:
Code

     new string[256];
     new PlayerName[MAX_PLAYER_NAME];
     if(IsPlayerInSphere(playerid, 1935.0865,-1778.3604,19.6330,2))
     if(strcmp(cmdtext, "/there", true) == 0)
    {
     GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
     format(string, sizeof(string), "*Команда игрока %s захватила бензу!*", PlayerName);
     SendClientMessageToAll(0x33AA33AA, string);
     return 1;
    }
      if(IsPlayerInSphere(playerid, 1935.0865,-1778.3604,19.6330,2))
      if(strcmp(cmdtext, "/t", true) == 0)
    {
     GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
     format(string, sizeof(string), "*Команда игрока %s захватила бензу!*", PlayerName);
     SendClientMessageToAll(0x33AA33AA, string);
     return 1;
    }

Но я считаю проще было бы сделать только одну команду это "/t" какой придурок будет вводить полную команду. Надо иметь свой стиль создания модов я считаю. Есть моды в которых тупо пишут 2 команды. Хотя все вводят 1 самую короткую. И вот ещё я заметил что ты делаешь мод в котором будут захваты территории. Если игроки которые напали на территорию всех завалили на ней то я думаю им будет просто ввести команду "/there" и им ничего не будет мешать и никто)). А так то зачем игроку вводить /there длинное слово когда по нему палят со всех сторон те чья это территория если он может подбежать ввести /t и всё))). И так канешно будут все только /t вводить. А вторую команду которую ты хочешь сделать /there она просто будет тупо висеть в скрипте.



Человек учась ходить падает, и только падая, он учится ходить!
Мои работы:
[GM] W.F.S.A. V. 1.0 - 100%
[GM] San Fierro Enigmatic (TDM) V. 1.0 - 100%
[FS] Clan House V. 1.0 - 100%
[FS] Save Car Tun System V. 1.0 - 100%
[FS] Vagrant Anti-CapsLock V. 2.1 - 100%
[FS] Vagrant Anti-Advertise V. 1.1, V. 2.0 - 100%
[APP] SA-MP Interior Viewer V. 1.0 - 100%

Принимаю заказы на помощь в скриптинге!


Сообщение отредактировал Vagrant - Вторник, 01.04.2008, 09:20
EKupДата: Вторник, 01.04.2008, 10:16 | Сообщение # 3
Освоившийся
Группа: Продвинутые
Сообщений: 75
Награды: 2
Город: Ульяновск
Репутация: 10
Замечания: 0%
Статус:
Code
new string[256];  
new PlayerName[MAX_PLAYER_NAME];  
if(IsPlayerInSphere(playerid, 1935.0865,-1778.3604,19.6330,2))  
if((strcmp(cmdtext, "/there" , true) == 0) ||
    (strcmp(cmdtext, "/t" , true) == 0)) {  
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));  
format(string, sizeof(string), "*Команда игрока %s захватила бензу!*", PlayerName);  
SendClientMessageToAll(0x33AA33AA, string);  
return 1;  
}

все просто :)
Как вариант, можно еще сделать, чтобы эти команды работали даже если игрок набрал их в неверной раскладке(у мну на серве все команды так сделаны):
Code
new string[256];  
new PlayerName[MAX_PLAYER_NAME];  
if(IsPlayerInSphere(playerid, 1935.0865,-1778.3604,19.6330,2))  
if((strcmp(cmdtext, "/there" , true) == 0) ||
    (strcmp(cmdtext, "/еруку" , true) == 0) ||
    (strcmp(cmdtext, "/t" , true) == 0) ||
(strcmp(cmdtext, "/е" , true) == 0)) {  
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));  
format(string, sizeof(string), "*Команда игрока %s захватила бензу!*", PlayerName);  
SendClientMessageToAll(0x33AA33AA, string);  
return 1;  
}



Текущая версия ERPG GM: 2.7.0 RC1(03.10.2009)
http://3val.ru/games/samp/changelistServ.php
VagrantДата: Вторник, 01.04.2008, 11:33 | Сообщение # 4
Уважаемый человек
Группа: I'm V.I.P.
Сообщений: 904
Награды: 21
Город: Находка
Репутация: 489
Замечания: 0%
Статус:
Млин точно. Я тоже как-то пытался эту строку добавить
Code
if((strcmp(cmdtext, "/there" , true) == 0)
только добовлял с if и без || или.)

Добавлено (01.04.2008, 11:33)
---------------------------------------------
А блин там ещё скобки. Мля я бы до такого не додумался))


Человек учась ходить падает, и только падая, он учится ходить!
Мои работы:
[GM] W.F.S.A. V. 1.0 - 100%
[GM] San Fierro Enigmatic (TDM) V. 1.0 - 100%
[FS] Clan House V. 1.0 - 100%
[FS] Save Car Tun System V. 1.0 - 100%
[FS] Vagrant Anti-CapsLock V. 2.1 - 100%
[FS] Vagrant Anti-Advertise V. 1.1, V. 2.0 - 100%
[APP] SA-MP Interior Viewer V. 1.0 - 100%

Принимаю заказы на помощь в скриптинге!
msДата: Вторник, 01.04.2008, 11:59 | Сообщение # 5
Освоившийся
Группа: Продвинутые
Сообщений: 99
Награды: 1
Город: Бабруйск =))
Репутация: 14
Замечания: 0%
Статус:
EKup, cпс. Я так и думал сделать вообщем. Только строчку не переносил , вот в чём проблема была)
EKupДата: Вторник, 01.04.2008, 14:30 | Сообщение # 6
Освоившийся
Группа: Продвинутые
Сообщений: 75
Награды: 2
Город: Ульяновск
Репутация: 10
Замечания: 0%
Статус:
а строку переносить не обязательно. Да и скобки лишние ставить необязательно.
В принципе, можно сделать так:
Code
if(strcmp(cmdtext, "/there" , true) == 0 || strcmp(cmdtext, "/еруку" , true) == 0 || strcmp(cmdtext, "/t" , true) == 0 || strcmp(cmdtext, "/е" , true) == 0) { //блаблабла

все в одну строку.
Но так коряво больно выглядит



Текущая версия ERPG GM: 2.7.0 RC1(03.10.2009)
http://3val.ru/games/samp/changelistServ.php
msДата: Вторник, 01.04.2008, 17:27 | Сообщение # 7
Освоившийся
Группа: Продвинутые
Сообщений: 99
Награды: 1
Город: Бабруйск =))
Репутация: 14
Замечания: 0%
Статус:
Ну значит другие косяки были... Факт в том , что я знак "||" пробовал
  • Страница 1 из 1
  • 1
Поиск:





 


 


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