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

 



 
        
Подвиcание SA-MP (2)
Max 20.02.2017 21:57
 





Рекомендуем:
Добавить 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
Страница 38 из 151«123637383940150151»
Модератор форума: 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
BongSkrewsДата: Пятница, 26.04.2013, 21:54 | Сообщение # 556
Новенький
Группа: Пользователи
Сообщений: 15
Награды: 0
Репутация: 18
Замечания: 0%
Статус:
an21, Спасибо, мне уже решили проблему. Под "связать диалоги" подразумевалось сохранение id из первого диалога во второй.
[[[WampiR]]]Дата: Суббота, 27.04.2013, 07:01 | Сообщение # 557
Уверенный в себе
Группа: Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус:
Помогите пожалуйста преобразовать код.
[cut noguest=Код][pwn] if(dialogid==131197)
{
if(response)
{
format(stringo,sizeof(stringo),"akk/%s.ini",newname);
if(fexist(stringo)) return SendClientMessage(playerid,COLOR_GREY,"Такое имя уже есть на сервере!");
GetPlayerName(playerid, sendername, sizeof(sendername));
if(strlen(WantNickChange[giveplayerid]) < 3) return SendClientMessage(playerid,-1,"Этот игрок не хочет менять ник");
nick[giveplayerid] = 1;
format(changenam,sizeof(changenam),"%s",WantNickChange[giveplayerid]);
format(stringo,sizeof(stringo),"akk/%s.ini",WantNickChange[giveplayerid]);
dini_Create(stringo);
SendClientMessage(giveplayerid,COLOR_LIGHTBLUE,"Админ сменил вам ник. В течении пяти секунд изменения вступят в силу");
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Вы сменили ник игроку. В течении пяти секунд изменения всупят в силу");
namechan[giveplayerid] = 5;

/* format(stringo,sizeof(stringo),"akk/%s.ini",newname);
dini_Create(stringo);
format(string,sizeof(string),"akk/%s.ini",giveplayer);
new File = iniOpen(string);
iniGet(File,"Key",pass);
iniClose(File);
SetPlayerName(giveplayerid, newname);
OnPlayerUpdate_GF(giveplayerid);
File = iniOpen(stringo);
iniSet(File,"Key",pass);
iniClose(File);
format(string,sizeof(string),"akk/%s.ini",giveplayer);
dini_Remove(string);*/
SaveAccounts();
}
else
{

}
}[/pwn][/cut]

Damien_LOLДата: Суббота, 27.04.2013, 09:07 | Сообщение # 558
Освоившийся
Группа: Продвинутые
Сообщений: 133
Награды: 3
Город: Екатеринбург
Репутация: 8
Замечания: 0%
Статус:
Цитата
помогите пожалуйста преобразовать код

Lolwhat? Преобразовать код во что? В вино чтоли? :D



Http://vk.com/minusdot.team
[[[WampiR]]]Дата: Суббота, 27.04.2013, 09:28 | Сообщение # 559
Уверенный в себе
Группа: Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус:
Damien_LOL, Не так выразился! Ну сделать чтобы кнопка была.
Damien_LOLДата: Суббота, 27.04.2013, 10:40 | Сообщение # 560
Освоившийся
Группа: Продвинутые
Сообщений: 133
Награды: 3
Город: Екатеринбург
Репутация: 8
Замечания: 0%
Статус:
Опиши проблему подробнее, не срабатывает при нажатии на кнопку или ее совсем в диалоговом окне нет?


Http://vk.com/minusdot.team
Damien_LOLДата: Суббота, 27.04.2013, 12:32 | Сообщение # 561
Освоившийся
Группа: Продвинутые
Сообщений: 133
Награды: 3
Город: Екатеринбург
Репутация: 8
Замечания: 0%
Статус:
А как передается значение переменной giveplayerid если она обьявляется и не получает никакого значения? И почему ты получаешь имя игрока в sendername а потом обращаешься к WantNickChange. И вообще WantNickChange это переменная какого типа? Массив номеров игроков или массив имен игроков? И файл с таким именем точно существует в папке scriptfiles/akk?
Вообще сервер может отрубатся по многим причинам, для определения причины посмотри файл log который есть в папке с сервером. И кинь сюда последние строчки оттуда. Может так яснее станет



