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

 



 
          





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





Последние Файлы 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  
Вопросы и ответы по 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
forst5Дата: Среда, 03.07.2013, 23:55 | Сообщение # 1126
Новенький
Группа: Пользователи
Сообщений: 48
Награды: 0
Город: NSK
Репутация: -10
Замечания: 0%
Статус:
Weddew, вот

Код
  if(AutoBusJob[playerid] == 1)
   {
       switch(pAutoBusLS[playerid])
    {
     case CHECKPOINT_1:
     {
      AutoBusCheck[playerid] ++;
      pAutoBusLS[playerid] = CHECKPOINT_2;
      SetPlayerRaceCheckpoint(playerid, 0,1214.3824,-1842.2007,13.5149,1195.2499,-1849.5330,13.5300, 7.0);
     }
     case CHECKPOINT_2:
     {
      AutoBusCheck[playerid] ++;
      pAutoBusLS[playerid] = CHECKPOINT_3;
      SetPlayerRaceCheckpoint(playerid, 0,1195.2499,-1849.5330,13.5300,1076.8751,-1850.1189,13.5237, 7.0);
     }
     case CHECKPOINT_3:
     {
      AutoBusCheck[playerid] ++;
      pAutoBusLS[playerid] = CHECKPOINT_4;
      SetPlayerRaceCheckpoint(playerid, 0,1076.8751,-1850.1189,13.5237,1060.6364,-1834.8591,13.6470, 7.0);
     }
     case CHECKPOINT_4:
     {
      AutoBusCheck[playerid] ++;
      pAutoBusLS[playerid] = CHECKPOINT_5;
      SetPlayerRaceCheckpoint(playerid, 0,1060.6364,-1834.8591,13.6470,1038.0361,-1785.1960,13.68850, 7.0);
     }
     case CHECKPOINT_5:
     {
      AutoBusCheck[playerid] ++;
      pAutoBusLS[playerid] = CHECKPOINT_6;
      SetPlayerRaceCheckpoint(playerid, 0,1038.0361,-1785.1960,13.6885,1039.8900,-1731.7588,13.5161, 7.0);
     }
     case CHECKPOINT_6:
     {
      AutoBusCheck[playerid] ++;
      pAutoBusLS[playerid] = CHECKPOINT_7;
      SetPlayerRaceCheckpoint(playerid, 0,1039.8900,-1731.7588,13.5161,1147.0249,-1714.6013,13.9146, 7.0);
     }
     case CHECKPOINT_7:
     {
      AutoBusCheck[playerid] ++;
      pAutoBusLS[playerid] = CHECKPOINT_8;
      SetPlayerRaceCheckpoint(playerid, 1,1147.0249,-1714.6013,13.9146,0.0,0.0,0.0, 7.0);
      BusStop[playerid] = 1;
     }
     case CHECKPOINT_8:
     {
         if(BusStop[playerid] == 1)
         {
                      BusStopTime[playerid] = 10;
                      SendClientMessage(playerid, COLOR_GREEN, "Îñòàíîâêà! Æäèòå ïîññàæèðîâ");
         format(string, sizeof(string), "Àâòîáóñ îòüåæàåò ÷åðåç 10 ñåêóíä");
       ProxDetector(30.0, playerid, string, COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN);
      }
      else
      {
       AutoBusCheck[playerid] ++;
       pAutoBusLS[playerid] = CHECKPOINT_9;
       SetPlayerRaceCheckpoint(playerid, 0,1280.5072,-1714.8085,13.5162,1294.9458,-1728.1792,13.5161, 7.0);
      }
     }
     case CHECKPOINT_9:
     {
                     AutoBusCheck[playerid] ++;
      pAutoBusLS[playerid] = CHECKPOINT_10;
      SetPlayerRaceCheckpoint(playerid, 0,1294.9458,-1728.1792,13.5161,1294.8989,-1836.0220,13.5162, 7.0);
     }

WeddewДата: Четверг, 04.07.2013, 00:17 | Сообщение # 1127
Группа: Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
forst5, функция вызванная таймеров должна взаимодействовать с переменными BusStopTime[playerid] и BusStop[playerid]. Поищите по моду что-нибудь подобное:
[pwn]BusStopTime[i]--;[/pwn]




www.weddew-shop.ru
forst5Дата: Четверг, 04.07.2013, 00:50 | Сообщение # 1128
Новенький
Группа: Пользователи
Сообщений: 48
Награды: 0
Город: NSK
Репутация: -10
Замечания: 0%
Статус:
Weddew,

Код
   if(BusStopTime[i] <= 11 && BusStopTime[i] >= 1)
    {
        BusStopTime[i] --;
        format(string,sizeof(string), "~n~~n~~b~%d", BusStopTime[i] - 1);
        GameTextForPlayer(i, string, 2000, 6);
    }
    if(BusStopTime[i] == 1)
    {
     if(AutoBusJob[i] == 1)
     {
         if(BusStop[i] == 1)
         {
          BusStopTime[i] = 0;
          BusStop[i] = 0;
       pAutoBusLS[i] = CHECKPOINT_8;
       SetPlayerRaceCheckpoint(i, 0,1147.0249,-1714.6013,13.9146,1280.5072,-1714.8085,13.5162, 5.0);
       SendClientMessage(i, COLOR_GREEN, "Âû ìîæåòå åõàòü äàëüøå");
      }
         if(BusStop[i] == 2)
         {
          BusStopTime[i] = 0;
          BusStop[i] = 0;
       pAutoBusLS[i] = CHECKPOINT_17;
       SetPlayerRaceCheckpoint(i, 0,1481.3625,-1734.5426,13.5161,1514.0380,-1734.8099,13.5162, 7.0);
       SendClientMessage(i, COLOR_GREEN, "Âû ìîæåòå åõàòü äàëüøå");
      }

mdavidДата: Четверг, 04.07.2013, 02:28 | Сообщение # 1129
Освоившийся
Группа: Продвинутые
Сообщений: 135
Награды: 0
Город: Unity Station, 16
Репутация: 112
Замечания: 0%
Статус:
Получается, в сампе стоит ограничение на кол-во обьектов, да? можно ли как-то обойти это?
Streamer Plugin v2.6.1 (revision 84) (SA-MP 0.3x) вот этот стример стоит.



Мои работы:
[MAP] Pool building + Bar outside.
[MAP] Well Stacked Pizza Co.
[MAP] Prison
[MAP] NEW Bank (beta)
[Map] Zombie Apocalypse in Montgomery [4SALE]
[MAP] Clucking Bell at East LS Beach
[MAP] Flat # 1
[MAP] Clucking Bell in San Fierro.

_
Antizombie || Выживание в мире зомби


Сообщение отредактировал mdavid - Четверг, 04.07.2013, 02:36
GeryyДата: Четверг, 04.07.2013, 02:59 | Сообщение # 1130
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
Цитата (vadimka_skipper_)
Подскажите как сделать что бы при регистрации игроку на почту высылалось письмо с его данными для входа.

Использовать e-mail для восстановления пароля есть смысл, но для регистрации зачем?

Тогда лучше уже сделать регистрацию на сайте On-line чтобы в игру не заходить.

Смотри подобные решения:

http://forum.sa-mp.com/showthread.php?t=399299
http://forum.sa-mp.com/showthread.php?t=444873

Цитата (mdavid)
Я использую систему авто которая идет : авто привязано к дому.
получается до 70 дома все нормально, а после 70 дома уже что-то где-то сбивается и авто как-будто привязано, но к другому дому, просто не пойму, вроде все правильно делаю, 70 домой норм работают, а потом уже все сбивается к чертям( Да, машина спавнится там где должна, но открыть я её уже не могу, т.к как-будто это машина привязана к другому дому, никто не знает в чем может быть проблема?

Смотри чтобы в массиве домов было верно указано их кол-во: new HouseInfo[70][hInfo]; //70 домов
В файле домов соответсвенно должно быть 70 записей.
Чтобы координаты входа/выхода не совпадали...

Добавлено (04.07.2013, 02:59)
---------------------------------------------

Цитата (mdavid)
Получается, в сампе стоит ограничение на кол-во обьектов, да? можно ли как-то обойти это?
Streamer Plugin v2.6.1 (revision 84) (SA-MP 0.3x) вот этот стример стоит.

ограничение стоит на стандартную функцию CreateObject, обойти можно используя плагин стриммер и его функцию CreateDynamicObject



Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
vadimka_skipper_Дата: Четверг, 04.07.2013, 05:58 | Сообщение # 1131
Уверенный в себе
Группа: Продвинутые
Сообщений: 189
Награды: 1
Город: Иркутск
Репутация: 40
Замечания: 0%
Статус:
Цитата (Geryy)
Использовать e-mail для восстановления пароля есть смысл, но для регистрации зачем?

Тогда лучше уже сделать регистрацию на сайте On-line чтобы в игру не заходить.


Мне нужно именно, что бы после регистрации отсылало данные указанные игрокам и мой текст. Может кто скинуть код?



Помощь в скриптинге!
Продажа вкладки Hosted - 550 рублей/адрес
Хостинг GTA SAMP
Обмен WMR в Яндекс.Деньги

Skype - Duramar

mdavidДата: Пятница, 05.07.2013, 03:18 | Сообщение # 1132
Освоившийся
Группа: Продвинутые
Сообщений: 135
Награды: 0
Город: Unity Station, 16
Репутация: 112
Замечания: 0%
Статус:
Обьекты черезе CreateDynamicObject не загружаются, стример 0.3х стоит, в конфигурации сервера он прописан. plugins streamer сервер на виндоус 7.
#include <streamer> - есть
В кфг сервера - прописано : plugins streamer.dll (пробовал и plugins streamer)
В чем проблема?



Мои работы:
[MAP] Pool building + Bar outside.
[MAP] Well Stacked Pizza Co.
[MAP] Prison
[MAP] NEW Bank (beta)
[Map] Zombie Apocalypse in Montgomery [4SALE]
[MAP] Clucking Bell at East LS Beach
[MAP] Flat # 1
[MAP] Clucking Bell in San Fierro.

_
Antizombie || Выживание в мире зомби


Сообщение отредактировал mdavid - Пятница, 05.07.2013, 03:24
GeryyДата: Пятница, 05.07.2013, 12:30 | Сообщение # 1133
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
mdavid, Версии streamer.dll и #include совпадают?


Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
mdavidДата: Пятница, 05.07.2013, 12:42 | Сообщение # 1134
Освоившийся
Группа: Продвинутые
Сообщений: 135
Награды: 0
Город: Unity Station, 16
Репутация: 112
Замечания: 0%
Статус:
Цитата (Geryy)
mdavid, Версии streamer.dll и #include совпадают?


Geryy, да. Я кидал все что скачалось в папке со стримером в папку с сервером. Почему-то оно не подгружает их((



Мои работы:
[MAP] Pool building + Bar outside.
[MAP] Well Stacked Pizza Co.
[MAP] Prison
[MAP] NEW Bank (beta)
[Map] Zombie Apocalypse in Montgomery [4SALE]
[MAP] Clucking Bell at East LS Beach
[MAP] Flat # 1
[MAP] Clucking Bell in San Fierro.

_
Antizombie || Выживание в мире зомби
MerbulДата: Пятница, 05.07.2013, 15:40 | Сообщение # 1135
Новенький
Группа: Пользователи
Сообщений: 71
Награды: 0
Репутация: -28
Замечания: 0%
Статус:
Weddew, PlayeriInfo[CarOffer[playerid]][pTehosm] = 0;
Спасибо помог. Как исправить. Вот игрок умирает. Задержка на несколько секунд 3-4. Например ввожу команду /gm. У него 0 хп и звук как он умер, но он до сих пор стоит. И через несколько секунд опять звук потом игрок падает.

mdavidДата: Пятница, 05.07.2013, 15:43 | Сообщение # 1136
Освоившийся
Группа: Продвинутые
Сообщений: 135
Награды: 0
Город: Unity Station, 16
Репутация: 112
Замечания: 0%
Статус:
Geryy, вопрос исчерпан. Просто, я нуб и забыл дефайны добавить))


Мои работы:
[MAP] Pool building + Bar outside.
[MAP] Well Stacked Pizza Co.
[MAP] Prison
[MAP] NEW Bank (beta)
[Map] Zombie Apocalypse in Montgomery [4SALE]
[MAP] Clucking Bell at East LS Beach
[MAP] Flat # 1
[MAP] Clucking Bell in San Fierro.

_
Antizombie || Выживание в мире зомби
GeryyДата: Пятница, 05.07.2013, 16:17 | Сообщение # 1137
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
Цитата (Merbul)
Как исправить. Вот игрок умирает. Задержка на несколько секунд 3-4. Например ввожу команду /gm. У него 0 хп и звук как он умер, но он до сих пор стоит. И через несколько секунд опять звук потом игрок падает.


Такая же проблема?
http://www.samp-rus.com/forum/15-22285-1



Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
mdavidДата: Пятница, 05.07.2013, 17:40 | Сообщение # 1138
Освоившийся
Группа: Продвинутые
Сообщений: 135
Награды: 0
Город: Unity Station, 16
Репутация: 112
Замечания: 0%
Статус:
Цитата (Geryy)
Цитата (mdavid)
Я использую систему авто которая идет : авто привязано к дому.
получается до 70 дома все нормально, а после 70 дома уже что-то где-то сбивается и авто как-будто привязано, но к другому дому, просто не пойму, вроде все правильно делаю, 70 домой норм работают, а потом уже все сбивается к чертям( Да, машина спавнится там где должна, но открыть я её уже не могу, т.к как-будто это машина привязана к другому дому, никто не знает в чем может быть проблема?

Смотри чтобы в массиве домов было верно указано их кол-во: new HouseInfo[70][hInfo]; //70 домов
В файле домов соответсвенно должно быть 70 записей.
Чтобы координаты входа/выхода не совпадали...
Добавлено (04.07.2013, 02:59)


Да, у меня стоит new HouseInfo[232][hInfo]; в файле property тоже 232 строчки с домами.
НО по машинам у меня new Float:HouseCarSpawns[234][4] = { получается у меня на 2 машины больше? но когда я ставлю там 232, то компилятор не компилирует.
Ошибка компилятора:

Код
: error 018: initialization data exceeds declared size
  error 010: invalid function or declaration
  warning 209: function "Streamer_OnPlayerDisconnect" should return a value
  warning 204: symbol is assigned a value that is never used: "car"
  warning 204: symbol is assigned a value that is never used: "car"
  warning 209: function "Streamer_OnPlayerEnterCP" should return a value
  warning 213: tag mismatch
: warning 202: number of arguments does not match definition
  warning 202: number of arguments does not match definition
  warning 202: number of arguments does not match definition
  : warning 202: number of arguments does not match definition
Pawn compiler 3.2.3664     Copyright (c) 1997-2006, ITB CompuPhase

2 Errors.



Мои работы:
[MAP] Pool building + Bar outside.
[MAP] Well Stacked Pizza Co.
[MAP] Prison
[MAP] NEW Bank (beta)
[Map] Zombie Apocalypse in Montgomery [4SALE]
[MAP] Clucking Bell at East LS Beach
[MAP] Flat # 1
[MAP] Clucking Bell in San Fierro.

_
Antizombie || Выживание в мире зомби
MerbulДата: Пятница, 05.07.2013, 18:02 | Сообщение # 1139
Новенький
Группа: Пользователи
Сообщений: 71
Награды: 0
Репутация: -28
Замечания: 0%
Статус:
Geryy
Цитата
Такая же проблема?
http://www.samp-rus.com/forum/15-22285-1


Нет у меня не такая. Игрок умерат но поздно. Вот например убил, он постоит потом падает и умирает.

Fen1ksДата: Пятница, 05.07.2013, 18:33 | Сообщение # 1140
Новенький
Группа: Пользователи
Сообщений: 26
Награды: 0
Репутация: 0
Замечания: 0%
Статус:
Вообщем проблемка такая.
[pwn]public NetworkUpdate()
{
new stats[300], idx, pos, msgs;
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
idx = 0;
GetPlayerNetworkStats(i, stats, sizeof(stats));
pos = strfind(stats, "Messages received: ", false, 209);//209 - минимальная позиция "Messages received" в строке
msgs = strval(strtok(stats[pos+19], idx));
if(msgs - MessagesCount[i] - OtherMessages[i] > MAX_MESSAGES && msgs > 2000)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(i, pname, sizeof(pname));
printf("AntiDos: Blocked attack from playerid: %d", i);
Ban(i);
}
MessagesCount[i] = msgs;
OtherMessages[i] = 0;
}
}
}[/pwn] этот код банит иногда такой ip: 255.255.255.255
Я знаю что такого ип нету, но как предотвратить бан такого IP ?
Видел у себя какой-то код похоже на решение проблемы, но не могу найти...
[pwn]255.255.255.255 [05/07/13 | 17:59:11] Dimas_Konyahin - AntiDoS: Packets DoS
[/pwn]вот пример, такого за день 5-6 в логе.

Поиск:





 


 


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