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

 



 
          





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





Последние Файлы 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
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: Alcoholik  
[FAQ] проверка на бота (мод godfather)
vlad20Дата: Четверг, 17.06.2010, 23:21 | Сообщение # 1
Постоялец
Группа: I'm V.I.P.
Сообщений: 417
Награды: 5
Город: Одесса
Репутация: 82
Замечания: 60%
Статус:
Я увидел много вопросов по этому поводу и решил описать тут как сделать чтобы бот не вылетал(сам когда-то боролся с этой проблемой)
Вставляете if(IsPlayerNPC(playerid)) return 1; в начала таких пабликов :

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
public OnPlayerConnect(playerid)
public SetPlayerSpawn(playerid)
public OnPlayerDeath(playerid, killerid, reason)
public OnPlayerStateChange(playerid, newstate, oldstate)
public OnPlayerRequestClass(playerid, classid)
public OnPlayerRegister(playerid, password[])
public OnPlayerUpdate(playerid)
public OnPlayerLogin(playerid,password[])
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)

P.S:Для нубов
вот пример как правильно добавить в любой из пабликов
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(IsPlayerNPC(playerid)) return 1;
затем остальные ваши коды


Сообщение отредактировал vlad20 - Четверг, 17.06.2010, 23:44
Dima-kunДата: Четверг, 17.06.2010, 23:29 | Сообщение # 2
Группа: Разработчики
Сообщений: 6269
Награды: 72
Репутация: 3512
Замечания: 0%
Статус:
vlad20, я это уже писал..


Мои работы:
[INC] Сборник d_includes [LAST],[FS] New Demage Effect,[FS]Авто-Поворотники,
[FS]mp3player,[FS] Fun Chat Game,[FS] Car Buy Syst,[FS] Anti-AirBrk,[INC] d_setpos,
[GM] Game Move v0.1,[FS+include]Super-Armour [0.3z],[FS + Include] Multi Checkpoints
vlad20Дата: Четверг, 17.06.2010, 23:41 | Сообщение # 3
Постоялец
Группа: I'm V.I.P.
Сообщений: 417
Награды: 5
Город: Одесса
Репутация: 82
Замечания: 60%
Статус:
DizeL-ZR, ты написал как его создать,но проверку досконально не описал


Сообщение отредактировал vlad20 - Четверг, 17.06.2010, 23:42
_LexA_Дата: Четверг, 17.06.2010, 23:43 | Сообщение # 4
Долгожитель
Группа: Продвинутые
Сообщений: 1437
Награды: 161
Город: Ростов-на-Дону
Репутация: 563
Замечания: 20%
Статус:
если делать выше написанную проверку еше и в пабликах бензина тд те которые в стандарте не возвращяются например как idlekick checkgas нужно возвращать либо делать проверку типа if(!IsPlayerNPC(i))
Quote (vlad20)
public OnGameModeInit()

нафига?

