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

 



 
          





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





Последние Файлы 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
Модератор форума: AXE, Weddew  
[Архив #2] Вопросы ответы по SAMP [от 11.01.2012]
ВеликсДата: Среда, 11.01.2012, 23:37 | Сообщение # 1
Мастер джэдай
Группа: Модераторы
Сообщений: 3931
Награды: 287
Город: Мухосранск
Репутация: 8429
Замечания: 0%
Статус:
[move]-= Вопрос | Ответ =-[/move]

В этой теме вы сможете получить ответы, на многие ваши вопросы по PAWN.


Новичкам:


  • Внятно объясняйте вашу проблему, если вы получили ошибку, обязательно выкладывайте строки, на которые "ругается" компилятор.
  • Помощь идет только по желанию пользователя, если вам человек помог вам только частично, не нужно начинать поливать его грязью.
  • Возможно тип вашей проблемы уже обсуждался на форуме, воспользуйтесь поиском.
  • В этой теме пользователи лишь оказывают помощь в написании кода, а не пишут его за вас. (!!!)
  • Если вы хотите отблагодарить пользователя, жмите на кнопку . (Только для продвинутых, и выше)
  • Если вы уже задавали вопрос, и не получили на него ответа, лучше напишите в ЛС одному, из участников группы Support, чем зафлуживать тему.


Скриптерам:

  • Не оскорблять новичков.
  • Не флудить сообщениями, подобных "Закрой PAWNO и иди делай уроки".
  • Не посылать в поиск. Юзер итак уже пришёл сюда из поиска. Если решение проблемы уже было опубликовано, то указать в какой теме
  • Как можно понятней объяснять решение той, или иной проблемы, по возможности приводить примеры.



[cut=freestyle]
ПРИНЕСЛА СОРОКА В РОТЕ ПРИВОРОТ ,
СВЯЗАЛАСЬ НА ШЕЕ ЛОЗА И БЫЛ ПОЛНЫЙ ПИ**ЕЦ,
ОСЕНЬ С ЗИМОЙ, ЛЕТО С ВЕСНОЙ,
ГУСЬ С ЛИСОЙ, ЕБ**ИСЬ ВО ТЬМЕ НОЧНОЙ.
УЗЕЛ ЗАВЯЗАЛСЯ, ПЕПЕЛ РАЗМЕТАЛСЯ И ЛИСА ЗАБЕРЕМЕНЕЛА.
ВМЕСТЕ ВЕК ВЕКОВАТЬ, ПУТУ НЕ РАЗВЯЗАТЬ.
ТРАВА ПЕРЕПЛЕТИСЬ, УЗЕЛ ЗАВОРОЖИСЬ.
ЛЕНАРУ ДАЙ УМА И ЛЕНУ
НА ВЕЛЕ НЕ ОТРАЗИСЬ,ЕБ*СЬ ЕБ*СЬ ЕБ*СЬ
© Хасан
[/cut]


Сообщение отредактировал Weddew - Понедельник, 09.06.2014, 03:17
GeryyДата: Понедельник, 10.12.2012, 08:33 | Сообщение # 5311
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
Quote (artemganin1999)
Откат в том смысле чтобы например игрок пишет в чат /o h1 all , если он еще раз введет ту у него будет написано что "Вы можете написать в чат через столько то секунд" а то флуд создается


Ну как-то так - откат на 30 сек:
Code

//в начало мода
     new ChatPauseTime[MAX_PLAYERS];
//команда
      //----------------------------------[ooc]-----------------------------------------------
    if(strcmp(cmd, "/o", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(gPlayerLogged[playerid] == 0)
            {
                SendClientMessage(playerid, COLOR_GREY, " Вы не залогинены!");
                return 1;
            }
      if ((noooc) && PlayerInfo[playerid][pAdmin] < 1)
      {
       SendClientMessage(playerid, COLOR_PURPLE, "* OOC чат отключен!");
       return 1;
      }
      new tick = GetTickCount() - ChatPauseTime[playerid]; //проверка на откат
      if(tick <= 30000)                    //проверка на откат
      {
       new strleg[128];
       format(strleg,sizeof(strleg),"Вы можете написать в чат через %d секунд.",30 - floatround((tick)/1000, floatround_floor));
       SendClientMessage(playerid,COLOR_RED,strleg);
       return 1;
      }
      GetPlayerName(playerid, sendername, sizeof(sendername));
      new length = strlen(cmdtext);
      while ((idx < length) && (cmdtext[idx] <= ' '))
      {
       idx++;
      }
      new offset = idx;
      new result[64];
      while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
      {
       result[idx - offset] = cmdtext[idx];
       idx++;
      }
      result[idx - offset] = EOS;
      if(!strlen(result))
      {
       SendClientMessage(playerid, COLOR_GRAD2, " Используйте: (/o) [chat]");
       return 1;
      }
      if(PlayerInfo[playerid][pMuted] == 1)
      {
       SendClientMessage(playerid, TEAM_CYAN_COLOR, "Администратор отнял у вас возможность говорить в общем чате.");
       return 1;
      }
      spaceGroupsToSpaces(result);
      trimSideSpaces(result);
      new word[256],Index;while(Index < strlen(result)) { // проверка сообщения на рекламу серверов и ее вырезание
      word = strtok(result,Index);
      if(Adv(word)==1||ZP(word)||U(word)||T(word)||N(word)||PP(word)||P(word)||V(word)||R(word)||PL(word)||ZV(word)||I(word)||ST(word)||PR(wo rd )||DL(word)||RE(word)||VOC(word)||A(word)||NO(word)||TCZ(word)||BOP(word)){
        new i=strfind(result,word),j=i+strlen(word)-1; result[i++]='[';
        while(i<j) {result[i]='|';i++;}
        result[j]=']';
        BanEx(playerid, " Попытка рекламы сервера");
       }
       }
      realafk[playerid] = 1;
      ChatPauseTime[playerid] = GetTickCount();
      format(string, sizeof(string), "(( %s[%d]: %s ))", sendername, playerid, result);
      OOCOff(COLOR_OOC,string);
      printf("%s", string);
     }
     return 1;
    }


Добавлено (10.12.2012, 08:33)
---------------------------------------------
Quote (belani2006)
"коллбэке таймера - действие" - можно по подробнее с этого момента пожалуйста)


