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

 



 
          





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





Последние Файлы 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
SaibotДата: Понедельник, 08.04.2013, 17:55 | Сообщение # 271
Освоившийся
Группа: Продвинутые
Сообщений: 112
Награды: 0
Репутация: 34
Замечания: 0%
Статус:
Цитата (Weddew)
Поставьте вопрос корректно.

Ну вот например:Сел в кар появляеться Checkpoint куда ехать чтоб выполнить мисию.Но у меня возле каждых ворот которые открываються стоят Маркеры,и вот когда проежаю возле маркера от ворот, то Checkpoint который показывал куда ехать чтоб выполнить мисию пропадает.
[off]Не знаю как правильно обяснить wall [/off]

MyatKOДата: Понедельник, 08.04.2013, 18:14 | Сообщение # 272
Уверенный в себе
Группа: Продвинутые
Сообщений: 156
Награды: 2
Город: Казань
Репутация: 121
Замечания: 0%
Статус:
Он хочет сказать, что когда он садится в автомобиль, то у него появляется спец. чекпоинт на карте, который указывает место назначения, но существует одна проблема. Возле каждых ворот, которые должны открываться, уже стоит чекпоинт и в связи с этим чекпоинт для места назначения пропадает. Короче говоря, чекпоинт возле ворот перебивает чекпоинт для миссии. Я надеюсь, что правильно передал его мысль.

Но моя проблема так и не решена: мне необходимо создать систему с автопополнением диалога типа LIST. Я написал примерный код, который, разумеется не работает. Посмотрите, пожалуйста, в чем ошибка.
Код
#include <a_samp>
#include <includes\zcmd>
#include <includes\sscanf2>

main()
{
print("\n----------------------------------");
print(" Blank Gamemode by your name here");
print("----------------------------------\n");
}

new text[32][128];
new te = 0;

CMD:text(playerid, params[])
{
new string[32], txt[128];
if(sscanf(params, "s", txt)) return 1;
format(string, 32, "success [%s]", txt);
SendClientMessage(playerid, 0xFFFFFFAA, string);
for(new i; i<32; i++)
{
strmid(text[i], txt, 0, 64, 255);
}
te = 1;
return 1;
}
CMD:dialog(playerid, params[])
{
new string[512];
if(te == 1)
{
for(new i; i < 32; i++)
{
format(string, sizeof(string), "%s\n", text[i]);
}
ShowPlayerDialog(playerid, 7080, DIALOG_STYLE_LIST, "test", string, "ok", "ok");
}
else ShowPlayerDialog(playerid, 7081, DIALOG_STYLE_MSGBOX, "test", "mudak", "ok", "ok");
return 1;
}



Сообщение отредактировал MyatKO - Понедельник, 08.04.2013, 18:15
SaibotДата: Понедельник, 08.04.2013, 19:24 | Сообщение # 273
Освоившийся
Группа: Продвинутые
Сообщений: 112
Награды: 0
Репутация: 34
Замечания: 0%
Статус:
Цитата (MyatKO)
Он хочет сказать, что когда он садится в автомобиль, то у него появляется спец. чекпоинт на карте, который указывает место назначения, но существует одна проблема. Возле каждых ворот, которые должны открываться, уже стоит чекпоинт и в связи с этим чекпоинт для места назначения пропадает. Короче говоря, чекпоинт возле ворот перебивает чекпоинт для миссии. Я надеюсь, что правильно передал его мысль.

[off]Ага :D[/off]

[[[WampiR]]]Дата: Понедельник, 08.04.2013, 19:28 | Сообщение # 274
Уверенный в себе
Группа: Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус:
Люди подскажите как тут сделать координаты автомобилий правильно? Ну у меня почемута в auto.cfg записано всего 2 машины а на сервере получается очень много одинаковых. Как бы одна на одной. В чем может быть проблема? Вот координаты:
[pwn]1,400,2814.909912,-1427.589721,16.344160,177.050842,1,1,Aleksandr_Kemf,200000,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,541,-672.889831,970.519287,11.749423,81.386459,0,1,[[[WampiR]]],200000,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0[/pwn]

