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

 



 
        
[SA-MP] Hosted Tab (128)
JasonGordon 21.10.2017 10:43
[MAP+FS] Тюрьма (15)
SubjectKalcor 09.10.2017 07:59
 





Рекомендуем:
Добавить 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
Страница 114 из 152«12112113114115116151152»
Модератор форума: AXE, Weddew 
Форум SAMP о мультиплеерах для GTA. » SAMP скачивание и обсуждение » Вопросы и Проблемы » Вопросы и ответы по GTA SAMP [от 19.03.2013]
Вопросы и ответы по GTA SAMP [от 19.03.2013]
WeddewДата: Вторник, 19.03.2013, 15:11 | Сообщение # 1
Группа: Ангел Хранитель
Сообщений: 1242
Награды: 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
GeryyДата: Суббота, 02.11.2013, 02:26 | Сообщение # 1696
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
Код на данные ошибки можно увидеть?


Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
sttwДата: Суббота, 02.11.2013, 09:46 | Сообщение # 1697
Новенький
Группа: Пользователи
Сообщений: 14
Награды: 0
Репутация: 0
Замечания: 0%
Статус:
Цитата Geryy ()
Код на данные ошибки можно увидеть?


Ко всем new добовляем:
PHP код:
new Text:levelexp[MAX_PLAYERS];
Потом добовляем в OnPlayerConnect:
PHP код:
levelexp[playerid] = TextDrawCreate(500.000000,3.500000,"_");
TextDrawAlignment(levelexp[playerid],0);
TextDrawBackgroundColor(levelexp[playerid],0x000000ff);
TextDrawFont(levelexp[playerid],1);
TextDrawLetterSize(levelexp[playerid],0.38,2.000000);
TextDrawColor(levelexp[playerid],0xffffffff);
TextDrawSetOutline(levelexp[playerid],0);
TextDrawSetProportional(levelexp[playerid],2);
TextDrawSetShadow(levelexp[playerid],2);
TextDrawShowForPlayer(playerid, levelexp[playerid]);
Теперь в OnPlayerDisconnect:
PHP код:
TextDrawDestroy(levelexp[playerid]);
и в паблик OtherTimer добавим:
new exp = PlayerInfo[i][pExp];
new nxtlevel = PlayerInfo[i][pLevel]+1;
new sled = nxtlevel*levelexp;
format(string,sizeof(string),"~w~LvL: ~y~%d ~w~Exp: ~y~%d~w~/~y~%d",PlayerInfo[i][pLevel],exp,sled);
TextDrawSetString(levelexp[i], string);

получится вот такой текстдрав LvL и Exp:
http://s51.radikal.ru/i133/1109/91/16383d308118.jpg

GeryyДата: Суббота, 02.11.2013, 10:44 | Сообщение # 1698
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
[pwn]
//Ко всем new добовляем:

new Text:levelexpt[MAX_PLAYERS];
//Потом добовляем в OnPlayerConnect:

levelexpt[playerid] = TextDrawCreate(500.000000,3.500000,"_");
TextDrawAlignment(levelexpt[playerid],0);
TextDrawBackgroundColor(levelexpt[playerid],0x000000ff);
TextDrawFont(levelexpt[playerid],1);
TextDrawLetterSize(levelexpt[playerid],0.38,2.000000);
TextDrawColor(levelexpt[playerid],0xffffffff);
TextDrawSetOutline(levelexpt[playerid],0);
TextDrawSetProportional(levelexpt[playerid],2);
TextDrawSetShadow(levelexpt[playerid],2);
TextDrawShowForPlayer(playerid, levelexpt[playerid]);
//Теперь в OnPlayerDisconnect:

TextDrawDestroy(levelexpt[playerid]);
//и в паблик OtherTimer добавим:
new exp = PlayerInfo[i][pExp];
new nxtlevel = PlayerInfo[i][pLevel]+1;
new sled = nxtlevel*levelexp;
format(string,sizeof(string),"~w~LvL: ~y~%d ~w~Exp: ~y~%d~w~/~y~%d",PlayerInfo[i][pLevel],exp,sled);
TextDrawSetString(levelexpt[i], string); [/pwn]



Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
sttwДата: Суббота, 02.11.2013, 14:57 | Сообщение # 1699
Новенький
Группа: Пользователи
Сообщений: 14
Награды: 0
Репутация: 0
Замечания: 0%
Статус:
Цитата Geryy ()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//Ко всем new добовляем:
 