Http://vk.com/minusdot.team
SPACE_MANДата: Суббота, 27.04.2013, 16:33 | Сообщение # 562
Новенький
Группа: Пользователи
Сообщений: 35
Награды: 0
Репутация: 0
Замечания: 0%
Статус:
как сделать так чтобы чекпоинт не отражался на карте красным квадратиком?


Смерть SPACE_MAN-у
[[[WampiR]]]Дата: Суббота, 27.04.2013, 16:54 | Сообщение # 563
Уверенный в себе
Группа: Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус:
Подскажите как сделать чтобы игроку вылазил не текст а диалог?
[pwn] for(new g=0; g < MAX_PLAYERS; g++) if(PlayerInfo[g][pAdmin]>=9) admintick++;
if(admintick == 0) SendClientMessage(playerid,-1,"На сервере нет доступных админов, чтобы сменить ник!");[/pwn]
Я пытался сделать вот так но ничего не получилось
[pwn]ShowPlayerDialog(playerid,-1,DIALOG_STYLE_MSGBOX,"Ошибка","На сервере нет доступных админов, чтобы сменить ник!","Закрыть","");[/pwn]

SPACE_MANДата: Суббота, 27.04.2013, 18:19 | Сообщение # 564
Новенький
Группа: Пользователи
Сообщений: 35
Награды: 0
Репутация: 0
Замечания: 0%
Статус:
Что я не так, почему чекпоинт когда хочет появляется??
Код
checkpoint = CreateDynamicCP(-2005.2985,224.5529,27.9467,4.1,-1,-1,-1,30.0);

Код
public OnPlayerEnterDynamicCP(playerid,checkpointid)
{
if(checkpointid == checkpoint) {SetPlayerSkin(playerid,0),GivePlayerMoney(playerid,500);}
}



Смерть SPACE_MAN-у
an21Дата: Суббота, 27.04.2013, 18:33 | Сообщение # 565
Уверенный в себе
Группа: Продвинутые
Сообщений: 150
Награды: 1
Город: localhost
Репутация: 233
Замечания: 0%
Статус:
SPACE_MAN, ну дак где ты его создаешь?


silver break project developer
Artem_TДата: Суббота, 27.04.2013, 19:26 | Сообщение # 566
Освоившийся
Группа: I'm V.I.P.
Сообщений: 132
Награды: 26
Город: Полтава
Репутация: 59
Замечания: 40%
Статус:
Что делать? В коде стоит ShowPlayerDialog, затем кик.
А в игре сразу кикает без диалога.
Раньше до 0.3х все было нормально

Damien_LOLДата: Суббота, 27.04.2013, 19:29 | Сообщение # 567
Освоившийся
Группа: Продвинутые
Сообщений: 133
Награды: 3
Город: Екатеринбург
Репутация: 8
Замечания: 0%
Статус:
Artem_T, Диалог показывается и сразу тебя кикает. Ты просто не замечаешь, сделай таймер секунд 5-10


Http://vk.com/minusdot.team
SPACE_MANДата: Суббота, 27.04.2013, 20:01 | Сообщение # 568
Новенький
Группа: Пользователи
Сообщений: 35
Награды: 0
Репутация: 0
Замечания: 0%
Статус:
Цитата (an21)
ну дак где ты его создаешь?

Код
public OnGameModeInit()
{
     checkpoint = CreateDynamicCP(-2005.2985,224.5529,27.9467,4.1,-1,-1,-1,30.0);



Смерть SPACE_MAN-у
an21Дата: Суббота, 27.04.2013, 20:37 | Сообщение # 569
Уверенный в себе
Группа: Продвинутые
Сообщений: 150
Награды: 1
Город: localhost
Репутация: 233
Замечания: 0%
Статус:
SPACE_MAN, полагаю, что дело в стримере.
Artem_T, в каком порядке происходят эти действия? Если диалог после кика, естественно он не выведется, так как связь с клиентом уже разорвана. Ставь сначало диалог, потом кик.



silver break project developer
WeddewДата: Суббота, 27.04.2013, 21:35 | Сообщение # 570
Группа: Ангел Хранитель
Сообщений: 1237
Награды: 19
Город: Казань
Репутация: 1245
Замечания: 0%
Статус:
Цитата (|||WampiR|||)
Я пытался сделать вот так но ничего не получилось

Вы не можете выводить диалог под ID`oм -1.




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





 


 


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