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

 



 
        
Подвиcание SA-MP (1)
JasonGordon 20.02.2017 10:26
MYSQL Донат (2)
JasonGordon 08.02.2017 10:39
 





Рекомендуем:
Добавить IP: 95.172.59.51:7777





Последние Файлы 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
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
Скачать GTA SAMP 0.3.7 - Кл... 20.07.2015
Страница 32 из 151«123031323334150151»
Модератор форума: AXE, Weddew 
Форум SAMP о мультиплеерах для GTA. » SAMP скачивание и обсуждение » Вопросы и Проблемы » Вопросы и ответы по GTA SAMP [от 19.03.2013]
Вопросы и ответы по GTA SAMP [от 19.03.2013]
WeddewДата: Вторник, 19.03.2013, 15:11 | Сообщение # 1
Группа: Ангел Хранитель
Сообщений: 1237
Награды: 19
Город: Казань
Репутация: 1245
Замечания: 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
[[[WampiR]]]Дата: Воскресенье, 21.04.2013, 16:06 | Сообщение # 466
Уверенный в себе
Группа: Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус:
Цитата (Weddew)
Вам все правильно подсказали.

Ну как правильно? Это же не в кнопку переделывать. Мне нужно чтобы без id игрока эта функция выполнялась.

WeddewДата: Воскресенье, 21.04.2013, 16:27 | Сообщение # 467
Группа: Ангел Хранитель
Сообщений: 1237
Награды: 19
Город: Казань
Репутация: 1245
Замечания: 0%
Статус:
Цитата (|||WampiR|||)
Ну как правильно? Это же не в кнопку переделывать. Мне нужно чтобы без id игрока эта функция выполнялась.

В обработчик диалога вставьте этот код. ID игрока можно передать в глобальной переменной или в PVar.




www.weddew-shop.ru
[[[WampiR]]]Дата: Воскресенье, 21.04.2013, 16:41 | Сообщение # 468
Уверенный в себе
Группа: Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус:
а как сделать чтобы вот это вылазило только 9 уровню админки или выше? [cut noguest=код][pwn] if(dialogid==1996)
{
if(response==1)
{
new str[400];
if(!strlen(inputtext)) return ShowPlayerDialog(playerid,9943,DIALOG_STYLE_INPUT,"Подача заявки на смену ника","Ваш ник должен подходить формату Имя_Фамилия\nВ ином случае Вам будет отказано в смене ника","Сменить","Отмена");
if(fexist(string))
{
SendClientMessage(playerid,COLOR_GREY,"Такое имя уже есть на сервере!");
return true;
}
if(PlayerInfo[playerid][pReport] > 0)
{
SendClientMessage(playerid,COLOR_WHITE,"Подождите некоторое время. Команду можно использовать раз в 2 минуты.");
return 1;
}
new para1;
format(WantNickChange[playerid],MAX_PLAYER_NAME,"%s",inputtext);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(str, sizeof(str), "Игрок {16FF05}%s {FFFFFF}хочет сменить ник на {16FF05}%s\n{FFFFFF}Нажмите Да если согласны\n{FFFFFF}Нажмите Нет если не согласны",sendername,(inputtext));
ShowPlayerDialog(para1,25000,DIALOG_STYLE_MSGBOX,"Смена ника игрока",str,"Да","Нет");
ABroadCast(COLOR_LIGHTRED,string,1);
new line1[60] = "Заявка успешно отправлена.";
format(str,sizeof(str),"%s", line1);
ShowPlayerDialog(playerid,573, 0, "{FFFFFF}Заявка на смену ника",str,"Выход","");
PlayerInfo[playerid][pReport] = 120;
return true;
}
}[/pwn][/cut]

WeddewДата: Воскресенье, 21.04.2013, 17:00 | Сообщение # 469
Группа: Ангел Хранитель
Сообщений: 1237
Награды: 19
Город: Казань
Репутация: 1245
Замечания: 0%
Статус:
Цитата (|||WampiR|||)
а как сделать чтобы вот это вылазило только 9 уровню админки или выше?

