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

 



 
          





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





Последние Файлы 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
AlcoholikДата: Четверг, 08.08.2013, 00:16 | Сообщение # 1411
Мастер джэдай
Группа: Администратор
Сообщений: 8299
Награды: 111
Город: Санкт-Петербург
Репутация: 6085
Статус:
Saibot, а в чём собственно проблема?


if(isset($beer)&&isset($girl)) { drink($beer);fuck($girl); }else die();
Мониторинг sa:mp серверов


Приватно никого не консультирую, моды также не пишу, ни так, ни за деньги.
Моя ICQ 675715, пишу только с неё. Все остальные Роачи фейки, ничего я не продаю и продавать не буду, вас разводят.
milksДата: Четверг, 08.08.2013, 01:11 | Сообщение # 1412
Новенький
Группа: Пользователи
Сообщений: 11
Награды: 0
Репутация: 0
Замечания: 0%
Статус:
А мне так и не помогли :(
artemganin1999Дата: Четверг, 08.08.2013, 17:00 | Сообщение # 1413
Уверенный в себе
Группа: Пользователи
Сообщений: 184
Награды: 0
Репутация: -28
Замечания: 0%
Статус:
Помогите плз) Вроде нубо-проблема,выдает
Код
error 017: undefined symbol "giveplayerid"

вот эта строчка
Код
   PlayerInfo[giveplayerid][pMats] += 1000;

это стоит
Код
new giveplayer[MAX_PLAYER_NAME];

Добавлено (08.08.2013, 16:44)
---------------------------------------------
решил,сори)

Добавлено (08.08.2013, 17:00)
---------------------------------------------
теперь другая проблемка

Код
    if(MatiTimer[playerid] > 0)
             {
                 new string123[40];
     format(string123, sizeof(string123), "{FF0000}[Ошибка]{ffffff} Вы сможете использовать эту команду через {E3BE88}%d{ffffff}секунд(ы).", MatiTimer[playerid]);
     SendClientMessage(playerid, COLOR_WHITE, string123);
                 return true;
    }

выводит только первую часть сообщения и все

DANGER1979Дата: Четверг, 08.08.2013, 17:04 | Сообщение # 1414
Постоялец
Группа: I'm V.I.P.
Сообщений: 365
Награды: 5
Город: Гродно
Репутация: 557
Замечания: 0%
Статус:
Использую MySQL Plugin от BlueG(G-sTyLeZzZ) [REL] MySQL Plugin (Google Project)
mysql_debian.so версии R6

вот что пишет mysql_stat

Uptime: 6295623 Threads: 23 Questions: 145255209 Slow queries: 7589 Opens: 10950323 Flush tables: 1 Open tables: 64 Queries per second avg: 23.72
Почему он пишет 23 потока? Или он сам разбил на 23 потока?

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




[UCP] Статистика сервера (MySQL)
GTA:SA VirtualWorld Server - LifeSimulator
[Продажа][GM] VirtualWorld v3.0.219
[FS] VW_SystemOfNeed - Система потребностей
[FS] VW_SystemOfBuying - Система покупки авто
[FS] VW_Speedometer - с системой расхода топлива и учёта пробега
[FS] VW_CargoShip - Грузовое судно
WeddewДата: Четверг, 08.08.2013, 19:27 | Сообщение # 1415
Группа: Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
Цитата (artemganin1999)
выводит только первую часть сообщения и все

Конкретнее объясните. Что именно выводит?




www.weddew-shop.ru
artemganin1999Дата: Четверг, 08.08.2013, 19:52 | Сообщение # 1416
Уверенный в себе
Группа: Пользователи
Сообщений: 184
Награды: 0
Репутация: -28
Замечания: 0%
Статус:
Цитата (Weddew)
Конкретнее объясните. Что именно выводит?

[Ошибка] Вы сможете исп
И все

AlcoholikДата: Четверг, 08.08.2013, 20:09 | Сообщение # 1417
Мастер джэдай
Группа: Администратор
Сообщений: 8299
Награды: 111
Город: Санкт-Петербург
Репутация: 6085
Статус:
artemganin1999, размер массива увеличьте
new string123[128];



if(isset($beer)&&isset($girl)) { drink($beer);fuck($girl); }else die();
Мониторинг sa:mp серверов


Приватно никого не консультирую, моды также не пишу, ни так, ни за деньги.
Моя ICQ 675715, пишу только с неё. Все остальные Роачи фейки, ничего я не продаю и продавать не буду, вас разводят.
artemganin1999Дата: Пятница, 09.08.2013, 13:19 | Сообщение # 1418
Уверенный в себе
Группа: Пользователи
Сообщений: 184
Награды: 0
Репутация: -28
Замечания: 0%
Статус:
Большое спасибо, вот есть как бы не проблема а вопрос.
Вот есть Fs зенитные ракеты, а возможно сделать ограничение ? ТО есть там чтобы не стрелял в PLeader и т.п.?
http://rghost.ru/47998180

