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

 



 
          





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





Последние Файлы 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
  • Страница 152 из 152
  • «
  • 1
  • 2
  • 150
  • 151
  • 152
Модератор форума: AXE, Weddew  
Вопросы и ответы по GTA SAMP [от 19.03.2013]
WeddewДата: Вторник, 19.03.2013, 15:11 | Сообщение # 1
Группа: Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
В этой теме вы сможете получить ответы, на многие ваши вопросы по PAWN.


Новичкам:


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


Скриптерам:

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



Инструкции:

  • [cut noguest=Краткая инструкция для вшивания FS в мод]
    1) Все из callback OnFilterScriptInit вставляем в конец callback OnGameModeInit перед словом return.
    2) Все из callback OnFilterScriptExit вставляем в конец callback OnGameModeExit перед словом return.
    3) Все объявления переменных (new ...) и констант (const ...; #define ... ...) в начало мода.
    4) Все прототипы (forward ...(...) ) ко всем прототипам.
    5) Все описания нестандартных функций (public ...(...); stock ...(...); ...(...){...} ), которых нет в моде, вставляем в конец мода.

    P.S. Данный мануал не гарантирует, что после копирования все будет работать, так как еще потребуется подгонять одни системы под другие.
    P.P.S Если в одном из callback`ов Вы не обнаружили кода, то переходите к следующему пункту инструкции.
    [/cut]
  • [cut noguest=Защита от ботов]
    В OnPlayerConnect
    [pwn]if(GetPlayersSameIp(playerid) > 3) Kick(playerid);[/pwn]
    В конец мода
    [pwn]stock GetPlayersSameIp(playerid)
    {//by Weddew
    //Возвращает количество подключенных игроков с таким же IP как у playerid
    new count = 0, p_ip[16], i_ip[16];
    GetPlayerIp(playerid, p_ip, sizeof(p_ip));
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    GetPlayerIp(playerid, i_ip, sizeof(i_ip));
    if(i != playerid)
    {
    if(!strcmp(p_ip, i_ip, false)) count++;
    }
    }
    return count;
    }[/pwn]
    [/cut]
  • [cut noguest=Проверка на Role Play ник]
    В конец мода:
    [pwn]
    stock IsARPNickname(playerid)
    {
    //by Weddew
    new p_n[MAX_PLAYER_NAME], dcount = 0;
    GetPlayerName(playerid, p_n, sizeof(p_n))
    for(i = 0; i < strlen(p_n); i++)
    {
    if(p_n[i] == '_') dcount++;
    }
    if(dcount != 1 || p_n[0] == '_' || p_n[strlen(p_n)-1] == '_') return false;
    return true;
    }[/pwn]

    В OnPlayerConnect

    [pwn]
    if(!IsARPNickname(playerid)) Kick(playerid);[/pwn]

    P.S.:
    Не пропустит: _Nick_Name_, _Nick_Name, NickName_
    Пропустит: Nick_Name, NICK_NAME, NiCk_name, nick_name[/cut]




www.weddew-shop.ru


Сообщение отредактировал Weddew - Среда, 23.10.2013, 21:45
Ego1stДата: Среда, 03.05.2017, 09:14 | Сообщение # 2266
Новенький
Группа: Пользователи
Сообщений: 11
Награды: 0
Репутация: 0
Замечания: 0%
Статус:
HELP! Клиент SA-MP 0.3.7-R2 не запускает сервера совсем. Ни текстур студио, ни мой локальный, ни любой другой на которых играл раньше.
Зато MTA работает отлично.
Недавно переставил ENB 61 от grant'a. Показалось что слетел, графика хуже стала. Но до этого всё работало и в сампе. ENB поставил тот же.

WastStingerДата: Пятница, 02.06.2017, 11:25 | Сообщение # 2267
Новенький
Группа: Пользователи
Сообщений: 3
Награды: 0
Репутация: -3
Замечания: 0%
Статус:
Вопрос по скрипту. На команде стоит 2 'for', второй for не срабатывает должным образом.

Код
for(new i;i<MAX_PLAYERS;i++) { // Åñëè êðèìèíàë ðÿäîì (áåç ó÷åòà ðîçûñêà)
  if(IsPlayerConnected(i)) {
  if(IsSpawned[i] == 1) {
  if(gTeam[i] != TEAM_COP && gTeam[i] != TEAM_SOLDIER) {
  //if(GetPlayerWantedLevel(i) > 2)
  if(GetDistanceBetweenPlayers(playerid,i) < 20) {
  if(PlayerInfo[playerid][lang] == 0) SendClientMessage(playerid,COLOR_ORANGE,"Âû íå ìîæåòå íà÷àòü ôîðìèðîâàíèå ãðóïïèðîâêè ðÿäîì ñ êðèìèíàëîì");
        if(PlayerInfo[playerid][lang] == 1) SendClientMessage(playerid,COLOR_ORANGE,"You can't use this command while being near by criminals");
  return 1;
  }
  }
  }
  }
  }

На этом всё нормально, идём дальше:

Код

new current_zone;
  current_zone = player_zone[playerid];
  for(new f; f<MAX_PLAYERS;f++)
  {
   if(IsPlayerConnected(f))
   {
       if(gTeam[f] == TEAM_COP)
       {
     if(PlayerInfo[f][lang] == 0) format(string, sizeof(string), "{336DFF}[SWAT] {FFFFFF} %s (id: %d) íà÷àë ôîðìèðîâàíèå ãðóïïû SWAT [Pàéîí: %s]. Ââåäè {33AAFF}/sjoin {FFFFFF}äëÿ ïðèñîåäèíåíèÿ", sendername, playerid, zones[current_zone][zone_name]);
     if(PlayerInfo[f][lang] == 1) format(string, sizeof(string), "{336DFF}[SWAT] {FFFFFF} %s (id: %d) has started the formation of the SWAT group [Location: %s]. Enter {33AAFF}/sjoin {FFFFFF}to join the group", sendername, playerid, zones[current_zone][zone_name]);
     SendClientMessage(f,COLOR_ORANGE,string);
     //GameTextForPlayer(f,"~w~formation of the ~b~swat team ~n~~w~is in progress ~n~type ~y~/sjoin ~w~if you would like to join",3000,3);
                    HideCenterNotification(f);
     if(CurrentNotifyTimer[f]) KillTimer(CurrentNotifyTimer[f]);
     // TextDraw
     PlayerTextDrawSetString(playerid,CN[f],"~w~formation of the ~b~swat team ~n~~w~is in progress ~n~type ~y~/sjoin ~w~if you would like to join");
        PlayerTextDrawShow(playerid, CN[f]);
        CurrentNotifyTimer[f] = SetTimerEx("HideCenterNotification",5000,0,"i",f);
    }
   }
  }

А вот здесь срабатывает всё, кроме:
Код

if(PlayerInfo[f][lang] == 0) format(string, sizeof(string), "{336DFF}[SWAT] {FFFFFF} %s (id: %d) íà÷àë ôîðìèðîâàíèå ãðóïïû SWAT [Pàéîí: %s]. Ââåäè {33AAFF}/sjoin {FFFFFF}äëÿ ïðèñîåäèíåíèÿ", sendername, playerid, zones[current_zone][zone_name]);
     if(PlayerInfo[f][lang] == 1) format(string, sizeof(string), "{336DFF}[SWAT] {FFFFFF} %s (id: %d) has started the formation of the SWAT group [Location: %s]. Enter {33AAFF}/sjoin {FFFFFF}to join the group", sendername, playerid, zones[current_zone][zone_name]);
     SendClientMessage(f,COLOR_ORANGE,string);

То есть TextDraw нормально отображается, а сообщение в чат отправляется только тому, кто это команду использовал, хотя должно вывестись всем ментам

Добавлено (02.06.2017, 11:25)
---------------------------------------------
Если проще, то дело вот в чем:
Сначала идёт первый цикл for, который проверяет нет ли рядом других игроков, и если есть, прерывается на return 1;
Затем после него идёт второй цикл for, отсылающий сообщение всем копам. Так вот после первого 'for' не срабатывает второй 'for'.

JasonGordonДата: Суббота, 03.06.2017, 14:59 | Сообщение # 2268
Уверенный в себе
Группа: Продвинутые
Сообщений: 190
Награды: 0
Город: Париж
Репутация: 100
Замечания: 0%
Статус:
Цитата WastStinger ()
Если проще, то дело вот в чем:
Сначала идёт первый цикл for, который проверяет нет ли рядом других игроков, и если есть, прерывается на return 1;
Затем после него идёт второй цикл for, отсылающий сообщение всем копам. Так вот после первого 'for' не срабатывает второй 'for'.

Ты глупый?!
Если в первом цикле ты пишешь "return", то ты не цикл обрываешь, а всю функцию/сток!
То есть, работа функции/стока заканчивается там, где пишешь "return", то есть в первом цикле, а до второго цикла работа функции просто не доходит.
Чтобы выйти из первого цикла и продолжить работу функции (дойти до второго цикла), используют "break".

WastStingerДата: Среда, 07.06.2017, 22:01 | Сообщение # 2269
Новенький
Группа: Пользователи
Сообщений: 3
Награды: 0
Репутация: -3
Замечания: 0%
Статус:
Цитата JasonGordon ()
Ты глупый?!

Я задал вопрос, ждал ответ. Не знал бы, не писал бы сюда, так что глупый здесь ты, не мороси.

Цитата JasonGordon ()
Если в первом цикле ты пишешь "return", то ты не цикл обрываешь, а всю функцию/сток!
То есть, работа функции/стока заканчивается там, где пишешь "return", то есть в первом цикле, а до второго цикла работа функции просто не доходит.
Чтобы выйти из первого цикла и продолжить работу функции (дойти до второго цикла), используют "break".

За объяснение благодарность.

JasonGordonДата: Четверг, 08.06.2017, 10:21 | Сообщение # 2270
Уверенный в себе
Группа: Продвинутые
Сообщений: 190
Награды: 0
Город: Париж
Репутация: 100
Замечания: 0%
Статус:
Цитата WastStinger ()
Я задал вопрос, ждал ответ. Не знал бы, не писал бы сюда, так что глупый здесь ты, не мороси.

Вот об этом я и говорю!
Был бы ты не глупым и уверенным в себе молодым человеком, тебе бы и в голову не пришло сейчас оправдываться тут перед всеми и переходить на личности.
Не страшно быть глупым, страшно огрызаться на окружающих за это и не пытаться исправляться!
Ознакомься с школьным курсом информатики и не задавай больше глупых вопросов, чтобы у людей не складывалось такое обидное впечатление о тебе.

WastStingerДата: Суббота, 10.06.2017, 07:09 | Сообщение # 2271
Новенький
Группа: Пользователи
Сообщений: 3
Награды: 0
Репутация: -3
Замечания: 0%
Статус:
Цитата JasonGordon ()
Вот об этом я и говорю!
Был бы ты не глупым и уверенным в себе молодым человеком, тебе бы и в голову не пришло сейчас оправдываться тут перед всеми и переходить на личности.
Не страшно быть глупым, страшно огрызаться на окружающих за это и не пытаться исправляться!
Ознакомься с школьным курсом информатики и не задавай больше глупых вопросов, чтобы у людей не складывалось такое обидное впечатление о тебе.

Если человек чего-то не знает, это не показатель его ума или глупости. Если тебе как-то трудно было ответить нормально, иди погуляй, вася

Dima-kunДата: Понедельник, 12.06.2017, 00:56 | Сообщение # 2272
Группа: Разработчики
Сообщений: 6269
Награды: 72
Репутация: 3512
Замечания: 0%
Статус:
Прекратите оффтоп! Здесь не место для светских бесед.


Мои работы:
[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
deadpool14Дата: Вторник, 11.07.2017, 22:49 | Сообщение # 2273
Новенький
Группа: Пользователи
Сообщений: 1
Награды: 0
Репутация: 0
Замечания: 0%
Статус:
Weddew, помоги пожалуйста
JasonGordonДата: Четверг, 13.07.2017, 15:38 | Сообщение # 2274
Уверенный в себе
Группа: Продвинутые
Сообщений: 190
Награды: 0
Город: Париж
Репутация: 100
Замечания: 0%
Статус:
Dima-kun, шрифт крупнее сделай! А то мелковато. Вдруг не прекратим.
WeddewДата: Среда, 07.02.2018, 02:42 | Сообщение # 2275
Группа: Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
Цитата deadpool14 ()
Weddew, помоги пожалуйста

Чем?
[off]правда думаю уже не актуально crazy [/off]




www.weddew-shop.ru
  • Страница 152 из 152
  • «
  • 1
  • 2
  • 150
  • 151
  • 152
Поиск:





 


 


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