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

 



 
          





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





Последние Файлы 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
Dima-kunДата: Вторник, 12.08.2014, 00:30 | Сообщение # 2101
Группа: Разработчики
Сообщений: 6269
Награды: 72
Репутация: 3512
Замечания: 0%
Статус:
Цитата vicktormironov ()
Ребят еще одна проблема получается когда зону каптиш получается ее надо каптить бесконечно
И не кто не может закаптить пожалуйсто помогите!

по-этапно прочти код. попробуй сам мысленно просчитат ькак она будет работать. Без кода тут ничего не скажешь.

Цитата vicktormironov ()
Нет ты не понял ты принимаешь нарко анимация уже прошла а действие не проходит там типо зайчики тебя шатает!

опять же нужно смотреть код.



Мои работы:
[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
GeryyДата: Вторник, 12.08.2014, 16:15 | Сообщение # 2102
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
Цитата Dima-WV ()
всё зделано по нормам но ошибка
=============A:\Сервер Samp\Blodhamer [RUS]\gamemodes\Blodhamer.pwn(581) : error 021: symbol already defined: "Itter_OnGameModeInit"
A:\Сервер Samp\Blodhamer [RUS]\gamemodes\Blodhamer.pwn(737) : warning 217: loose indentation
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


Смотри инклюд foreach от плагина, возможно прописан дважды.
Или создал второй (лишний) OnGameModeInit



Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.

Сообщение отредактировал Geryy - Вторник, 12.08.2014, 16:19
ШарегДата: Вторник, 12.08.2014, 17:47 | Сообщение # 2103
Новенький
Группа: Пользователи
Сообщений: 35
Награды: 0
Репутация: 7
Замечания: 0%
Статус:
Цитата Judy ()
о моему ведь steam-версии не поддерживаются, я видел где-то на sa-mp.com

Не, у меня не только самп ее не запускает, даже если в стиме кликаю на игру, сингл запустить, ничего не происходит!
Скачал пиратку, все работает.

dionleonДата: Среда, 13.08.2014, 21:02 | Сообщение # 2104
Новенький
Группа: Пользователи
Сообщений: 14
Награды: 0
Репутация: 0
Замечания: 0%
Статус:
Всем привет.Скажите пожалуйста,мне нужно чтобы на респауне игроков 1 лвл(бомжей) стояли скутеры.Что нужно делать?
RusKeyДата: Среда, 13.08.2014, 21:29 | Сообщение # 2105
Группа: I'm V.I.P.
Сообщений: 1086
Награды: 25
Город: Санкт-Петербург
Репутация: 273
Замечания: 80%
Статус:
Я же могу по факту взять бесплатный хостинг сайта на 1гб(Php+mysql) и засунуть туда mysql,и запускать мод?
Мне чисто для запуска мода в режиме изменений,тестов)
Знаю что онлайн такой хостинг не потянет,как сделать? не шарю в mysql вообще.



HakeRbesTДата: Четверг, 14.08.2014, 11:21 | Сообщение # 2106
Новенький
Группа: Пользователи
Сообщений: 72
Награды: 0
Город: Новокузнецк
Репутация: 2
Замечания: 0%
Статус:
Всем привет :)
Возник такой вопрос. При подключению к серверу срабатывает public OnPlayerRequestClass.
Нужно сделать, чтобы не вылезали эти стрелочки для выбора класса, но при этом, чтобы игрок все равно не спавнился.
То есть при загрузке появляется просто вид на город (например) без стрелочек, и диалоговое окно, а при логине игрок спавнится.

GeryyДата: Четверг, 14.08.2014, 12:35 | Сообщение # 2107
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
Цитата dionleon ()
Всем привет.Скажите пожалуйста,мне нужно чтобы на респауне игроков 1 лвл(бомжей) стояли скутеры.Что нужно делать?

Используя функцию CreateVehicle создать их, на нужных координатах респы.

Цитата HakeRbesT ()
Возник такой вопрос. При подключению к серверу срабатывает public OnPlayerRequestClass.
Нужно сделать, чтобы не вылезали эти стрелочки для выбора класса, но при этом, чтобы игрок все равно не спавнился.
То есть при загрузке появляется просто вид на город (например) без стрелочек, и диалоговое окно, а при логине игрок спавнится.

Если по простому, то в паблике коннекта использовать функцию TogglePlayerSpectating(playerid, true);
загнав игрока в режим спектатора, далее после авторизации использовать
TogglePlayerSpectating(playerid, false); (если надо добавить выбор скина ForceClassSelection(playerid);)



Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.

