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

 



 
        
Подвиcание SA-MP (2)
Max 20.02.2017 21:57
 





Рекомендуем:
Добавить 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
Страница 1 из 151123150151»
Модератор форума: 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
WeddewДата: Вторник, 19.03.2013, 15:11 | Сообщение # 2
Группа: Ангел Хранитель
Сообщений: 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
AnthonyДата: Вторник, 19.03.2013, 15:25 | Сообщение # 3
Уверенный в себе
Группа: Publishers
Сообщений: 211
Награды: 4
Замечания: 0%
Статус:
хм..
Ув.пользователи скажите почему меня кикает когда я пытаюсь подключиться к серверу МТА.
пишет например такое "You were kicked (#AC4)" как то так и еще подругому.
Это может быть связано с тем что установлен собейт и некоторые моды?




WeddewДата: Вторник, 19.03.2013, 15:28 | Сообщение # 4
Группа: Ангел Хранитель
Сообщений: 1237
Награды: 19
Город: Казань
Репутация: 1245
Замечания: 0%
Статус:
Цитата (Vsevolod)
хм..
Ув.пользователи скажите почему меня кикает когда я пытаюсь подключиться к серверу МТА.
пишет например такое "You were kicked (#AC4)" как то так и еще подругому.
Это может быть связано с тем что установлен собейт и некоторые моды?

Правильно, на стороне сервера стоит античит и кикает он Вас по причине установленного собейта.




www.weddew-shop.ru


Сообщение отредактировал Weddew - Вторник, 19.03.2013, 22:20
GeryyДата: Среда, 20.03.2013, 03:06 | Сообщение # 5
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
Цитата (Vsevolod)
пишет например такое "You were kicked (#AC4)" как то так и еще подругому. Это может быть связано с тем что установлен собейт и некоторые моды?


Удали свои читы/клео, а лучше переустонови гта и мта чтобы не осталось лишнего мусора.



Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
AnthonyДата: Среда, 20.03.2013, 16:24 | Сообщение # 6
Уверенный в себе
Группа: Publishers
Сообщений: 211
Награды: 4
Замечания: 0%
Статус:
Цитата (Weddew)
Правильно, на стороне сервера стоит античит и кикает он Вас по причине установленного собейта.

Цитата (Geryy)
Удали свои читы/клео, а лучше переустонови гта и мта чтобы не осталось лишнего мусора.

Спасибо! Стоило удалить только собейт




WeddewДата: Среда, 20.03.2013, 18:58 | Сообщение # 7
Группа: Ангел Хранитель
Сообщений: 1237
Награды: 19
Город: Казань
Репутация: 1245
Замечания: 0%
Статус:
Цитата (Vsevolod)
Спасибо! Стоило удалить только собейт

Можно было и не удалять, достаточно было переименовать файл d3d9.dll в папке с игрой.




www.weddew-shop.ru
SaibotДата: Среда, 20.03.2013, 19:30 | Сообщение # 8
Освоившийся
Группа: Продвинутые
Сообщений: 112
Награды: 0
Репутация: 34
Замечания: 0%
Статус:
Такая проблема,создал спранк поставил проверку на ХП (100) спранк даёт (health + 25),но когда у игрока 98хп и он выпел то у него уже 123хп.
Как зделать чтоб больше 100хп не давало?
[pwn]if(strcmp(cmd, "/spranks", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerToPoint(1.0,playerid,1165.6802,1353.3733,10.9219))
{
new Float:health;
GetPlayerHealth(playerid, health);//проверка на хп
if(health>=100)
{
SendClientMessage(playerid, COLOR_GREY, "Вы уже достаточно выпели.");//сообщение игрок
return 1;
}
SetPlayerHealth(playerid, health + 25);
SetTimerEx("DeletePlayerBurger", false, 5000, "i", playerid);
ApplyAnimation(playerid,"GANGS","drnkbr_prtl",3.0, 0, 0, 0, 0, 0);
PlayerPlaySound(playerid, 1055, 0.0, 0.0, 0.0);
GivePlayerMoney(playerid, - 30);
GameTextForPlayer(playerid, "~r~ - 25 $", 5000, 1);
return 1;
}
}
}[/pwn]

sehrgetДата: Среда, 20.03.2013, 20:27 | Сообщение # 9
Постоялец
Группа: Продвинутые
Сообщений: 393
Награды: 2
Город: Украина\Черкассы
Замечания: 40%
Статус:
В форварды:

Код
forward Check100HP(playerid);

В конец мода

[pwn]public Check100HP(playerid)
{
new Float:health;
GetPlayerHealth(playerid,health);
if (health > 100.0)
{
SetPlayerHealth(playerid, 100)
}
return 1;
}[/pwn]
Это все в любой таймер( Check100HP(playerid); )



