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

 



 
          





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





Последние Файлы 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  
Форум SAMP о мультиплеерах для GTA. » SAMP скачивание и обсуждение » Вопросы и Проблемы » Вопросы и ответы по GTA SAMP [от 19.03.2013]
Вопросы и ответы по 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
MerbulДата: Понедельник, 25.03.2013, 03:30 | Сообщение # 61
Новенький
Группа: Пользователи
Сообщений: 71
Награды: 0
Репутация: -28
Замечания: 0%
Статус:
Помогите с командой /smson дайте код suicide2
Life-StoryДата: Понедельник, 25.03.2013, 05:10 | Сообщение # 62
Освоившийся
Группа: Продвинутые
Сообщений: 93
Награды: 3
Репутация: 89
Замечания: 20%
Статус:
Цитата (Merbul)
Помогите с командой /smson дайте код

Держите:
[pwn]else if(strcmp(cmd, "/smson", true) == 0 && PlayerInfo[playerid][pAdmin] >= 2)
{
if(adminreadsms[playerid] == 0)
{
adminreadsms[playerid] = 1;
SendClientMessage(playerid, COLOR_GREEN, "Вы читаете СМС!");
}
else
{
adminreadsms[playerid] = 0;
SendClientMessage(playerid, COLOR_GRAD5, "Вы не читаете СМС!");
}
return 1;
} [/pwn]

Добавлено (25.03.2013, 05:06)
---------------------------------------------

Цитата (TheKara)
когда напишу /directory толко 1 лидер покозивает и всё помоги прошуу

у нас экстрасенсов нету. Так как кода вы не предоставили могу предложить заменить команду:
[cut noguest=Урок][pwn]public OnPlayerCommandText(playerid, cmdtext[])
Добавляем это:

else if (strcmp("/directory", cmdtext, true) == 0 || strcmp("/dir", cmdtext, true) == 0)
{
if(gPlayerLogged[playerid] == 1)
{
if(PlayerInfo[playerid][pDirectory] == 0) return SendClientMessage(playerid, COLOR_GRAD1, "У вас нет справочника...");
ShowPlayerDialog(playerid,5454,DIALOG_STYLE_LIST,"Справочник","[0] Адвокаты\n[1] Таксисты\n[2] Крупье\n[3] Лидеры организаций\n[4] Инструкторы\n[5] Механики\n[6] Медики\n[7] Развозчики продуктов\n[8] Тренеры\n[9] Развозчик строй-материалов","Выбрать","Отмена");
return 1;
}
}

В
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
Добавляем:

