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

 



 
        
Подви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
Страница 7 из 151«1256789150151»
Модератор форума: 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]]]Дата: Среда, 27.03.2013, 19:34 | Сообщение # 91
Уверенный в себе
Группа: Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус:
Помогите решить проблему с античитом. У меня при продажи респектов (exp) они продаются другому игроку а у того игрока которому я их продаю деньги не убовляются и мне тоже не пребовляются. Но респекты уходят. Может кто знает в чем проблема.

[pwn]if(strcmp(cmd, "/sellresp", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pExp]==0)
{
SendClientMessage(playerid,COLOR_GREY,"У вас нет респектов!");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_LIGHTRED, "Используйте: /sellexp [id] [кол-во][сумма]");
return 1;
}
new playa;
new money;
new kolvo;
playa = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) { return 1; }
kolvo = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) { return 1; }
money = strval(tmp);
if(kolvo > PlayerInfo[playerid][pExp]) { SendClientMessage(playerid, COLOR_GREY, "У вас нет столько респектов!"); return 1; }
if(kolvo <= 0) { SendClientMessage(playerid, COLOR_GREY, "Неверное количество!"); return 1; }
if(IsPlayerConnected(playa))
{
if(playa != INVALID_PLAYER_ID)
{
if (ProxDetectorS(8.0, playerid, playa))
{
if(playa == playerid)
{
SendClientMessage(playerid, COLOR_GREY, "Себе нельзя продать респекты!");
return 1;
}
GetPlayerName(playa, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "Вы предложили %s[%d] купить респекты[%d] за $%d.", giveplayer, playerid, kolvo, money);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "Вам предложили купить респекты[%d] за $%d игрок %s[%d](/accept respect)", kolvo, money, sendername, playerid);
SendClientMessage(playa, COLOR_LIGHTBLUE, string);
ExpOffer[playa] = playerid;
ExpPrice[playa] = money;
ExpKolvo[playa] = kolvo;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Игрок не рядом с вами! !");
}
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Игрок не в игре.");
}
}
return 1;
}[/pwn]

[pwn] if(strcmp(x_job,"respect",true) == 0)
{
if(ExpOffer[playerid] < 999)
{
if(GetPlayerMoney(playerid) > ExpPrice[playerid])
{
if(IsPlayerConnected(ExpOffer[playerid]))
{
GetPlayerName(ExpOffer[playerid], giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "Вы успешно продали респекты.");
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "У вас успешно куплены респекты.");
SendClientMessage(ExpOffer[playerid], COLOR_LIGHTBLUE, string);
GivePlayerMoney(playerid, -ExpPrice[playerid]);
GivePlayerMoney(ExpOffer[playerid],ExpPrice[playerid]);
PlayerInfo[playerid][pExp] += ExpKolvo[playerid];
PlayerInfo[ExpOffer[playerid]][pExp] -= ExpKolvo[playerid];
ExpOffer[playerid] = 999;
ExpPrice[playerid] = 0;
ExpKolvo[playerid] = 0;
return 1;
}
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "У вас не хватает денег!");
return 1;
}
}[/pwn]

Добавлено (27.03.2013, 19:02)
---------------------------------------------
Сам античит такой
NormMoney[playerid] = 2;
AntiMoney[playerid] = AntiMoney[playerid] - ExpPrice[playerid];
GivePlayerMoney(playerid, -ExpKolvo[playerid]);

Добавлено (27.03.2013, 19:34)
---------------------------------------------
Я сделал. Но сейчас у игрока который покупает у меня их деньги отнимаются а мне они не прибовляются.

Life-StoryДата: Среда, 27.03.2013, 20:34 | Сообщение # 92
Освоившийся
Группа: Продвинутые
Сообщений: 91
Награды: 3
Репутация: 89
Замечания: 20%
Статус:
помогите пожалуйста,при конекте 3-4 игрока на сервер происходит краш что это может быть?


Mr_FustДата: Среда, 27.03.2013, 20:52 | Сообщение # 93
Постоялец
Группа: I'm V.I.P.
Сообщений: 444
Награды: 4
Город: Sorry, I don't know
Замечания: 0%
Статус:
Цитата (Life-Story)
краш

Краш сервера, краш последующих вошедших игроков, краш уже имеющихся игроков?