Сообщение отредактировал sehrget - Среда, 20.03.2013, 20:31
WeddewДата: Среда, 20.03.2013, 21:01 | Сообщение # 10
Группа: Ангел Хранитель
Сообщений: 1237
Награды: 19
Город: Казань
Репутация: 1245
Замечания: 0%
Статус:
Saibot,
Держите:
[pwn]if(strcmp(cmd, "/spranks", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerToPoint(1.0,playerid,1165.6802,1353.3733,10.9219))
{
new Float:health;
GetPlayerHealth(playerid, health);//проверка на хп
if(health >= 100)
{
SendClientMessage(playerid, COLOR_GREY, "Вы уже достаточно выпели.");//сообщение игрок
return 1;
}
else if(health+25 > 100.0) SetPlayerHealth(playerid, 100.0);
else SetPlayerHealth(playerid, health+25);
SetTimerEx("DeletePlayerBurger", false, 5000, "i", playerid);
ApplyAnimation(playerid,"GANGS","drnkbr_prtl",3.0, 0, 0, 0, 0, 0);
PlayerPlaySound(playerid, 1055, 0.0, 0.0, 0.0);
GivePlayerMoney(playerid, - 30);
GameTextForPlayer(playerid, "~r~ - 25 $", 5000, 1);
return 1;
}
}
}[/pwn]

Добавлено (20.03.2013, 21:01)
---------------------------------------------

Цитата (sehrget)
В форварды:

Код
forward Check100HP(playerid);

В конец мода

[pwn]public Check100HP(playerid)
{
new Float:health;
GetPlayerHealth(playerid,health);
if (health > 100.0)
{
SetPlayerHealth(playerid, 100)
}
return 1;
}[/pwn]
Это все в любой таймер( Check100HP(playerid); )

Зачем перегружать функции, когда можно добавить одну проверку в команду?




www.weddew-shop.ru
SaibotДата: Среда, 20.03.2013, 21:13 | Сообщение # 11
Освоившийся
Группа: Продвинутые
Сообщений: 112
Награды: 0
Репутация: 34
Замечания: 0%
Статус:
Weddew, Спасибо
Mr_FustДата: Среда, 20.03.2013, 21:34 | Сообщение # 12
Постоялец
Группа: I'm V.I.P.
Сообщений: 444
Награды: 4
Город: Sorry, I don't know
Замечания: 0%
Статус:
Saibot,
Код
SendClientMessage(playerid, COLOR_GREY, "Вы уже достаточно выпили.");

Ибо, от слова "пить", а не "петь"



Я на СРК уже...
sehrgetДата: Среда, 20.03.2013, 21:43 | Сообщение # 13
Постоялец
Группа: Продвинутые
Сообщений: 393
Награды: 2
Город: Украина\Черкассы
Замечания: 40%
Статус:
Цитата (Weddew)
Зачем перегружать функции, когда можно добавить одну проверку в команду?

Есть сервера, где таких(или подобных) багов куча(диамонд с системой /mak и тд.) .


Не могу создать NPS:

В OnGameModeInit:

Код
ConnectNPC("MyFirstNPC","mynpc");

В OnPlayerSpawn:

[pwn] if(IsPlayerNPC(playerid))
{
new npcname[MAX_PLAYER_NAME];
GetPlayerName(playerid, npcname, sizeof(npcname));
if(!strcmp(npcname, "MyFirstNPC", true))
{
PlayerInfo[playerid][pInt] = 3;
SetPlayerVirtualWorld(playerid,1);
SetPlayerPos(playerid, 356.2970,168.9697,1008.3762);
SetPlayerSkin(playerid, 76);
}
return 1;
}[/pwn]
Ошибок нету!

WeddewДата: Среда, 20.03.2013, 21:50 | Сообщение # 14
Группа: Ангел Хранитель
Сообщений: 1237
Награды: 19
Город: Казань
Репутация: 1245
Замечания: 0%
Статус:
Mr_Fust, [off]тогда уж не выпЕли, а спели :) [/off]

Добавлено (20.03.2013, 21:49)
---------------------------------------------
sehrget, ботов необходимо спавнить вручную, функцией SpawnPlayer(playerid).
Пример:
[pwn]public OnPlayerConnect(playerid)
{
new npcname[MAX_PLAYER_NAME];
GetPlayerName(playerid, npcname, sizeof(npcname));
if(!strcmp(npcname, "MyFirstNPC", true)) SpawnPlayer(playerid);
/*
...
*/
return true;
}[/pwn]

Добавлено (20.03.2013, 21:50)
---------------------------------------------

Цитата (sehrget)
Есть сервера, где таких(или подобных) багов куча(диамонд с системой /mak и тд.) .

И? Что с этого то? Это не повод писать новые функции, когда можно обойтись условием в 1 строку.




www.weddew-shop.ru
GeryyДата: Четверг, 21.03.2013, 03:03 | Сообщение # 15
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
Цитата (Weddew)
когда можно обойтись условием в 1 строку.

Тогда можно и условие убрать, пусть пьют сколько влезет :)

[pwn]
new Float:health;
GetPlayerHealth(playerid, health);
health = (health <= 75.0) ? health + 25.0 : 100.0;
SetPlayerHealth(playerid, health);
[/pwn]



Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
Форум SAMP о мультиплеерах для GTA. » SAMP скачивание и обсуждение » Вопросы и Проблемы » Вопросы и ответы по GTA SAMP [от 19.03.2013]
Страница 1 из 151123150151»
Поиск:





 

Игры для детей: подвижные, развивающие детские игры

 


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