case 5454:
{
if(response)
{
if(listitem == 0)
{
new giveplayer[MAX_PLAYER_NAME];
SendClientMessage(playerid, COLOR_YELLOW2, "Адвокаты Online:");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pMember] == 7 && PlayerInfo[i][pRank] == 2)
{
GetPlayerName(i, giveplayer, sizeof(giveplayer));
format(string, 256, "Адвокат: %s Тел: %d", giveplayer, PlayerInfo[i][pPnumber]);
SendClientMessage(playerid, COLOR_WHITE, string);
}
}
}
}
else if(listitem == 1)
{
new giveplayer[MAX_PLAYER_NAME];
SendClientMessage(playerid, COLOR_YELLOW2, "Таксисты:");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pJob] == 4)
{
GetPlayerName(i, giveplayer, sizeof(giveplayer));
format(string, 256, "Таксист: %s Тел: %d", giveplayer, PlayerInfo[i][pPnumber]);
SendClientMessage(playerid, COLOR_WHITE, string);
}
}
}
}
else if(listitem == 2)
{
new giveplayer[MAX_PLAYER_NAME];
SendClientMessage(playerid, COLOR_YELLOW2, "Крупье:");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pMember] == 8 && PlayerInfo[i][pRank] == 3)
{
GetPlayerName(i, giveplayer, sizeof(giveplayer));
format(string, 256, "Крупье: %s", giveplayer);
SendClientMessage(playerid, COLOR_WHITE, string);
}
}
}
}
else if(listitem == 3)
{
if(IsPlayerConnected(playerid))
{
SendClientMessage(playerid, COLOR_NEWS, "Лидеры онлайн:");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pLeader]>0)
{
new ttext[255];
if(PlayerInfo[i][pLeader] == 1) { ttext = "LSPD"; } //directory ранги
else if(PlayerInfo[i][pLeader] == 2) { ttext = "ФБР"; }
else if(PlayerInfo[i][pLeader] == 3) { ttext = "Армия: Авианосец"; }
else if(PlayerInfo[i][pLeader] == 4) { ttext = "МЧС Сан Фиерро"; }
else if(PlayerInfo[i][pLeader] == 5) { ttext = "LCN"; }
else if(PlayerInfo[i][pLeader] == 6) { ttext = "Yakuza"; }
else if(PlayerInfo[i][pLeader] == 7) { ttext = "Мэрия"; }
else if(PlayerInfo[i][pLeader] == 8) { ttext = "Casino Rich"; }
else if(PlayerInfo[i][pLeader] == 9) { ttext = "SF News"; }
else if(PlayerInfo[i][pLeader] == 10) { ttext = "SFPD"; }
else if(PlayerInfo[i][pLeader] == 11) { ttext = "Инструкторы"; }
else if(PlayerInfo[i][pLeader] == 12) { ttext = "The Ballas "; }
else if(PlayerInfo[i][pLeader] == 13) { ttext = "The Vagos"; }
else if(PlayerInfo[i][pLeader] == 14) { ttext = "Русская мафия"; }
else if(PlayerInfo[i][pLeader] == 15) { ttext = "The Grove"; }
else if(PlayerInfo[i][pLeader] == 16) { ttext = "LS News"; }
else if(PlayerInfo[i][pLeader] == 17) { ttext = "The Aztecas"; }
else if(PlayerInfo[i][pLeader] == 18) { ttext = "The Rifa"; }
else if(PlayerInfo[i][pLeader] == 19) { ttext = "Армия: Зона 51"; }
else if(PlayerInfo[i][pLeader] == 20) { ttext = "LV News"; }
else if(PlayerInfo[i][pLeader] == 21) { ttext = "LVPD"; }
else if(PlayerInfo[i][pLeader] == 22) { ttext = "МЧС Лос Сантос"; }
new plname[255];
GetPlayerName(i, plname, sizeof(plname));
format(string, sizeof(string), "%s: %s | Тел: %d",ttext,plname,PlayerInfo[i][pPnumber]);
SendClientMessage(playerid, 0xF5DEB3AA, string);
}
}
}
}
}
else if(listitem == 4)
{
new giveplayer[MAX_PLAYER_NAME];
SendClientMessage(playerid, 0x6495EDFF, "Инструкторы Online:");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pMember] == 11)
{
GetPlayerName(i, giveplayer, sizeof(giveplayer));
format(string, 256, "Инструктор: %s Тел: %d", giveplayer, PlayerInfo[i][pPnumber]);
SendClientMessage(playerid, COLOR_WHITE, string);
}
}
}
}
else if(listitem == 5)
{
new giveplayer[MAX_PLAYER_NAME];
SendClientMessage(playerid, COLOR_YELLOW2, "Механики:");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pJob] == 2)
{
GetPlayerName(i, giveplayer, sizeof(giveplayer));
format(string, 256, " %s Тел: %d", giveplayer, PlayerInfo[i][pPnumber]);
SendClientMessage(playerid, COLOR_WHITE, string);
}
}
}
}
else if(listitem == 6)
{
new giveplayer[MAX_PLAYER_NAME];
SendClientMessage(playerid, COLOR_YELLOW2, "Медики:");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pMember] == 4 || PlayerInfo[i][pMember] == 22)
{
GetPlayerName(i, giveplayer, sizeof(giveplayer));
format(string, 256, "- %s Тел: %d", giveplayer, PlayerInfo[i][pPnumber]);
SendClientMessage(playerid, COLOR_WHITE, string);
}
}
}
}
else if(listitem == 7)
{
new giveplayer[MAX_PLAYER_NAME];
SendClientMessage(playerid, COLOR_YELLOW2, "Развозчики продуктов:");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pJob] == 5)
{
GetPlayerName(i, giveplayer, sizeof(giveplayer));
format(string, 256, "- %s Тел: %d", giveplayer, PlayerInfo[i][pPnumber]);
SendClientMessage(playerid, COLOR_WHITE, string);
}
}
}
}
else if(listitem == 8)
{
new giveplayer[MAX_PLAYER_NAME];
SendClientMessage(playerid, COLOR_YELLOW2, "Тренеры:");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pJob] == 6)
{
GetPlayerName(i, giveplayer, sizeof(giveplayer));
format(string, 256, "- %s Тел: %d", giveplayer, PlayerInfo[i][pPnumber]);
SendClientMessage(playerid, COLOR_WHITE, string);
}
}
}
}
else if(listitem == 9)
{
new giveplayer[MAX_PLAYER_NAME];
SendClientMessage(playerid, COLOR_YELLOW2, "Развозчики строй-материалов:");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pJob] == 7)
{
GetPlayerName(i, giveplayer, sizeof(giveplayer));
format(string, 256, "- %s Тел: %d", giveplayer, PlayerInfo[i][pPnumber]);
SendClientMessage(playerid, COLOR_WHITE, string);
}
}
}
}
}
else
{
return 1;
}
}
[/pwn][/cut]