При коннекте игрока в public OnPlayerConnect(playerid) или при первом спавне или когда надо создается таймер для игрока на 20 мин:
Code

//В начало мода:
new KillTimeForCMD[MAX_PLAYERS];

//Сам таймер   
KillTimeForCMD[playerid] = SetTimerEx("TimeForCMD", 1200000, 0, "i", playerid);

//коллбэк таймера
forward TimeForCMD(playerid);
public TimeForCMD(playerid)
{
    SendClientMessage(playerid, COLOR_YELLOW, " Вы не ввели нужную команду!");
    Kick(playerid);
    return 1;
}
//команда которую нужно ввести
if (strcmp(cmdtext, "/название", true) == 0)
{
       SendClientMessage(playerid, COLOR_YELLOW, " Ввод команды подтвержден!");
       KillTimer(KillTimeForCMD[playerid]); //убиваем таймер досрочно
       return 1;
}



Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.

Сообщение отредактировал Geryy - Понедельник, 10.12.2012, 08:34
4o_kavoДата: Понедельник, 10.12.2012, 09:40 | Сообщение # 5312
Постоялец
Группа: I'm V.I.P.
Сообщений: 354
Награды: 2
Город: Красноярск
Репутация: 216
Замечания: 0%
Статус:
Всем привет :)
Подскажите, где можно найти хороший анти-мат (или как по другому назвать) Для чата, например если игрок написал мат или любое оскорбительное слово в чат у него чат блокировался минут на 15 ?



-=»>Русский Дрифт Серввер «<=- IP: 176.32.36.131:7777

GTA-Rus.com - Grand Theft Auto
belani2006Дата: Понедельник, 10.12.2012, 09:44 | Сообщение # 5313
Новенький
Группа: Пользователи
Сообщений: 44
Награды: 0
Город: Санкт-Петербург
Репутация: -9
Замечания: 0%
Статус:
Quote (Weddew)
SetTimerEx

Мне это ничего не дает абсолютно. Мне нужен код, который будет проверять, вводилась ли у игрока команда или нет. Код примерно такой: Проверка на команду /команда - если вводилась, то выдается сообщение, если нет, то кикает с сервера. Все это под таймером, который будет проверять это в течение 20 минут.

Добавлено (10.12.2012, 09:44)
---------------------------------------------
Точнее, если команда не вводилась в течение 20 минут, то по окончанию таймера на 20 минут - его кикает

artemganin1999Дата: Понедельник, 10.12.2012, 10:30 | Сообщение # 5314
Уверенный в себе
Группа: Пользователи
Сообщений: 184
Награды: 0
Репутация: -28
Замечания: 0%
Статус:
Quote (Geryy)
Ну как-то так - откат на 30 сек:

При добавлениии new ChatPauseTime[MAX_PLAYERS]; в начало мода , pawno вообще вылетает тут же pawnncc.exe ошибка приложения , а при дабавлении самого таймера вот это
Code
C:\Documents and Settings\1\Рабочий стол\Новая папка (12)\gamemodes\RPG.pwn(4902) : warning 213: tag mismatch
C:\Documents and Settings\1\Рабочий стол\Новая папка (12)\gamemodes\RPG.pwn(22144) : error 017: undefined symbol "ChatPauseTime"
C:\Documents and Settings\1\Рабочий стол\Новая папка (12)\gamemodes\RPG.pwn(22144) : warning 215: expression has no effect
C:\Documents and Settings\1\Рабочий стол\Новая папка (12)\gamemodes\RPG.pwn(22144) : error 001: expected token: ";", but found "]"
C:\Documents and Settings\1\Рабочий стол\Новая папка (12)\gamemodes\RPG.pwn(22144) : error 029: invalid expression, assumed zero
C:\Documents and Settings\1\Рабочий стол\Новая папка (12)\gamemodes\RPG.pwn(22144) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664     Copyright (c) 1997-2006, ITB CompuPhase

4 Errors.


GeryyДата: Понедельник, 10.12.2012, 13:23 | Сообщение # 5315
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
Quote (belani2006)
Точнее, если команда не вводилась в течение 20 минут, то по окончанию таймера на 20 минут - его кикает

Написал же тебе выше mda Сообщение # 5311

Quote (artemganin1999)
При добавлениии new ChatPauseTime[MAX_PLAYERS]; в начало мода , pawno вообще вылетает тут же pawnncc.exe ошибка приложения , а при дабавлении самого таймера вот это

Ну не буквально в самое начало, ко всем остальным new.

Я тебе таймер не давал, только команду.



Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
artemganin1999Дата: Понедельник, 10.12.2012, 13:42 | Сообщение # 5316
Уверенный в себе
Группа: Пользователи
Сообщений: 184
Награды: 0
Репутация: -28
Замечания: 0%
Статус:
Quote (Geryy)
Ну не буквально в самое начало, ко всем остальным new.

Я тебе таймер не давал, только команду.

Про таймер я не понял, а вот new я вставил где все остальные new стоят

belani2006Дата: Понедельник, 10.12.2012, 14:14 | Сообщение # 5317
Новенький
Группа: Пользователи
Сообщений: 44
Награды: 0
Город: Санкт-Петербург
Репутация: -9
Замечания: 0%
Статус:
Quote (Geryy)
Написал же тебе выше Сообщение # 5311

Извиняюсь, не увидел. Спасибо огромное!

Добавлено (10.12.2012, 14:02)
---------------------------------------------
Кстати, выдает две ошибки: error 010: invalid function or declaration , вторая такая же. В этих строках: if (strcmp(cmdtext, "/название", true) == 0) и return 1;

Добавлено (10.12.2012, 14:14)
---------------------------------------------
А, все, спасибо, разобрался.

GeryyДата: Понедельник, 10.12.2012, 14:30 | Сообщение # 5318
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
Quote (artemganin1999)
Про таймер я не понял, а вот new я вставил где все остальные new стоят

Если не получается вставить самостоятельно, кидай мод в архиве в ПМ - сделаю я.

Quote (belani2006)
Кстати, выдает две ошибки: error 010: invalid function or declaration , вторая такая же. В этих строках: if (strcmp(cmdtext, "/название", true) == 0) и return 1;

Я дал команду для примера, используй как сделаны команды в твоем моде: просто вставь туда код из команды, которую я написал.

Добавлено (10.12.2012, 14:30)
---------------------------------------------

Quote (4o_kavo)
Подскажите, где можно найти хороший анти-мат (или как по другому назвать) Для чата, например если игрок написал мат или любое оскорбительное слово в чат у него чат блокировался минут на 15 ?

Поищи на форуме Фс называется AntiSwear, и сделай там вместо звездочек - муте на время.



Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
the_poksДата: Среда, 12.12.2012, 14:28 | Сообщение # 5319
Новенький
Группа: Пользователи
Сообщений: 20
Награды: 1
Город: Freiburg
Репутация: 0
Замечания: 0%
Статус:
Quote (the_poks)
Это гавно нифига не пашет только ид кнопки при нажатии показывает. Киньте нормальные Атач объектов для игрока ну и для машин..

suicide2 suicide2 suicide2



Изучаю павно , ваши вопросы , притензии не к чему :)
Faraon4ikДата: Среда, 12.12.2012, 23:56 | Сообщение # 5320
Новенький
Группа: Пользователи
Сообщений: 9
Награды: 0
Репутация: 6
Замечания: 0%
Статус:
Прошу подсказать как сделать что бы определённая команда работала в определённое время?
Т.е. пример:

Вожу я: /help
Пишет: Команда доступна с 21-00 до 07-00.
Ну суть думаю ясна....

LatronДата: Четверг, 13.12.2012, 00:05 | Сообщение # 5321
Группа: I'm V.I.P.
Сообщений: 2115
Награды: 22
Город: Орел
Репутация: 1604
Замечания: 0%
Статус:
Faraon4ik,