sehrgetДата: Пятница, 09.08.2013, 13:34 | Сообщение # 1419
Постоялец
Группа: Продвинутые
Сообщений: 393
Награды: 2
Город: Украина\Черкассы
Замечания: 40%
Статус:
[pwn]format(string, sizeof(string), "|IP адрес: %s| |Рег. IP адрес: %s|", ipStr, PlayerInfo[giveplayerid][pRegIP]);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);[/pwn]
Почему не пишет в чат его PlayerInfo[giveplayerid][pRegIP] (в инике файла игрока все нормально, там он есть, однако в чат пишет просто пустое место)?

Добавлено (09.08.2013, 13:34)
---------------------------------------------
Цитата (artemganin1999)
Вот есть Fs зенитные ракеты, а возможно сделать ограничение ? ТО есть там чтобы не стрелял в PLeader и т.п.?

Да, добавьте туда нужные переменные pInfo и сделайте проверку на if. К примеру:
[pwn]enum pInfo // ко всем new
{
pLeader,
};
new PlayerInfo[MAX_PLAYERS][pInfo];[/pwn]

и в команду стрельбы что-то типо: if(PlayerInfo[id][pLeader] == 0) // Замените поле "id" на переменную с записью ида игрока на которого пустили ракеты.



Сообщение отредактировал sehrget - Пятница, 09.08.2013, 13:34
GeryyДата: Пятница, 09.08.2013, 14:27 | Сообщение # 1420
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
Цитата (artemganin1999)
а возможно сделать ограничение ? ТО есть там чтобы не стрелял в PLeader и т.п.?

Можно, если использовать вызов удаленной функции или PVar

Цитата (sehrget)
Почему не пишет в чат его PlayerInfo[giveplayerid][pRegIP] (в инике файла игрока все нормально, там он есть, однако в чат пишет просто пустое место)?

Посмотри чтение строки из аккаунта в pRegIP



Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
sehrgetДата: Пятница, 09.08.2013, 16:23 | Сообщение # 1421
Постоялец
Группа: Продвинутые
Сообщений: 393
Награды: 2
Город: Украина\Черкассы
Замечания: 40%
Статус:
Geryy, ну да, это я затупил. Я же давал не переменную прееринфо, а просто записывал в иник игроку. А как дать именно в PlayerInfo?
artemganin1999Дата: Пятница, 09.08.2013, 18:23 | Сообщение # 1422
Уверенный в себе
Группа: Пользователи
Сообщений: 184
Награды: 0
Репутация: -28
Замечания: 0%
Статус:
Короче http://www.samp-rus.com/forum/81-25409-1 )
Цитата (Geryy)
Можно, если использовать вызов удаленной функции или PVar

GeryyДата: Суббота, 10.08.2013, 01:58 | Сообщение # 1423
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
Цитата (sehrget)
а просто записывал в иник игроку. А как дать именно в PlayerInfo?

enum INFO
{
.....
pRegIP[256],
.....
}

str = dini_Get(Аккаунт, "RegIP");
format(pInfo[playerid][pRegIP], "%s", str)



Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
artemganin1999Дата: Суббота, 10.08.2013, 15:42 | Сообщение # 1424
Уверенный в себе
Группа: Пользователи
Сообщений: 184
Награды: 0
Репутация: -28
Замечания: 0%
Статус:
что то я не пойму
Код
if(PlayerToPoint(15.0,playerid,-1127.5000000,-1029.5999800,131.6000100)) // Адмво
    {
     if(PlayerInfo[playerid][pAdmin] < 5)
     {
      MoveObject(admingate,-1105.3000500,-1031.9000200,108.3000000,3);
      SetTimer("admimgateclose", 7000, 0);
     }
     else{SendClientMessage(playerid, COLOR_WHITE, "{FF0000}[Ошибка]{ffffff} Ты не админ!"); return true;}
    }

я админ 5 лвл, а все равно пишет "Ты не админ"

Добавлено (10.08.2013, 15:42)
---------------------------------------------
сори тупанул,сам решил

WeddewДата: Суббота, 10.08.2013, 17:45 | Сообщение # 1425
Группа: Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
Цитата (Geryy)
str = dini_Get(Аккаунт, "RegIP");
format(pInfo[playerid][pRegIP], "%s", str)

Можно проще:
[pwn]strmid(pInfo[playerid][pRegIP], dini_Get(Аккаунт, "RegIP"), 0, 16, 16);[/pwn]




www.weddew-shop.ru
Поиск:





 


 


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