new Text:levelexpt[MAX_PLAYERS];
//Потом добовляем в OnPlayerConnect:
 
levelexpt[playerid] = TextDrawCreate(500.000000,3.500000,"_");
TextDrawAlignment(levelexpt[playerid],0);
TextDrawBackgroundColor(levelexpt[playerid],0x000000ff);
TextDrawFont(levelexpt[playerid],1);
TextDrawLetterSize(levelexpt[playerid],0.38,2.000000);
TextDrawColor(levelexpt[playerid],0xffffffff);
TextDrawSetOutline(levelexpt[playerid],0);
TextDrawSetProportional(levelexpt[playerid],2);
TextDrawSetShadow(levelexpt[playerid],2);
TextDrawShowForPlayer(playerid, levelexpt[playerid]);
//Теперь в OnPlayerDisconnect:
 
TextDrawDestroy(levelexpt[playerid]);
//и в паблик OtherTimer добавим:
new exp = PlayerInfo[i][pExp];
new nxtlevel = PlayerInfo[i][pLevel]+1;
new sled = nxtlevel*levelexp;
format(string,sizeof(string),"~w~LvL: ~y~%d ~w~Exp: ~y~%d~w~/~y~%d",PlayerInfo[i][pLevel],exp,sled);
TextDrawSetString(levelexpt[i], string);

Спасибо ) попробую щас!
МОЖНО ЕЩЁ ВОПРОСИК
хочу вас попросить дать/сделать код на проверку цифр в нике
Я хотел бы попросить такой код чтобы не впускал ники пример: Vasya228 , Vasya_Pupkin123 , Vasya_P1pkun , Vasya_Pupkin1 , 123456 и т.д.
Заранее огромное спасибо!

Добавлено (02.11.2013, 14:57)
---------------------------------------------

Цитата Geryy ()
//Ко всем new добовляем:
 
new Text:levelexpt[MAX_PLAYERS];
//Потом добовляем в OnPlayerConnect:
 
levelexpt[playerid] = TextDrawCreate(500.000000,3.500000,"_");
TextDrawAlignment(levelexpt[playerid],0);
TextDrawBackgroundColor(levelexpt[playerid],0x000000ff);
TextDrawFont(levelexpt[playerid],1);
TextDrawLetterSize(levelexpt[playerid],0.38,2.000000);
TextDrawColor(levelexpt[playerid],0xffffffff);
TextDrawSetOutline(levelexpt[playerid],0);
TextDrawSetProportional(levelexpt[playerid],2);
TextDrawSetShadow(levelexpt[playerid],2);
TextDrawShowForPlayer(playerid, levelexpt[playerid]);
//Теперь в OnPlayerDisconnect:
 
TextDrawDestroy(levelexpt[playerid]);
//и в паблик OtherTimer добавим:
new exp = PlayerInfo[i][pExp];
new nxtlevel = PlayerInfo[i][pLevel]+1;
new sled = nxtlevel*levelexp;
format(string,sizeof(string),"~w~LvL: ~y~%d ~w~Exp: ~y~%d~w~/~y~%d",PlayerInfo[i][pLevel],exp,sled);
TextDrawSetString(levelexpt[i], string);

Погоди,я тебе прислал код,а то что типо(и это в паблик)- это я конечно не писал ахаха) у меня именно из за кода выдёт ошибку!
C:\Users\SERGEYI\Desktop\penls.pwn(2804) : warning 213: tag mismatch
C:\Users\SERGEYI\Desktop\penls.pwn(2843) : warning 213: tag mismatch
C:\Users\SERGEYI\Desktop\penls.pwn(2852) : warning 213: tag mismatch
C:\Users\SERGEYI\Desktop\penls.pwn(12982) : error 033: array must be indexed (variable "levelexp")
C:\Users\SERGEYI\Desktop\penls.pwn(13276) : error 033: array must be indexed (variable "levelexp")
C:\Users\SERGEYI\Desktop\penls.pwn(29340) : error 033: array must be indexed (variable "levelexp")

