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

 



 
        
Зацените (14)
JasonGordon 27.02.2017 13:12
Подвиcание SA-MP (2)
Max 20.02.2017 21:57
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
Страница 43 из 151«124142434445150151»
Модератор форума: 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]]]Дата: Вторник, 30.04.2013, 20:27 | Сообщение # 631
Уверенный в себе
Группа: Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус:
Подскажите из-за чего могут быть баги с текстурами? Вот например ворота стоят ну они исчезают на время и опять появляются и так по кругу. И когда они исчезают сквозь них можно проехать. В чем может быть проблема?
WeddewДата: Вторник, 30.04.2013, 20:30 | Сообщение # 632
Группа: Ангел Хранитель
Сообщений: 1237
Награды: 19
Город: Казань
Репутация: 1245
Замечания: 0%
Статус:
[[[WampiR]]], ApplyAnimation



www.weddew-shop.ru
Damien_LOLДата: Вторник, 30.04.2013, 21:15 | Сообщение # 633
Освоившийся
Группа: Продвинутые
Сообщений: 133
Награды: 3
Город: Екатеринбург
Репутация: 8
Замечания: 0%
Статус:
Всем привет, всех с наступающими праздниками. У меня тут старая проблема опять появилась. С установкой стримера. В прошлый раз это решилось заменой плагина и инклуда. Теперь все работает, до тех пор, пока я не вызываю одну функцию, в которой есть одна функция стримера - CreateDynamicObject. Причем в других местах мода я тоже эту функциюисползую и она нормально работает, объекты создаются. Вот код той функции, после которой появляются ошибки в консоли - Function not registered
[pwn]stock LoadServerObject()
{
new query[4096];
format(query,sizeof(query),"SELECT * FROM "TABLE_SERVEROBJECT" ");
mysql_query(query);
mysql_store_result();
if(mysql_num_rows() > 0)
{
for(new idx=0; idx<=mysql_num_rows(); idx++)
{
mysql_fetch_row(query);
sscanf(query,"p<|>iiffffffs[32]",
ObjectInfo[idx][oID],
ObjectInfo[idx][oModel],
ObjectInfo[idx][oX],
ObjectInfo[idx][oY],
ObjectInfo[idx][oZ],
ObjectInfo[idx][oRotX],
ObjectInfo[idx][oRotY],
ObjectInfo[idx][oRotZ],
ObjectInfo[idx][oAuthor]);
CreateDynamicObject(ObjectInfo[idx][oModel],ObjectInfo[idx][oX],ObjectInfo[idx][oY],ObjectInfo[idx][oZ],ObjectInfo[idx][oRotX],ObjectInfo[idx][oRotY],ObjectInfo[idx][oRotZ]);
TOTAL_OBJECT++;
}
}
mysql_free_result();
printf("Êîëè÷åñòâî ñåðâåðíûõ îáúåêòîâ = %d",TOTAL_OBJECT-1);
return 1;
}[/pwn]



Http://vk.com/minusdot.team
MerbulДата: Вторник, 30.04.2013, 21:19 | Сообщение # 634
Новенький
Группа: Пользователи
Сообщений: 71
Награды: 0
Репутация: -28
Замечания: 0%
Статус:
Помогите на это строке suicide2 wall
format(string, 256, "DM Зона оконченна | Победитель: %s[%d]", PlayerName(killerid), killerid);
Столько ошибок suicide2 wall
error 012: invalid function call, not a valid address
warning 215: expression has no effect
error 001: expected token: ";", but found ")"
error 029: invalid expression, assumed zero
fatal error 107: too many error messages on one line

Damien_LOLДата: Вторник, 30.04.2013, 21:27 | Сообщение # 635
Освоившийся
Группа: Продвинутые
Сообщений: 133
Награды: 3
Город: Екатеринбург
Репутация: 8
Замечания: 0%
Статус:
Цитата (Merbul)
Помогите на это строке suicide2 wall
format(string, 256, "DM Зона оконченна | Победитель: %s[%d]", PlayerName(killerid), killerid);
Столько ошибок suicide2 wall
error 012: invalid function call, not a valid address
warning 215: expression has no effect
error 001: expected token: ";", but found ")"
error 029: invalid expression, assumed zero
fatal error 107: too many error messages on one line