Я на СРК уже...
Life-StoryДата: Четверг, 28.03.2013, 00:56 | Сообщение # 94
Освоившийся
Группа: Продвинутые
Сообщений: 91
Награды: 3
Репутация: 89
Замечания: 20%
Статус:
Цитата (Mr_Fust)
Краш сервера, краш последующих вошедших игроков, краш уже имеющихся игроков?

Краш последующих вошедших игоков ,то есть 2-3 заходят норм следющих начинает крашить

Добавлено (28.03.2013, 00:56)
---------------------------------------------
Краш выяснил это из-за Intro TextDraw кто поможет вырезать или испарвить,отблагодарю...




Сообщение отредактировал Life-Story - Четверг, 28.03.2013, 00:01
GeryyДата: Четверг, 28.03.2013, 03:16 | Сообщение # 95
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
Цитата (Life-Story)
Краш выяснил это из-за Intro TextDraw кто поможет вырезать или испарвить,отблагодарю...

Ну выкладывай сервер, посмотрим.



Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
Life-StoryДата: Четверг, 28.03.2013, 06:17 | Сообщение # 96
Освоившийся
Группа: Продвинутые
Сообщений: 91
Награды: 3
Репутация: 89
Замечания: 20%
Статус:
Цитата (Geryy)
Ну выкладывай сервер, посмотрим.


Вот

вот тут можно проверить: [cut noguest=не реклама]91.105.232.68:7802[/cut]

P.s. Крашит рандомно попробывал 3 раза подряд зарегаться все норм,но знакомые говарят на выборе скина кикает или крашит при спавне...





Сообщение отредактировал Life-Story - Четверг, 28.03.2013, 09:36
mkr_Дата: Четверг, 28.03.2013, 12:09 | Сообщение # 97
Новенький
Группа: Пользователи
Сообщений: 51
Награды: 0
Репутация: 1
Замечания: 0%
Статус:
Здраствуйте , нужна помощь , хочу сделать так , чтобы можно было заходить в RC автомобили , жду ответа , заранее спасибо =)


http://makarons-house.do.am/osk/votdebil.gif
uDenXДата: Четверг, 28.03.2013, 12:24 | Сообщение # 98
Группа: Media-ProGroup
Сообщений: 1193
Награды: 23
Город: Салават
Репутация: 1301
Замечания: 0%
Статус:
mkr_,
Добавь ко всем define:
[pwn]#define RC_BANDIT 441
#define RC_BARON 464
#define RC_GOBLIN 501
#define RC_RAIDER 465
#define RC_TANK 564
#define RC_CAM 594
#define D_TRAM 449
[/pwn]
В паблик OnPlayerKeyStateChange:
[pwn]
if(newkeys == KEY_SECONDARY_ATTACK)
{
if(!IsPlayerInAnyVehicle(playerid))
{
new Float:x, Float:y, Float:z, vehicle;
GetPlayerPos(playerid, x, y, z );
GetVehicleWithinDistance(playerid, x, y, z, 20.0, vehicle);
if(IsVehicleRcTram(vehicle))
{
PutPlayerInVehicle(playerid, vehicle, 0);
}
}
else
{
new VID = GetPlayerVehicleID(playerid);
if(IsVehicleRcTram(VID) || GetVehicleModel(VID) == RC_CAM)
{
if(GetVehicleModel(VID) != D_TRAM)
{
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
SetPlayerPos(playerid, x+0.5, y, z+1.0);
}
}
}
}
}
GetVehicleWithinDistance( playerid, Float:x1, Float:y1, Float:z1, Float:dist, &veh)
{
for(new i = 1; i < MAX_VEHICLES; i++)
{
if(GetVehicleModel(i) > 0)
{
if(GetPlayerVehicleID(playerid) != i )
{
new Float:x, Float:y, Float:z;
new Float:x2, Float:y2, Float:z2;
GetVehiclePos(i, x, y, z);
x2 = x1 - x; y2 = y1 - y; z2 = z1 - z;
new Float:vDist = (x2*x2+y2*y2+z2*z2);
if( vDist < dist)
{
veh = i;
dist = vDist;
}
}
}
}
}
IsVehicleRcTram( vehicleid )
{
new model = GetVehicleModel(vehicleid);
switch(model)
{
case D_TRAM, RC_GOBLIN, RC_BARON, RC_BANDIT, RC_RAIDER, RC_TANK:
return 1;
default: return 0;
}
[/pwn]
[srt]Код не мой[/srt]



Life-StoryДата: Четверг, 28.03.2013, 12:55 | Сообщение # 99
Освоившийся
Группа: Продвинутые
Сообщений: 91
Награды: 3
Репутация: 89
Замечания: 20%
Статус:
del




Сообщение отредактировал Life-Story - Четверг, 28.03.2013, 13:53
[[[WampiR]]]Дата: Четверг, 28.03.2013, 17:12 | Сообщение # 100
Уверенный в себе
Группа: Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус:
Кто знает как сделать чтобы игрок когда пишет определенную команду для телепорта его замораживало там?
Вот сама комманда:
[pwn] if(strcmp(cmd, "/mp", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pAdmin] >= 0)
{
if (GetPlayerState(playerid) == 2)
{
new tmpcar = GetPlayerVehicleID(playerid);
SetVehiclePos(tmpcar, 2737.3770,-1760.3307,44.1383);
TelePos[playerid][0] = 0.0;TelePos[playerid][1] = 0.0;
}
else
{
SetPlayerPos(playerid, 2737.3770,-1760.3307,44.1383);
}
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Вы в зоне ожидания. Ожидайте телепортации!");
SetPlayerInterior(playerid,0);
PlayerInfo[playerid][pInt] = 0;
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Вы не уполномочены использовать эту команду!");
}
}
return 1;
}[/pwn]
Как сделать чтобы после того как он ее напишет его телепортировало и заморозило?