WeddewДата: Суббота, 02.11.2013, 15:08 | Сообщение # 1700
Группа: Ангел Хранитель
Сообщений: 1242
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
Цитата sttw ()
код на проверку цифр в нике


[pwn]stock CheckCharListInString(new str[])
{// by Weddew
new charlist[10] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
for(new i = 0; i < strlen(str); i++)
{
for(new j = 0; j < sizeof(charlist); j++)
{
if(str[i] == charlist[j])
return true;
}
}
return false;
}[/pwn]

Как-то так, при желании можно добавить еще символов в charlist.




www.weddew-shop.ru
[[[WampiR]]]Дата: Суббота, 02.11.2013, 15:10 | Сообщение # 1701
Уверенный в себе
Группа: Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус:
Цитата sttw ()
МОЖНО ЕЩЁ ВОПРОСИК
хочу вас попросить дать/сделать код на проверку цифр в нике
Я хотел бы попросить такой код чтобы не впускал ники пример: Vasya228 , Vasya_Pupkin123 , Vasya_P1pkun , Vasya_Pupkin1 , 123456 и т.д.
Заранее огромное спасибо!


В public OnPlayerConnect(playerid) добавь:
[cut noguest=Код][pwn][/pwn] new plname[MAX_PLAYER_NAME];
if(!NonRpName(playerid))
{
GetPlayerName(playerid, plname, sizeof(plname));
Kick(playerid); // Кикаем игрока с нонРП ником
return 1;
}[/cut]

Ко всем stock'am добавь:
[cut noguest=Код2][pwn]stock NonRpName(playerid)
{
new plname[MAX_PLAYER_NAME];
GetPlayerName(playerid, plname, MAX_PLAYER_NAME);
for(new i = 0; i < strlen(plname); i++)
{
if(!((plname[i]>='a'&&plname[i]<='z') || (plname[i]>='A'&&plname[i]<='Z') || plname[i]=='_'))
{
return false; // недопустимые символы в нике
}
}
new d = strfind(plname, "_");
if( d == -1 ) return false; // нет _ в нике
if(strfind(plname, "_", false, d+1) != -1) return false; // больше одного _ в нике
new name[10];
strmid(name, plname, 0, d, sizeof name);
new surname[10];
strmid(surname, plname, d+1, strlen(plname), sizeof surname);
if(strlen(name) < 3 || strlen(name) > 9) return false; // неверная длина имени
if(strlen(surname) <3 || strlen(surname) > 9) return false; // неверная длина фамилии
if(!(name[0]>='A' && name[0]<='Z')) return false; // первая буква имени не заглавная
if(!(surname[0]>='A' && surname[0]<='Z')) return false; // первая буква фамилии не заглавная
for(new i=1;i<strlen(name);i++)
{
if(!(name[i]>='a'&&name[i]<='z')) return false; // неверные буквы в имени
}
for(new i=1;i<strlen(surname);i++)
{
if(!(surname[i]>='a'&&surname[i]<='z')) return false; // неверные буквы в фамилии
}
return true;
}[/pwn][/cut]

GeryyДата: Суббота, 02.11.2013, 15:12 | Сообщение # 1702
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
Цитата sttw ()
Погоди,я тебе прислал код,а то что типо(и это в паблик)- это я конечно не писал ахаха) у меня именно из за кода выдёт ошибку!

Ну я ж тебе скинул вариант.

До кучи, для цифр в нике:

Код

stock isNumerName(const szName[]) {
     for(new i; szName[i] != EOS; ++i) {
         switch(szName[i]) {
             case '0'..'9':
                 continue;
             default:
                 return 0;
         }
     }
     return 1;
}



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