Code

new Hours, Minutes, Seconds;
gettime( Hours, Minutes, Seconds );
if( hours >= 9 && hours < 24 )
       return SendClientMessage( playerid, -1, "Работает с 9 до 24 часов!" );
// Действие

Пример команды:
Code

if( strcmp( cmdtext, "/help" , true ) )
{
  new Hours, Minutes, Seconds;
  gettime( Hours, Minutes, Seconds );
  if( hours >= 9 && hours < 24 )
   return SendClientMessage( playerid, -1, "Работает с 9 до 24 часов!" );
  SendClientMessage( playerid, -1, "Команда /help сработает" );
  return true;
}



Моё портфолио

Мои работы:
[ Lesson ] Операторы в PAWN.
[ Lesson ] Переменная.
[ GM ] RegSys. ( Last update: 21.04.2012 )




Сообщение отредактировал Latron - Четверг, 13.12.2012, 00:15
WeddewДата: Четверг, 13.12.2012, 16:25 | Сообщение # 5322
Группа: Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
Quote (the_poks)
Quote (the_poks)
Это гавно нифига не пашет только ид кнопки при нажатии показывает. Киньте нормальные Атач объектов для игрока ну и для машин..

Quote (Великс)
В этой теме пользователи лишь оказывают помощь в написании кода, а не пишут его за вас. (!!!)

Воспользуйтесь функциями:
AttachObjectToPlayer и AttachObjectToVehicle

Добавлено (13.12.2012, 16:25)
---------------------------------------------
Quote (4o_kavo)
Всем привет
Подскажите, где можно найти хороший анти-мат (или как по другому назвать) Для чата, например если игрок написал мат или любое оскорбительное слово в чат у него чат блокировался минут на 15 ?

Ко всем new
Code
new swears[3][256] =    
{
    "Мат1",
    "Мат2",
    "Мат3"
};

В начало public OnPlayerText(playerid, text[])
Code
for(new i = 0; i < sizeof(swears); i++)
    {
     if(strfind(text, swears[i], true) != -1)
     {
      /*
       Даем мут различными способами.
      */
      return 1;
     }
    }

new swears[3][256] <- Цифра 3 означает кол-во слов в массиве. При добавлении нового слова это значение необходимо увеличивать.




www.weddew-shop.ru


Сообщение отредактировал Weddew - Четверг, 13.12.2012, 16:27
LatronДата: Четверг, 13.12.2012, 17:05 | Сообщение # 5323
Группа: I'm V.I.P.
Сообщений: 2115
Награды: 22
Город: Орел
Репутация: 1604
Замечания: 0%
Статус:
Weddew,
Quote (Weddew)
new swears[3][256] =   

Зачем разменрность указывать ?
Лучше делать
Code
new swears[][]



Моё портфолио

Мои работы:
[ Lesson ] Операторы в PAWN.
[ Lesson ] Переменная.
[ GM ] RegSys. ( Last update: 21.04.2012 )


WeddewДата: Четверг, 13.12.2012, 17:23 | Сообщение # 5324
Группа: Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
Quote (Latron)
Weddew,
Quote (Weddew)
new swears[3][256] =   

Зачем разменрность указывать ?
Лучше делать
Code
new swears[][]

Люблю точность :)




www.weddew-shop.ru
ХасанДата: Четверг, 13.12.2012, 17:54 | Сообщение # 5325
Группа: Модераторы
Сообщений: 2816
Награды: 388
Город: X-Files
Репутация: 2965
Замечания: 0%
Статус:
Привет всем
в общем
http://www.samp-rus.com/forum/34-23004-1 скачал я этот мод,давно я уже с ним.Но такого еще небыло
в БД в other перестало сохранять данные.Ну оно сохраняло когда то,а не помню что добавлял такое аж капец в мод что бы оно перестало сохранять данные.other отвечает за налоги,фермеров поле,и т.д



малі діти недають нам спати - великі діти недають нам жити © Iван Миколайчук

— Вот ты говорил, город — сила, а здесь слабые все.
— Город — это злая сила. Сильный приезжает — становится слабым. Город забирает силу. Вот и ты пропал…© Брат

— ...лягушки падают с неба
— Видимо у них не раскрылись парашюты. © X-Files

— Разве вы не хотели бы жить вечно?
— Если в моде останутся штаны со стрелками то нет.© X-Files

Ибо таковые лжеапостолы, лукавые делатели, принимают вид Апостолов Христовых. И неудивительно: потому что сам сатана принимает вид Ангела света, а потому не великое дело, если и служители его принимают вид служителей правды; но конец их будет по делам их.
(2Кор 11:13-15).
Поиск:





 


 


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