Сообщение отредактировал Geryy - Четверг, 14.08.2014, 12:36
dionleonДата: Четверг, 14.08.2014, 15:26 | Сообщение # 2108
Новенький
Группа: Пользователи
Сообщений: 14
Награды: 0
Репутация: 0
Замечания: 0%
Статус:
Цитата Geryy ()
Используя функцию CreateVehicle создать их, на нужных координатах респы.


Как узнавать координаты?

HakeRbesTДата: Четверг, 14.08.2014, 18:14 | Сообщение # 2109
Новенький
Группа: Пользователи
Сообщений: 72
Награды: 0
Город: Новокузнецк
Репутация: 2
Замечания: 0%
Статус:
Цитата dionleon ()
Как узнавать координаты?

Запускаешь сервер, едешь куда тебе нужно, садишься на скутер и ставишь его так как тебе нужно.
Далее, сидя на скутере, пишешь команду /save.
Команда /save сохраняет позиции в текстовый документ, под названием savedpositions.txt в директории с GTA.

Добавлено (14.08.2014, 18:13)
---------------------------------------------

Цитата Geryy ()
Если по простому, то в паблике коннекта использовать функцию TogglePlayerSpectating(playerid, true);
загнав игрока в режим спектатора, далее после авторизации использовать
TogglePlayerSpectating(playerid, false); (если надо добавить выбор скина ForceClassSelection(playerid);)

Работает, вот только камера смотрит все время в одно место, SetPlayerCameraPos не помогает.
Вот код
Код

public OnPlayerConnect(playerid){
  new query[70], playerName[24];
   GetPlayerName(playerid, playerName, 24);
    format(query, 70, "SELECT * FROM `players` WHERE `name` = '%s'", playerName);
     mysql_function_query(handle, query, true, "LoadAccount", "i", playerid);
  TogglePlayerSpectating(playerid, true);
  SetPlayerCameraPos(playerid, 1500.0, 1500.0, 500.0);
  SetPlayerCameraLookAt(playerid, 1500.0, 1500.0, 0);
  return 1;
}

Добавлено (14.08.2014, 18:13)
---------------------------------------------

Цитата Geryy ()
Если по простому, то в паблике коннекта использовать функцию TogglePlayerSpectating(playerid, true);
загнав игрока в режим спектатора, далее после авторизации использовать
TogglePlayerSpectating(playerid, false); (если надо добавить выбор скина ForceClassSelection(playerid);)

Работает, вот только камера смотрит все время в одно место, SetPlayerCameraPos не помогает.
Вот код
Код

public OnPlayerConnect(playerid){
  new query[70], playerName[24];
   GetPlayerName(playerid, playerName, 24);
    format(query, 70, "SELECT * FROM `players` WHERE `name` = '%s'", playerName);
     mysql_function_query(handle, query, true, "LoadAccount", "i", playerid);
  TogglePlayerSpectating(playerid, true);
  SetPlayerCameraPos(playerid, 1500.0, 1500.0, 500.0);
  SetPlayerCameraLookAt(playerid, 1500.0, 1500.0, 0);
  return 1;
}

Добавлено (14.08.2014, 18:14)
---------------------------------------------

Цитата Geryy ()
Если по простому, то в паблике коннекта использовать функцию TogglePlayerSpectating(playerid, true);
загнав игрока в режим спектатора, далее после авторизации использовать
TogglePlayerSpectating(playerid, false); (если надо добавить выбор скина ForceClassSelection(playerid);)

Работает, вот только камера смотрит все время в одно место, SetPlayerCameraPos не помогает.
Вот код
Код

public OnPlayerConnect(playerid){
  new query[70], playerName[24];
   GetPlayerName(playerid, playerName, 24);
    format(query, 70, "SELECT * FROM `players` WHERE `name` = '%s'", playerName);
     mysql_function_query(handle, query, true, "LoadAccount", "i", playerid);
  TogglePlayerSpectating(playerid, true);
  SetPlayerCameraPos(playerid, 1500.0, 1500.0, 500.0);
  SetPlayerCameraLookAt(playerid, 1500.0, 1500.0, 0);
  return 1;
}

dionleonДата: Четверг, 14.08.2014, 21:35 | Сообщение # 2110
Новенький
Группа: Пользователи
Сообщений: 14
Награды: 0
Репутация: 0
Замечания: 0%
Статус:
HakeRbesT,спасибо.А не подскажешь.пикап работает в скрипте,но не выдается скин! [cut noguest]#include <a_samp>