Добавлено (25.03.2013, 05:10)
---------------------------------------------

Цитата (TheKara)
Как сделат ганг зони скажите прошу скайп : beqa.karanadze1 никак не получается спасиба

Вот очень хороший урок,вам должен помочь Тык





Сообщение отредактировал Life-Story - Понедельник, 25.03.2013, 05:02
MerbulДата: Понедельник, 25.03.2013, 13:44 | Сообщение # 63
Новенький
Группа: Пользователи
Сообщений: 71
Награды: 0
Репутация: -28
Замечания: 0%
Статус:
Какие команды распределить для админа 8лвл. Для 8лвл расперделить помогите.Спасибо за смсон.

Добавлено (25.03.2013, 13:44)
---------------------------------------------
Classic-Rp мод помогите в место пожарников добавить другую фракцию любую я заменял сохраняю и ошибка.Скайп qwerty22517 wall suicide2
Ошибка не в пвн а комп выдает ошибку.Типо отправлять и не отправлять.

AnthonyДата: Понедельник, 25.03.2013, 16:14 | Сообщение # 64
Уверенный в себе
Группа: Publishers
Сообщений: 211
Награды: 4
Замечания: 0%
Статус:
Ув.пользователи .
Скажите как можно сделать телепорт в машине на клавишу (Н-например) или сделать с камандой (/stoyanka-например) если команда то чтобы работало только в каком-то месте.
P.S или скиньте пожалуйста ссылки если где то есть.

Добавлено (25.03.2013, 16:14)
---------------------------------------------
уже всё.



WeddewДата: Понедельник, 25.03.2013, 16:22 | Сообщение # 65
Группа: Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
Цитата (Vsevolod)
Скажите как можно сделать телепорт в машине на клавишу (Н-например)

Если телепорт самого транспорта, то так:
[pwn]public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
switch(newkeys)
{
case KEY_CROUCH:
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER && GetVehicleDistanceFromPoint(GetPlayerVehicleID(playerid), X, Y, Z) < 5.0)
{
SetVehiclePos(GetPlayerVehicleID(playerid), X, X, Z);
}
}
}
return true;
}[/pwn]




www.weddew-shop.ru
SaibotДата: Понедельник, 25.03.2013, 16:48 | Сообщение # 66
Освоившийся
Группа: Продвинутые
Сообщений: 112
Награды: 0
Репутация: 34
Замечания: 0%
Статус:
Что означает/даёт: ChosenSkin[playerid] = 285; PlayerInfo[playerid][pModel] = 285; и SetPlayerSkin(playerid, 285)???
uDenXДата: Понедельник, 25.03.2013, 17:03 | Сообщение # 67
Группа: Media-ProGroup
Сообщений: 1193
Награды: 23
Город: Салават
Репутация: 1301
Замечания: 0%
Статус:
Saibot, Даёт скин игроку под номером 285