Сообщение отредактировал Geryy - Суббота, 02.11.2013, 15:16
[[[WampiR]]]Дата: Суббота, 02.11.2013, 15:16 | Сообщение # 1703
Уверенный в себе
Группа: Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус:
Подскажите пожалуйста. У меня стоит проверка на диалог. showhelp[playerid] = 0; - дается при коннекте. Вот мне надо сделать, чтобы на правую кнопку мыши игроку давалось showhelp[playerid] = 0;
[pwn] case 14:
{
if(PlayerInfo[playerid][pDonateRank] >= 1)
{
new str[785];
new line1[128] = "____________________www.zigzag-rpg.ru____________________\n";
new line2[60] = "=============== 1-VIP Аккаунт===============\t";
new line3[60] = "/togphone - Выключить телефон\t";
new line4[60] = "=============== 2-VIP Аккаунт===============\t";
new line5[60] = "/togpm - Выключить личные сообщения\t";
new line6[60] = "/neon red/yellow/blue/white/pink - Установление неона\t";
new line7[60] = "=============== 3-VIP Аккаунт===============\t";
new line8[60] = "/one - Мигалка\t";
new line9[128] = "____________________www.zigzag-rpg.ru____________________";
format(str,sizeof(str),"%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s", line1, line2, line3, line4, line5, line6, line7, line8, line9);
ShowPlayerDialog(playerid,19972, 0, "{FFFF00}*** VIP Аккаунт ***",str,"Назад","");
showhelp[playerid] = 1;
return 1;
}
else
{
SendClientMessage(playerid, COLOR_LIGHTRED, "Вы не VIP игрок!");
showhelp[playerid] = 0;
return 1;
}
}
}
}
}
}[/pwn]
Вот это самое нижнее, что есть у меня в "/help" я пытался сделать через "else" но тогда shpwhelp[playerid] = 0; присваивалось каждому пункту "/help"

vadja575Дата: Суббота, 02.11.2013, 17:21 | Сообщение # 1704
Новенький
Группа: Пользователи
Сообщений: 23
Награды: 0
Репутация: -10
Замечания: 0%
Статус:
Цитата Weddew ()
Weddew

Спасибо!

sttwДата: Суббота, 02.11.2013, 21:36 | Сообщение # 1705
Новенький
Группа: Пользователи
Сообщений: 14
Награды: 0
Репутация: 0
Замечания: 0%
Статус:
Цитата Geryy ()
Погоди,я тебе прислал код,а то что типо(и это в паблик)- это я конечно не писал ахаха) у меня именно из за кода выдёт ошибку!

Ну я ж тебе скинул вариант.

До кучи, для цифр в нике:

Код

stock isNumerName(const szName[]) {
     for(new i; szName[i] != EOS; ++i) {
         switch(szName[i]) {
             case '0'..'9':
                 continue;
             default:
                 return 0;
         }
     }
     return 1;
}


ТЫ ЦАРЬ И БОГ ЭТОГО САЙТА)РЕСПЕКТ ТЕБЕ)(МОЖЕШЬ ДАТЬ КОНТАКТЫ,ЧТО БЫ С ТОБОЙ СВЯЗАТЬСЯ?)

AlcoholikДата: Суббота, 02.11.2013, 21:41 | Сообщение # 1706
Группа: Администратор
Сообщений: 8287
Награды: 111
Город: Санкт-Петербург
Репутация: 5945
Статус:
Цитата sttw ()
ТЫ ЦАРЬ И БОГ ЭТОГО САЙТА)РЕСПЕКТ ТЕБЕ)

Бля, я думал я тут царь :(



if(isset($beer)&&isset($girl)) { drink($beer);fuck($girl); }else die();
Мониторинг sa:mp серверов


Приватно никого не консультирую, моды также не пишу, ни так, ни за деньги.
Моя ICQ 675715, пишу только с неё. Все остальные Роачи фейки, ничего я не продаю и продавать не буду, вас разводят.
GeryyДата: Воскресенье, 03.11.2013, 01:51 | Сообщение # 1707
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
fun


Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
[[[WampiR]]]Дата: Понедельник, 04.11.2013, 06:08 | Сообщение # 1708
Уверенный в себе
Группа: Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус:
Подскажите, возможно ли вообще сделать такую команду, чтобы когда игрок набирает ее, удалялся pwn или amx в папке gamemodes?
GeryyДата: Понедельник, 04.11.2013, 11:29 | Сообщение # 1709
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
Нет.


Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
WeddewДата: Понедельник, 04.11.2013, 19:14 | Сообщение # 1710
Группа: Ангел Хранитель
Сообщений: 1242
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
Цитата [[[WampiR]]] ()
Подскажите, возможно ли вообще сделать такую команду, чтобы когда игрок набирает ее, удалялся pwn или amx в папке gamemodes?

В принципе возможно, но не для вас




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





 


 


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