кинь предыдущую строку

и еще скинь сюда функцию PlayerName



Http://vk.com/minusdot.team

Сообщение отредактировал Damien_LOL - Вторник, 30.04.2013, 21:29
WeddewДата: Вторник, 30.04.2013, 21:34 | Сообщение # 636
Группа: Ангел Хранитель
Сообщений: 1237
Награды: 19
Город: Казань
Репутация: 1245
Замечания: 0%
Статус:
Damien_LOL, [pwn]for(new idx=0; idx<mysql_num_rows(); idx++)[/pwn]



www.weddew-shop.ru


Сообщение отредактировал Weddew - Вторник, 30.04.2013, 21:34
Damien_LOLДата: Вторник, 30.04.2013, 21:36 | Сообщение # 637
Освоившийся
Группа: Продвинутые
Сообщений: 133
Награды: 3
Город: Екатеринбург
Репутация: 8
Замечания: 0%
Статус:
Weddew, если только меньше, то последний ведь считыватся не будет. ну даже не в этом дело. ругается то на функции стримера


Http://vk.com/minusdot.team
WeddewДата: Вторник, 30.04.2013, 21:51 | Сообщение # 638
Группа: Ангел Хранитель
Сообщений: 1237
Награды: 19
Город: Казань
Репутация: 1245
Замечания: 0%
Статус:
Цитата (Damien_LOL)
если только меньше, то последний ведь считыватся не будет.

Отсчет начинается с нуля.

Добавлено (30.04.2013, 21:51)
---------------------------------------------
Damien_LOL, не вижу рациональности хранения координат объектов в базе данных. Не проще ли будет держать координаты в массиве?



www.weddew-shop.ru
MerbulДата: Вторник, 30.04.2013, 22:00 | Сообщение # 639
Новенький
Группа: Пользователи
Сообщений: 71
Награды: 0
Репутация: -28
Замечания: 0%
Статус:
PlayerName как найти таких вот полно GetPlayerName
Damien_LOLДата: Вторник, 30.04.2013, 22:06 | Сообщение # 640
Освоившийся
Группа: Продвинутые
Сообщений: 133
Награды: 3
Город: Екатеринбург
Репутация: 8
Замечания: 0%
Статус:
Weddew, мне нужно во время работы сервера записывать и считывать данные

Добавлено (30.04.2013, 22:06)
---------------------------------------------
Merbul, если GetPlayerName то там не только id игрокаЮ там еще строка в которую записать имя и длина, то есть примерно так код будет выглядеть
[pwn]
new name[32];
GetPlayerName(killerid,name,sizeof(name));
format(string, 256, "DM Зона оконченна | Победитель: %s[%d]", name, killerid);
[/pwn]


Http://vk.com/minusdot.team
[[[WampiR]]]Дата: Вторник, 30.04.2013, 22:39 | Сообщение # 641
Уверенный в себе
Группа: Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус:
Weddew, Спасибо помог. Надо было просто добавить еще одну цифру в анимацию.
WeddewДата: Среда, 01.05.2013, 00:36 | Сообщение # 642
Группа: Ангел Хранитель
Сообщений: 1237
Награды: 19
Город: Казань
Репутация: 1245
Замечания: 0%
Статус:
Цитата (Damien_LOL)
Weddew, мне нужно во время работы сервера записывать и считывать данные

Вы не поняли суть моего поста. Прочитайте внимательнее.

Добавлено (01.05.2013, 00:36)
---------------------------------------------

Цитата (Merbul)
PlayerName как найти

Попробуйте поискать stock PlayerName или public PlayerName.




www.weddew-shop.ru
Damien_LOLДата: Среда, 01.05.2013, 10:41 | Сообщение # 643
Освоившийся
Группа: Продвинутые
Сообщений: 133
Награды: 3
Город: Екатеринбург
Репутация: 8
Замечания: 0%
Статус:
Weddew, я все прекрасно понял :) вы мне предлагаете использовать массив координат для создания объектов. Но я же вроде понятно объяснил что мне нужно чтобы количество объектов могло изменятся прямо во время игры, а для этого как раз очень хорошо подходит бд