BorogДата: Четверг, 28.03.2013, 18:01 | Сообщение # 101
Долгожитель
Группа: I'm V.I.P.
Сообщений: 1362
Награды: 43
Город: Москва
Репутация: 1249
Замечания: 20%
Статус:
[[[WampiR]]],
перед SetPlayerInterior(playerid,0); вставь TogglePlayerControllable(playerid, false);



Silver Break
http://s-break.ru/
http://vk.com/sbreak
[[[WampiR]]]Дата: Четверг, 28.03.2013, 18:30 | Сообщение # 102
Уверенный в себе
Группа: Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус:
Borog, Спасибо. А вот чтобы размораживало при еще одной команде что надо сделать?
WeddewДата: Четверг, 28.03.2013, 18:55 | Сообщение # 103
Группа: Ангел Хранитель
Сообщений: 1237
Награды: 19
Город: Казань
Репутация: 1245
Замечания: 0%
Статус:
Цитата (|||WampiR|||)
А вот чтобы размораживало при еще одной команде что надо сделать?

Не трудно догадаться:
[pwn]TogglePlayerControllable(playerid, true);[/pwn]




www.weddew-shop.ru
[[[WampiR]]]Дата: Четверг, 28.03.2013, 19:10 | Сообщение # 104
Уверенный в себе
Группа: Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус:
Weddew, Незнаешь как сделать такой код? Вот когда игроки пишут /mp их телепортирует в определенное место и замораживает. Потом когда я пишу /mptp и токо тех игроков которые писали /mp телепортирует ко мне. И когда я написал это /mptp другие уже не могут написать /mp им пишут мероприятие уже началось. Вот такой код трудно сделать?
WeddewДата: Четверг, 28.03.2013, 19:48 | Сообщение # 105
Группа: Ангел Хранитель
Сообщений: 1237
Награды: 19
Город: Казань
Репутация: 1245
Замечания: 0%
Статус:
Цитата (|||WampiR|||)
Weddew, Незнаешь как сделать такой код? Вот когда игроки пишут /mp их телепортирует в определенное место и замораживает. Потом когда я пишу /mptp и токо тех игроков которые писали /mp телепортирует ко мне. И когда я написал это /mptp другие уже не могут написать /mp им пишут мероприятие уже началось. Вот такой код трудно сделать?

Не трудно. Объявляете переменную, которая будет отвечать за начало мероприятия и массив со значениями участия для игроков. Описываете команду начала и конца мероприятия, а также команду для принятия участия в этом мероприятии. Проверяя значения этой переменной и делайте различные манипуляции. Все очень просто.




www.weddew-shop.ru


Сообщение отредактировал Weddew - Четверг, 28.03.2013, 19:49
Форум SAMP о мультиплеерах для GTA. » SAMP скачивание и обсуждение » Вопросы и Проблемы » Вопросы и ответы по GTA SAMP [от 19.03.2013]
Страница 7 из 151«1256789150151»
Поиск:





 


 


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