slalsalsДата: Понедельник, 25.03.2013, 17:28 | Сообщение # 68
Новенький
Группа: Пользователи
Сообщений: 5
Награды: 0
Репутация: -7
Замечания: 0%
Статус:
Всем привет. У меня есть небольшая проблема. И хочу чтоб с ней вы мне помогли разобраться.
У меня есть мод но там ошибка.
Вот и она:

C:\Documents and Settings\Admin\Рабочий стол\gamemode\gamemodes\aws75.pwn(11868) : warning 219: local variable "rand" shadows a variable at a preceding level
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

Header size: 5808 bytes
Code size: 2820512 bytes
Data size: 933756 bytes
Stack/heap size: 16384 bytes; estimated max. usage=10560 cells (42240 bytes)
Total requirements: 3776460 bytes

1 Warning.

Добавлено (25.03.2013, 17:28)
---------------------------------------------
Всем привет. У меня есть небольшая проблема. И хочу чтоб с ней вы мне помогли разобраться.
У меня есть мод но там ошибка.
Вот и она:

C:\Documents and Settings\Admin\Рабочий стол\gamemode\gamemodes\aws75.pwn(11868) : warning 219: local variable "rand" shadows a variable at a preceding level
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

Header size: 5808 bytes
Code size: 2820512 bytes
Data size: 933756 bytes
Stack/heap size: 16384 bytes; estimated max. usage=10560 cells (42240 bytes)
Total requirements: 3776460 bytes

1 Warning.

SaibotДата: Понедельник, 25.03.2013, 18:01 | Сообщение # 69
Освоившийся
Группа: Продвинутые
Сообщений: 112
Награды: 0
Репутация: 34
Замечания: 0%
Статус:
Цитата (uDenX)
Даёт скин игроку под номером 285

Я это сам знаю,но зачем тогда ChosenSkin[playerid] = 285; PlayerInfo[playerid][pModel]?

WeddewДата: Понедельник, 25.03.2013, 18:04 | Сообщение # 70
Группа: Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
slalsals, Переменная rand уже объявлена. Решение проблемы: убрать new rand в строке 11868.

Добавлено (25.03.2013, 18:04)
---------------------------------------------

Цитата (slalsals)
ошибка.

Это не ошибка, а предупреждение.




www.weddew-shop.ru
[[[WampiR]]]Дата: Понедельник, 25.03.2013, 18:38 | Сообщение # 71
Уверенный в себе
Группа: Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус:
Люди не подскажете может у кого нибуть есть система бана по дням?
MerbulДата: Понедельник, 25.03.2013, 19:29 | Сообщение # 72
Новенький
Группа: Пользователи
Сообщений: 71
Награды: 0
Репутация: -28
Замечания: 0%
Статус:
Кто нибудь дайте норм мод для хоста или дайте сайт suicide2
AnthonyДата: Понедельник, 25.03.2013, 19:38 | Сообщение # 73
Уверенный в себе
Группа: Publishers
Сообщений: 211
Награды: 4
Замечания: 0%
Статус:
(47148) : warning 213: tag mismatch
(47148) : warning 202: number of arguments does not match definition

Эти варнинги страшны при компиляции мода?
[off]Добавил еще два матолета а тут варнинги может кто подскажет из за чего?[/off]




massaoffДата: Понедельник, 25.03.2013, 20:46 | Сообщение # 74
Местный
Группа: I'm V.I.P.
Сообщений: 535
Награды: 4
Город: Березники
Репутация: 187
Замечания: 40%
Статус:
Цитата (Vsevolod)
(47148) : warning 213: tag mismatch
(47148) : warning 202: number of arguments does not match definition
Эти варнинги страшны при компиляции мода?

Несовпадение количества аргументов.



- Учимся рипать сайт
- Memfiso-RPG мод
Оказываю платную помощь, в создании и редактировании(доработка, исправление багов, реализация ваших идей) ваших модов/скриптов выполненных в pawno.
Обращайтесь в скайп: massaoff РАБОТАЮ ТОЛЬКО С 50% ПРЕДОПЛАТОЙ!

WeddewДата: Понедельник, 25.03.2013, 21:58 | Сообщение # 75
Группа: Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
Цитата (Merbul)
Кто нибудь дайте норм мод для хоста или дайте сайт

Посмотрите в файловом разделе на этом сайте.




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





 


 


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