ManyДата: Пятница, 18.06.2010, 15:05 | Сообщение # 5
Новенький
Группа: Пользователи
Сообщений: 60
Награды: 0
Город: Гренландия
Репутация: -14
Замечания: 0%
Статус:
Вот все вствил так:
Code
public OnPlayerConnect(playerid)
     {
     [b]if(IsPlayerNPC(playerid)) return 1;[/b]
{
  if(Security != 0)
  {
      SendClientMessage(playerid, COLOR_YELLOW, "Вы были кикнуты.");
      Kick(playerid);
      return 1;

И вылетают, вот такие ошибки:
Code
I:\игры\МОД!!!!!!!!!!!!!!!!\gamemodes\vc.pwn(1787) : error 004: function "SetPlayerToTeamColor" is not implemented
I:\игры\МОД!!!!!!!!!!!!!!!!\gamemodes\vc.pwn(1812) : error 004: function "SetPlayerToTeamColor" is not implemented
I:\игры\МОД!!!!!!!!!!!!!!!!\gamemodes\vc.pwn(1882) : error 004: function "PlayerToPoint" is not implemented
I:\игры\МОД!!!!!!!!!!!!!!!!\gamemodes\vc.pwn(1886) : error 004: function "PlayerToPoint" is not implemented
I:\игры\МОД!!!!!!!!!!!!!!!!\gamemodes\vc.pwn(1890) : error 004: function "PlayerToPoint" is not implemented
I:\игры\МОД!!!!!!!!!!!!!!!!\gamemodes\vc.pwn(1902) : error 004: function "PlayerToPoint" is not implemented
I:\игры\МОД!!!!!!!!!!!!!!!!\gamemodes\vc.pwn(1906) : error 004: function "PlayerToPoint" is not implemented
I:\игры\МОД!!!!!!!!!!!!!!!!\gamemodes\vc.pwn(1910) : error 004: function "PlayerToPoint" is not implemented
I:\игры\МОД!!!!!!!!!!!!!!!!\gamemodes\vc.pwn(1914) : error 004: function "PlayerToPoint" is not implemented
I:\игры\МОД!!!!!!!!!!!!!!!!\gamemodes\vc.pwn(1918) : error 004: function "PlayerToPoint" is not implemented
I:\игры\МОД!!!!!!!!!!!!!!!!\gamemodes\vc.pwn(1922) : error 004: function "PlayerToPoint" is not implemented
I:\игры\МОД!!!!!!!!!!!!!!!!\gamemodes\vc.pwn(1926) : error 004: function "PlayerToPoint" is not implemented
I:\игры\МОД!!!!!!!!!!!!!!!!\gamemodes\vc.pwn(1938) : error 004: function "PlayerToPoint" is not implemented
I:\игры\МОД!!!!!!!!!!!!!!!!\gamemodes\vc.pwn(1942) : error 004: function "PlayerToPoint" is not implemented
I:\игры\МОД!!!!!!!!!!!!!!!!\gamemodes\vc.pwn(1946) : error 004: function "PlayerToPoint" is not implemented
I:\игры\МОД!!!!!!!!!!!!!!!!\gamemodes\vc.pwn(1950) : error 004: function "PlayerToPoint" is not implemented
I:\игры\МОД!!!!!!!!!!!!!!!!\gamemodes\vc.pwn(1954) : error 004: function "PlayerToPoint" is not implemented
I:\игры\МОД!!!!!!!!!!!!!!!!\gamemodes\vc.pwn(1966) : error 004: function "PlayerToPoint" is not implemented
I:\игры\МОД!!!!!!!!!!!!!!!!\gamemodes\vc.pwn(1970) : error 004: function "PlayerToPoint" is not implemented
I:\игры\МОД!!!!!!!!!!!!!!!!\gamemodes\vc.pwn(1974) : error 004: function "PlayerToPoint" is not implemented
I:\игры\МОД!!!!!!!!!!!!!!!!\gamemodes\vc.pwn(1986) : error 004: function "PlayerToPoint" is not implemented
I:\игры\МОД!!!!!!!!!!!!!!!!\gamemodes\vc.pwn(1990) : error 004: function "PlayerToPoint" is not implemented
I:\игры\МОД!!!!!!!!!!!!!!!!\gamemodes\vc.pwn(2053) : error 079: inconsistent return types (array & non-array)
I:\игры\МОД!!!!!!!!!!!!!!!!\gamemodes\vc.pwn(2054) : warning 217: loose indentation
I:\игры\МОД!!!!!!!!!!!!!!!!\gamemodes\vc.pwn(2059) : error 079: inconsistent return types (array & non-array)
I:\игры\МОД!!!!!!!!!!!!!!!!\gamemodes\vc.pwn(2216) : error 004: function "ClearCrime" is not implemented
I:\игры\МОД!!!!!!!!!!!!!!!!\gamemodes\vc.pwn(2217) : error 004: function "ClearFishes" is not implemented

Compilation aborted.Pawn compiler 3.2.3664     Copyright (c) 1997-2006, ITB CompuPhase

26 Errors.

Помогите плиз!!!



[img]http://monitoring.sangta.ru/userbar-83.69.226.239:7888.jpg[/img]
V1ceДата: Пятница, 18.06.2010, 15:38 | Сообщение # 6
Группа: Пользователи
Сообщений: 294
Награды: 21
Город: 4'K.
Репутация: 324
Замечания: 100%
Статус:
Если у тебя LARP, то такая фишка не прокатит crazy
AwmДата: Пятница, 18.06.2010, 15:40 | Сообщение # 7
Группа: I'm V.I.P.
Сообщений: 3235
Награды: 55
Город: Tallinn
Репутация: 1661
Замечания: 0%
Статус:
Quote (Many)
И вылетают, вот такие ошибки:

скобку где-то пропустил.
{ или }




"Life is hard... life is harder if you're stupid." - John Wayne
ManyДата: Пятница, 18.06.2010, 17:24 | Сообщение # 8
Новенький
Группа: Пользователи
Сообщений: 60
Награды: 0
Город: Гренландия
Репутация: -14
Замечания: 0%
Статус:
Я делал все вот поэтому образцу:
Code
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(IsPlayerNPC(playerid)) return 1;

Если можете, то вставте правильно в код:
[/code]public OnPlayerConnect(playerid)

{
if(Security != 0)
{
SendClientMessage(playerid, COLOR_YELLOW, "Âû áûëè êèêíóòû.");
Kick(playerid);
return 1;
}

gActivePlayers[playerid]++;
numplayers++;
new plname[MAX_PLAYER_NAME];
new string[MAX_PLAYER_NAME];
new str[256], condisname[MAX_PLAYER_NAME];
GetPlayerName(playerid, condisname, sizeof(condisname));
format(str, sizeof(str), "%s[%d] ïðèñîåäèíèëñÿ ê ñåðâåðó !", condisname,playerid);
SendClientMessageToAll(COLOR_YELLOW2, str);
new f;
GetPlayerName(playerid,plname,MAX_PLAYER_NAME);
if(strfind(plname,"_",true,1)!=-1)
f=1;
if(plname[strlen(plname)-1]=='_')
f=0;
for(new i=0;i<strlen(plname);i++)
if((plname[i]<='9')&&(plname[i]>='0'))
f=0;
if(!f)
{[code]


[img]http://monitoring.sangta.ru/userbar-83.69.226.239:7888.jpg[/img]
_LexA_Дата: Пятница, 18.06.2010, 22:02 | Сообщение # 9
Долгожитель
Группа: Продвинутые
Сообщений: 1437
Награды: 161
Город: Ростов-на-Дону
Репутация: 563
Замечания: 20%
Статус:
public OnPlayerConnect(playerid)
{
if(IsPlayerNPC(playerid)) return 1;
if(Security != 0)
{
SendClientMessage(playerid, COLOR_YELLOW, "Âû áûëè êèêíóòû.");
Kick(playerid);
return 1;
}
gActivePlayers[playerid]++;
numplayers++;

ManyДата: Суббота, 19.06.2010, 09:47 | Сообщение # 10
Новенький
Группа: Пользователи
Сообщений: 60
Награды: 0
Город: Гренландия
Репутация: -14
Замечания: 0%
Статус:
Везде поставил, все также проходит 5 секунд и бот выходит....


[img]http://monitoring.sangta.ru/userbar-83.69.226.239:7888.jpg[/img]
HELKERNДата: Суббота, 19.06.2010, 10:55 | Сообщение # 11
Уважаемый человек
Группа: I'm V.I.P.
Сообщений: 767
Награды: 17
Город: Улан-Удэ
Репутация: 206
Замечания: 0%
Статус:
public OnPlayerConnect(playerid) // тут тупо ненужно ему это
public OnPlayerStateChange(playerid, newstate, oldstate) //убераем выкид из машины если без прав
public OnPlayerSpawn(playerid) // тут мы убераем кик за спавн без реги

по идее больше никуда не надо ставить, если не идут доп. проверки

Добавлено (19.06.2010, 10:55)
---------------------------------------------

Quote (Many)
Везде поставил, все также проходит 5 секунд и бот выходит....

бот в авто или пешком?

_LexA_Дата: Суббота, 19.06.2010, 18:08 | Сообщение # 12
Долгожитель
Группа: Продвинутые
Сообщений: 1437
Награды: 161
Город: Ростов-на-Дону
Репутация: 563
Замечания: 20%
Статус:
Quote (HELKERN)
public OnPlayerConnect(playerid) // тут тупо ненужно ему это

нужно если стоит проверка на рп ник а у бота ник не рп

HELKERNДата: Суббота, 19.06.2010, 20:21 | Сообщение # 13
Уважаемый человек
Группа: I'm V.I.P.
Сообщений: 767
Награды: 17
Город: Улан-Удэ
Репутация: 206
Замечания: 0%
Статус:
Quote (_LexA_)
а у бота ник не рп

Сделай рп, что тебе мешает?

ManyДата: Суббота, 19.06.2010, 21:31 | Сообщение # 14
Новенький
Группа: Пользователи
Сообщений: 60
Награды: 0
Город: Гренландия
Репутация: -14
Замечания: 0%
Статус:
Спс, теперь бот заходит, но он не садится в машину а стоит вообще где-то непонятно вот код скрипта:
Code
#include <a_samp>

#define FILTERSCRIPT

#if defined FILTERSCRIPT

new BotCar;

public OnFilterScriptInit()
{
   ConnectNPC("Bot_Patric","Untitled");
   BotCar = CreateVehicle(431,0,0,0,0,0,0,0);
   return 1;
}

public OnFilterScriptExit()
{
   return 1;
}

#else
#endif

public OnPlayerSpawn(playerid)
{
      if(IsPlayerNPC(playerid))
      {
          new npcname[MAX_PLAYER_NAME];
          GetPlayerName(playerid, npcname, sizeof(npcname));
          if(!strcmp(npcname, "Bot_Patric", true))
          {
              PutPlayerInVehicle(playerid, BotCar, 0);
          }
          return 1;
      }
      return 1;
}

Может, что неправильно, или что- то в моде недоделал?



[img]http://monitoring.sangta.ru/userbar-83.69.226.239:7888.jpg[/img]
_LexA_Дата: Суббота, 19.06.2010, 21:33 | Сообщение # 15
Долгожитель
Группа: Продвинутые
Сообщений: 1437
Награды: 161
Город: Ростов-на-Дону
Репутация: 563
Замечания: 20%
Статус:
Quote (HELKERN)
что тебе мешает

мне это зачем?

Добавлено (19.06.2010, 21:33)
---------------------------------------------

Quote (Many)
он не садится в машину

проверки поставь в
public OnPlayerStateChange
public OnPlayerEnterVehicle

  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:





 


 


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