Ставьте проверку на уровень админки в том месте, где происходит показ диалога.




www.weddew-shop.ru
SaibotДата: Воскресенье, 21.04.2013, 17:54 | Сообщение # 470
Освоившийся
Группа: Продвинутые
Сообщений: 112
Награды: 0
Репутация: 34
Замечания: 0%
Статус:
Подскажите что может быть, купляю дом жму на Alt чтобы войти, заходит и сразу выбрасывает з дома,и так надо пару раз нажать на Alt чтобы зайти в инт дома.
WeddewДата: Воскресенье, 21.04.2013, 18:33 | Сообщение # 471
Группа: Ангел Хранитель
Сообщений: 1237
Награды: 19
Город: Казань
Репутация: 1245
Замечания: 0%
Статус:
Цитата (Saibot)
Подскажите что может быть, купляю дом жму на Alt чтобы войти, заходит и сразу выбрасывает з дома,и так надо пару раз нажать на Alt чтобы зайти в инт дома.

Выложите код, который выполняется при нажатии кнопки ALT.




www.weddew-shop.ru
SPACE_MANДата: Воскресенье, 21.04.2013, 19:35 | Сообщение # 472
Новенький
Группа: Пользователи
Сообщений: 35
Награды: 0
Репутация: 0
Замечания: 0%
Статус:
SetPVarInt(playerid, "PType", 0);
Чтобы распозновало эту функцию, что надо вводить?(forward?include?new?)



Смерть SPACE_MAN-у
DrevenДата: Воскресенье, 21.04.2013, 19:52 | Сообщение # 473
Гуру
Группа: Продвинутые
Сообщений: 1094
Награды: 205
Город: od.ua
Репутация: 1099
Замечания: 0%
Статус:
SPACE_MAN, ничего не надо, стандартная функция


www.samp-rpg.com
SPACE_MANДата: Воскресенье, 21.04.2013, 20:27 | Сообщение # 474
Новенький
Группа: Пользователи
Сообщений: 35
Награды: 0
Репутация: 0
Замечания: 0%
Статус:
Цитата (Dreven)
ничего не надо, стандартная функция

error 017: undefined symbol "SetPVarInt"
такую ошибку даёт



Смерть SPACE_MAN-у
WeddewДата: Воскресенье, 21.04.2013, 20:29 | Сообщение # 475
Группа: Ангел Хранитель
Сообщений: 1237
Награды: 19
Город: Казань
Репутация: 1245
Замечания: 0%
Статус:
Цитата (SPACE_MAN)
error 017: undefined symbol "SetPVarInt"
такую ошибку даёт

Инклуды обновите.




www.weddew-shop.ru
[[[WampiR]]]Дата: Воскресенье, 21.04.2013, 20:40 | Сообщение # 476
Уверенный в себе
Группа: Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус:
Помогите вставить FS в мод. [cut noguest=ссылка]http://rghost.ru/45456839[/cut]
SaibotДата: Воскресенье, 21.04.2013, 20:57 | Сообщение # 477
Освоившийся
Группа: Продвинутые
Сообщений: 112
Награды: 0
Репутация: 34
Замечания: 0%
Статус:
Цитата (Weddew)
Выложите код, который выполняется при нажатии кнопки ALT.