Http://vk.com/minusdot.team
SaibotДата: Среда, 01.05.2013, 10:43 | Сообщение # 644
Освоившийся
Группа: Продвинутые
Сообщений: 112
Награды: 0
Репутация: 34
Замечания: 0%
Статус:
Цитата (Weddew)
public OnPlayerRequestClass

Я туда уже вставлял,оно всёравно не работает.Может не правильно вставил...
[cut noguest=public OnPlayerRequestClass(playerid, classid)][pwn]public OnPlayerRequestClass(playerid, classid)
{
new string[600];
if (RegistrationStep[playerid] == 0 && gPlayerLogged[playerid] != 1)
{
if(gPlayerAccount[playerid] != 0)
{
new loginmsg[600+1];
new loginname[MAX_PLAYER_NAME];
GetPlayerName(playerid,loginname,MAX_PLAYER_NAME);
format(loginmsg,512,"{00FFCC}Здравствуй, %s!\n\n- Ты зашел на сервер AndroiD (0.3x) [RUS/UA]\n- Игровой режим: AndroiD: LS/SF/LV (RPG)\n- На сервере: 80 дома(ов)\n- Бизнесов: 16\n- Сбизнесов: 14\n- Сайт сервера: AndroiDrpg.ipb.su\n\nЭтот аккаунт уже зарегистрирован в системе.\n \nНабери пароль для входа на сервер:", loginname,loginname);
ShowPlayerDialog(playerid,1,DIALOG_STYLE_PASSWORD,"Авторизация",loginmsg," Вход "," Отмена ");
}
else
{
new loginmsg[600+1];
new loginname[MAX_PLAYER_NAME];
GetPlayerName(playerid,loginname,MAX_PLAYER_NAME);
format(loginmsg,512,"{00FFCC}Здравствуй %s!\n\n- Ты зашел на сервер AndroiD (0.3x) [RUS/UA]\n- Игровой режим: AndroiD: LS/SF/LV (RPG)\n- На сервере: 80 дома(ов)\n- Бизнесов: 16\n- Сбизнесов: 14\n- Сайт сервера: AndroiDrpg.ipb.su\n\nЗарегиструйся, чтобы продолжить.\n \nНабери пароль для нового аккаунта:", loginname, loginname);
ShowPlayerDialog(playerid,2,DIALOG_STYLE_PASSWORD,"Регистрация",loginmsg,"Ок","Отмена");
}
}
PlayerInfo[playerid][pModel] = Peds[classid][0];
{
format(string, sizeof(string), "~y~..::AndroiD::..");
}
//------------------------------------------------------------------------------
SetPlayerVirtualWorld(playerid, 0);
//------------------------------------------------------------------------------
SetPlayerTeamFromClass(playerid,classid);
SetupPlayerForClassSelection(playerid);
return 1;
}[/pwn][/cut]

Damien_LOLДата: Среда, 01.05.2013, 11:01 | Сообщение # 645
Освоившийся
Группа: Продвинутые
Сообщений: 133
Награды: 3
Город: Екатеринбург
Репутация: 8
Замечания: 0%
Статус:
Weddew, самое интересное что я уже убрал из той функции CreateDynamicObject, и все равно если не запускать ту функцию на выполнение то все нормально загружается, а если добавить ее то сразу в консоли показывает ошибки - Function not registered. Это странно хотя бы потому, что в той функции происходит простое чтение из базы данных, ничего со стримером связаного в ней вообще нету. Я уже совсем незнаю как это исправить

Добавлено (01.05.2013, 11:01)
---------------------------------------------
А нет, ошибся, эти ошибки постоянно показываются, только если не выполнять ту функцию то эти ошибки уходят наверх. Как их исправить если у меня уже новый плагин, новый инклуд для 0.3х?


Http://vk.com/minusdot.team

Сообщение отредактировал Damien_LOL - Среда, 01.05.2013, 10:59
Форум SAMP о мультиплеерах для GTA. » SAMP скачивание и обсуждение » Вопросы и Проблемы » Вопросы и ответы по GTA SAMP [от 19.03.2013]
Страница 43 из 151«124142434445150151»
Поиск:





 


 


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