[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, то такая фишка не прокатит
|
|
|
|
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
|
|
|
|