WeddewДата: Понедельник, 08.04.2013, 22:09 | Сообщение # 275
Группа: Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
Цитата (Saibot)
Проблема з Checkpoint.Когда игрок работает на работе ему надо ездить по Checkpoint`там, но когда он въезжает на маркер от ворот то у него пропадет Checkpoint тот куда надо было ехать.Как зделать чтоб Checkpoint не пропадал?

Используйте динамические чекпоинты для ворот, а для миссий стандартные.

Добавлено (08.04.2013, 20:04)
---------------------------------------------
MyatKO, [pwn]CMD:dialog(playerid, params[])
{
new string[512], tmpstr[128];
if(te == 1)
{
for(new i; i < 32; i++)
{
format(tmpstr, sizeof(tmpstr), "%s\n", text[i]);
strcat(string, tmpstr);
}
ShowPlayerDialog(playerid, 7080, DIALOG_STYLE_LIST, "test", string, "ok", "ok");
}
else ShowPlayerDialog(playerid, 7081, DIALOG_STYLE_MSGBOX, "test", "mudak", "ok", "ok");
return 1;
}[/pwn]

Добавлено (08.04.2013, 21:16)
---------------------------------------------
MyatKO, [pwn]CMD:text(playerid, params[])
{
new string[32], txt[128];
if(sscanf(params, "s", txt)) return 1;
format(string, 32, "success [%s]", txt);
SendClientMessage(playerid, 0xFFFFFFAA, string);
for(new i; i < 32; i++)
{
if(!strlen(text[i]))
{
strmid(text[i], txt, 0, 64, 255);
break;
}
}
te = 1;
return 1;
} [/pwn]
[off]Пользователь "MyatKO" заблокировал прием сообщений от группы "Ангел Хранитель".[/off]

Добавлено (08.04.2013, 22:09)
---------------------------------------------

Цитата (|||WampiR|||)
Люди подскажите как тут сделать координаты автомобилий правильно? Ну у меня почемута в auto.cfg записано всего 2 машины а на сервере получается очень много одинаковых. Как бы одна на одной. В чем может быть проблема? Вот координаты:

Видимо при чтении, последняя строка файла записывается во все элементы массива и из-за этого происходит слоение транспорта.




www.weddew-shop.ru
DesertДата: Понедельник, 08.04.2013, 23:38 | Сообщение # 276
Местный
Группа: I'm V.I.P.
Сообщений: 669
Награды: 57
Город: Москва
Репутация: 1082
Замечания: 0%
Статус:
Как можно сделать проверку, к примеру если игрок не выполнил SetPlayerPos(playerid,208.4520,-160.8391,1000.5234); то его кикнуло
WeddewДата: Понедельник, 08.04.2013, 23:49 | Сообщение # 277
Группа: Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
Цитата (Desert)
Как можно сделать проверку, к примеру если игрок не выполнил SetPlayerPos(playerid,208.4520,-160.8391,1000.5234); то его кикнуло

После телепорта необходимо делать проверку на координаты игрока и если они не соответствуют координатам телепорта, то отсоединить игрока от сервера.




www.weddew-shop.ru
SaibotДата: Вторник, 09.04.2013, 09:47 | Сообщение # 278
Освоившийся
Группа: Продвинутые
Сообщений: 112
Награды: 0
Репутация: 34
Замечания: 0%
Статус:
Цитата (Weddew)
Используйте динамические чекпоинты для ворот, а для миссий стандартные.

Как создать динамические чекпоинты?

Ivan_DearДата: Вторник, 09.04.2013, 12:13 | Сообщение # 279
Новенький
Группа: Пользователи
Сообщений: 1
Награды: 0
Репутация: 0
Замечания: 0%
Статус:
Помогите пожалуйста, не получается скомпилировать!

warning 219: local variable "keys" shadows a variable at a preceding level
warning 219: local variable "objective" shadows a variable at a preceding level
warning 219: local variable "engine" shadows a variable at a preceding level
warning 219: local variable "lights" shadows a variable at a preceding level
warning 219: local variable "alarm" shadows a variable at a preceding level
warning 219: local variable "doors" shadows a variable at a preceding level
warning 219: local variable "bonnet" shadows a variable at a preceding level
warning 219: local variable "boot" shadows a variable at a preceding level
warning 219: local variable "objective" shadows a variable at a preceding level
warning 219: local variable "engine" shadows a variable at a preceding level
warning 219: local variable "lights" shadows a variable at a preceding level
warning 219: local variable "alarm" shadows a variable at a preceding level
warning 219: local variable "doors" shadows a variable at a preceding level
warning 219: local variable "bonnet" shadows a variable at a preceding level
warning 219: local variable "boot" shadows a variable at a preceding level
warning 219: local variable "objective" shadows a variable at a preceding level
warning 219: local variable "doors" shadows a variable at a preceding level
warning 219: local variable "lights" shadows a variable at a preceding level
warning 219: local variable "doors" shadows a variable at a preceding level
warning 219: local variable "lights" shadows a variable at a preceding level
warning 219: local variable "Speed" shadows a variable at a preceding level
warning 219: local variable "Speed" shadows a variable at a preceding level
error 017: undefined symbol "OBJECT_MATERIAL_SIZE_256x128"
error 017: undefined symbol "SELECT_OBJECT_PLAYER_OBJECT"
error 001: expected token: ";", but found ","
error 010: invalid function or declaration
error 010: invalid function or declaration
error 010: invalid function or declaration
error 010: invalid function or declaration
error 010: invalid function or declaration
error 017: undefined symbol "INI_MAX_KEYS_IN_FILE"
error 008: must be a constant expression; assumed zero
error 009: invalid array size (negative or zero)
error 017: undefined symbol "INI_MAX_FILENAME_SIZE"
error 017: undefined symbol "INI_WRONG_PATH_SIZE"
error 017: undefined symbol "INI_FILE_ALREADY_EXIST"
error 017: undefined symbol "INI_FILE_ALREADY_EXIST"
error 017: undefined symbol "INI_MAX_FILE_SIZE"
error 017: undefined symbol "INI_TOO_LARGE_FILE"
error 017: undefined symbol "INI_MAX_FILE_SIZE"
error 017: undefined symbol "INI_DELIMITER"
error 017: undefined symbol "cellbytes"
error 017: undefined symbol "INI_NO_FREE_SLOT"
error 017: undefined symbol "INI_MAX_FILENAME_SIZE"
error 017: undefined symbol "INI_WRONG_PATH_SIZE"
error 017: undefined symbol "INI_FILE_NOT_FOUND"
error 017: undefined symbol "INI_READ_ERROR"
error 017: undefined symbol "INI_MAX_FILE_SIZE"

Compilation aborted.Pawn compiler 3.0.3367 Copyright © 1997-2005, ITB CompuPhase

26 Errors.

Skype: ivan.dear e-mail: zxcmiddlesex@gmail.com
Помогите исправить! Могу заплатить!

Serg006Дата: Вторник, 09.04.2013, 13:21 | Сообщение # 280
Уверенный в себе
Группа: Продвинутые
Сообщений: 224
Награды: 3
Репутация: -87
Замечания: 60%
Статус:
Инклуда или плагина не хватает как я понял)


[GM]Drift Server - 10%- будет в паблике.
[GM-RP] United Gaming RP 0.3x - Перевод мода ~ 52%
[MAP]Автомеханики возле ЛСПД (Смотрим)
[[[WampiR]]]Дата: Вторник, 09.04.2013, 13:30 | Сообщение # 281
Уверенный в себе
Группа: Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус:
Подскажите пожалуйста исправить ерроры:
[pwn]C:\Users\Александр\Desktop\vida 6.5(06.04.2013)\gamemodes\ZZzzZZzz.pwn(17012) : error 012: invalid function call, not a valid address
C:\Users\Александр\Desktop\vida 6.5(06.04.2013)\gamemodes\ZZzzZZzz.pwn(17012) : warning 215: expression has no effect
C:\Users\Александр\Desktop\vida 6.5(06.04.2013)\gamemodes\ZZzzZZzz.pwn(17012) : error 001: expected token: ";", but found ")"
C:\Users\Александр\Desktop\vida 6.5(06.04.2013)\gamemodes\ZZzzZZzz.pwn(17012) : error 029: invalid expression, assumed zero
C:\Users\Александр\Desktop\vida 6.5(06.04.2013)\gamemodes\ZZzzZZzz.pwn(17012) : fatal error 107: too many error messages on one line[/pwn]

Вот сам код с ошибкой:
[pwn] if(GZInfo[i][gFrakVlad] == GetPlayerFaction(playerid))
{
SendClientMessage(playerid, COLOR_GREY, "Вы не можете напасть на свою территорию");
return 1;
}[/pwn]

Nikita01041997Дата: Вторник, 09.04.2013, 14:49 | Сообщение # 282
Новенький
Группа: Пользователи
Сообщений: 74
Награды: 0
Город: Алейск
Репутация: -37
Замечания: 0%
Статус:
строчку эту кинь!

Добавлено (09.04.2013, 14:49)
---------------------------------------------
люби. помогите пожалуйста, кому не трудно, я хочу сделать создания машины по пикапу но не простую, а фракционную, и не знаю как это сделать! помогите пожалуйста!


люблю этот сайт
GeryyДата: Вторник, 09.04.2013, 15:27 | Сообщение # 283
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
Цитата (|||WampiR|||)
Подскажите пожалуйста исправить ерроры:

На какую именно строку ругается?



Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
[[[WampiR]]]Дата: Вторник, 09.04.2013, 15:32 | Сообщение # 284
Уверенный в себе
Группа: Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус:
Вот на эту: if(GZInfo[i][gFrakVlad] == GetPlayerFaction(playerid))
Nikita01041997Дата: Вторник, 09.04.2013, 17:35 | Сообщение # 285
Новенький
Группа: Пользователи
Сообщений: 74
Награды: 0
Город: Алейск
Репутация: -37
Замечания: 0%
Статус:
Цитата (|||WampiR|||)
Вот на эту: if(GZInfo[i][gFrakVlad] == GetPlayerFaction(playerid))

e тебя обозначение [i] есть?



люблю этот сайт
Поиск:





 


 


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