new picvoen;
new bool:PlayerStartJob[MAX_PLAYERS];
new bool:PlayerOnJob[MAX_PLAYERS];
new PlayerSavedSkin[MAX_PLAYERS];

#define DIALOG_STARTJOB 2016
#define DIALOG_ENDJOB 2015

public OnFilterScriptInit()
{
picvoen = CreatePickup(1275, 23, 1166.9851,1347.6180,10.9219, 0);
}

public OnPlayerConnect(playerid)
{
PlayerOnJob[playerid] = false;
PlayerStartJob[playerid] = false;
return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
PlayerOnJob[playerid] = false;
PlayerStartJob[playerid] = false;
return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == picvoen)
{
if(!PlayerOnJob[playerid])
{
ShowPlayerDialog(playerid, DIALOG_STARTJOB, DIALOG_STYLE_MSGBOX, "{FFFFFF}Раздевалка", "{FFFFFF}Вы хотите раздеться?", "Да", "Нет");
}
else
{
ShowPlayerDialog(playerid, DIALOG_ENDJOB, DIALOG_STYLE_MSGBOX, "{FFFFFF}Раздевалка", "{FFFFFF}Вы хотите одеться?", "Да", "Нет");
}
}
return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_STARTJOB && response)
{
PlayerStartJob[playerid] = false;
PlayerOnJob[playerid] = true;
PlayerSavedSkin[playerid] = GetPlayerSkin(playerid);
SetPlayerSkin(playerid, 252);
SendClientMessage(playerid, -1, "Вы разделись, подойдите к Доктору.");
return 1;
}
if(dialogid == DIALOG_ENDJOB && response)
{
new string[128];
PlayerStartJob[playerid] = false;
PlayerOnJob[playerid] = false;
SetPlayerSkin(playerid, PlayerSavedSkin[playerid]);
format(string, sizeof(string), "Вы оделись, вы свободны.");
SendClientMessage(playerid, -1, string);
return 1;
}
return 0;
}

[/cut]



Сообщение отредактировал Weddew - Четверг, 14.08.2014, 21:53
GeryyДата: Пятница, 15.08.2014, 11:16 | Сообщение # 2111
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
Цитата HakeRbesT ()
Работает, вот только камера смотрит все время в одно место, SetPlayerCameraPos не помогает.

Думаю что на этапе выполнения OnPlayerConnect, изменить позицию камеры не получится.

Цитата dionleon ()
пикап работает в скрипте,но не выдается скин!

впиши этот скрипт в свой мод



Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
WeddewДата: Суббота, 16.08.2014, 00:43 | Сообщение # 2112
Группа: Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
dionleon, диалог то показывается?

Добавлено (16.08.2014, 00:43)
---------------------------------------------

Цитата HakeRbesT ()

SetPlayerCameraPos(playerid, 1500.0, 1500.0, 500.0);
SetPlayerCameraLookAt(playerid, 1500.0, 1500.0, 0);


Перемести это в начало OnPlayerRequestClass




www.weddew-shop.ru
MaxДата: Суббота, 16.08.2014, 11:33 | Сообщение # 2113
Уверенный в себе
Группа: Продвинутые
Сообщений: 172
Награды: 0
Город: Казань
Репутация: 59
Замечания: 0%
Статус:
Посоветуйте и подскажите как можно сделать чтобы можно было отправлять E-mail сообщения с сервера, для восстановления пароля например.
Использовал плагин от Roman1us, он оказался не очень хорошим он не работает с E-mail адресами где есть числа, заранее спасибо.

Dima-kunДата: Суббота, 16.08.2014, 19:50 | Сообщение # 2114
Группа: Разработчики
Сообщений: 6269
Награды: 72
Репутация: 3512
Замечания: 0%
Статус:
Steep_Nk, используй функцию http://wiki.sa-mp.com/wiki/HTTP а все остальное пусть обрабатывается на стороне сайта.


Мои работы:
[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
dionleonДата: Понедельник, 18.08.2014, 21:19 | Сообщение # 2115
Новенький
Группа: Пользователи
Сообщений: 14
Награды: 0
Репутация: 0
Замечания: 0%
Статус:
Ребят.Название мода сменилось на Blank Script.В исходнике мода изменяю,однако толку 0.Да и там было другое название,мое,не Blank Script(в моде).Как изменить?
Поиск:





 


 


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