[cut noguest=Код][pwn]if(strcmp(cmd, "/enter", true) == 0)
{
if(IsPlayerConnected(playerid))
{
for(new i = 0; i < sizeof(HouseInfo); i++)
{
if (PlayerToPoint(3, playerid,HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez]))
{
if(PlayerInfo[playerid][pPhousekey] == i || HouseInfo[i][hLock] == 0)
{
SetPlayerVirtualWorld(playerid,i+50);
SetPlayerInterior(playerid,HouseInfo[i][hInt]);
SetPlayerPos(playerid,HouseInfo[i][hExitx],HouseInfo[i][hExity],HouseInfo[i][hExitz]);
GameTextForPlayer(playerid, "~w~Welcome Home", 5000, 1);
PlayerInfo[playerid][pInt] = HouseInfo[i][hInt];
PlayerInfo[playerid][pLocal] = i;
}
else
{
GameTextForPlayer(playerid, "~r~Locked", 5000, 1);
}
}
}
for(new i = 0; i < sizeof(FlatsInfo); i++)
{
if (PlayerToPoint(3, playerid,FlatsInfo[i][fEntrancex], FlatsInfo[i][fEntrancey], FlatsInfo[i][fEntrancez]) && GetPlayerVirtualWorld(playerid) == FlatsInfo[i][fVirtWorld])
{
//printf("Found House :%d",i);
if(PlayerInfo[playerid][pFlatKey] == i || FlatsInfo[i][fLock] == 0)
{
SetPlayerVirtualWorld(playerid,i+9999);
SetPlayerInterior(playerid,FlatsInfo[i][fInt]);
SetPlayerPos(playerid,FlatsInfo[i][fExitx],FlatsInfo[i][fExity],FlatsInfo[i][fExitz]);
GameTextForPlayer(playerid, "~w~Welcome Flat", 5000, 1);
PlayerInfo[playerid][pInt] = FlatsInfo[i][fInt];
}
else
{
GameTextForPlayer(playerid, "~r~Locked", 5000, 1);
}
}
}[/pwn][/cut]

WeddewДата: Воскресенье, 21.04.2013, 23:49 | Сообщение # 478
Группа: Ангел Хранитель
Сообщений: 1237
Награды: 19
Город: Казань
Репутация: 1245
Замечания: 0%
Статус:
Saibot, вы не то выложили. Нужно ту часть, которая находиться в callback`e OnPlayerKeyStateChange

Добавлено (21.04.2013, 23:49)
---------------------------------------------
Цитата (|||WampiR|||)
Помогите вставить FS в мод.

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

P.S. Данный мануал не гарантирует, что после копирования все будет работать, так как еще потребуется подгонять одни системы под другие.




www.weddew-shop.ru


Сообщение отредактировал Weddew - Воскресенье, 21.04.2013, 23:51
GeryyДата: Понедельник, 22.04.2013, 02:30 | Сообщение # 479
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
Цитата (Weddew)
вы не то выложили. Нужно ту часть, которая находиться в callback`e OnPlayerKeyStateChange

Скорее всего там просто OnPlayerCommandText(playerid,"/enter");

Цитата (Saibot)
Подскажите что может быть, купляю дом жму на Alt чтобы войти, заходит и сразу выбрасывает з дома,и так надо пару раз нажать на Alt чтобы зайти в инт дома.

Посмотри по таймерам типа public InHouse() или чонить такое, в них встречается доп. условие, как раз чтобы из дома высаживало типа:

Код

else if(house < 99 && house != 10000)
{
    SetPlayerPos(i, HouseInfo[house][hEntrancex], HouseInfo[house][hEntrancey],HouseInfo[house][hEntrancez]); // Warp the player
    PlayerInfo[i][pLocal] = 255;
    SetPlayerInterior(i,0);
    PlayerInfo[i][pInt] = 0;
}



Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
[[[WampiR]]]Дата: Понедельник, 22.04.2013, 09:34 | Сообщение # 480
Уверенный в себе
Группа: Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус:
Цитата (Weddew)
OnFilterScriptExit

У меня нету такой функции. Вот это не то? [pwn]public GameModeExitFunc()[/pwn]

Форум SAMP о мультиплеерах для GTA. » SAMP скачивание и обсуждение » Вопросы и Проблемы » Вопросы и ответы по GTA SAMP [от 19.03.2013]
Страница 32 из 151«123031323334150151»
Поиск:





 


 


 
Хостинг от uCoz SAMP-RUS.COM