 |
|
 |
|
|
|
Последние Файлы GTA 4 |
Последние Файлы GTA-MP |
Реклама |
|
|
|
|
|
Вопросы и ответы по GTA SAMP [от 19.03.2013]
| |
| Weddew | Дата: Вторник, 19.03.2013, 15:11 | Сообщение # 1 |
|
Группа:
Ангел Хранитель
Сообщений: 1251
Награды: 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 |
| |
|
|
| Weddew | Дата: Пятница, 19.04.2013, 14:04 | Сообщение # 436 |
|
Группа:
Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус: 
| Цитата (|||WampiR|||) Почему в SAMP'E некоторые буквы вообще поидеи английские а их показывает по русски? Чаще всего первая буква предложения. Установите это
www.weddew-shop.ru
|
| |
|
|
| [[[WampiR]]] | Дата: Пятница, 19.04.2013, 14:10 | Сообщение # 437 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус: 
| Weddew, Это будет действовать только для меня? А для других игроков все будет как и было?
|
| |
|
|
| Anthony | Дата: Пятница, 19.04.2013, 15:12 | Сообщение # 438 |
|
Уверенный в себе
Группа:
Publishers
Сообщений: 211
Награды: 4
Замечания: 0%
Статус: 
| Цитата (Weddew) Объект случайно не динамический?
Если я правильно понимаю слово "динамический" то объект динамический
[off]Динамический объект - это объект, пикап, иконка, чекпоинт[/off]
Вообщем я не могу предамать какую нибудь проверку для удаления объект "object1" Вот код: Код new Float:X,Float:Y,Float:Z; GetPlayerPos(playerid, X,Y,Z); CreateObject(596, X, Y, Z-2.4, 0, 0, 0); new object1 = CreateObject(18253, X-1, Y+39, Z+10, 0, 0, 0); new Float:X1,Float:Y1,Float:Z1; GetPlayerPos(playerid, X1,Y1,Z1); MoveObject(object1, X1+3, Y1-5, Z1,3.0); if(ObjectToPoint(50,object1, X1, Y1, Z1))// пробовал такую проверку что то не рубит. { DestroyObject(object1); } return 1; }
|
| |
|
|
| Weddew | Дата: Пятница, 19.04.2013, 15:45 | Сообщение # 439 |
|
Группа:
Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус: 
| Цитата (Vsevolod) пробовал такую проверку что то не рубит. Она и не сработает, так как вы проверяете координаты сразу же после начала движения объекта.Добавлено (19.04.2013, 15:45) --------------------------------------------- [[[WampiR]]], это русификатор для игры.
www.weddew-shop.ru
|
| |
|
|
| Anthony | Дата: Пятница, 19.04.2013, 15:50 | Сообщение # 440 |
|
Уверенный в себе
Группа:
Publishers
Сообщений: 211
Награды: 4
Замечания: 0%
Статус: 
| Цитата (Weddew) Она и не сработает, так как вы проверяете координаты сразу же после начала движения объекта.
Можешь посоветовать какую попробовать или ввести новые кординаты?
|
| |
|
|
| [[[WampiR]]] | Дата: Пятница, 19.04.2013, 15:57 | Сообщение # 441 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус: 
| Weddew, Да вот почемуто на одном сервере у меня все норм по английски показывает а именно на моем не все английские.
|
| |
|
|
| Weddew | Дата: Пятница, 19.04.2013, 16:21 | Сообщение # 442 |
|
Группа:
Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус: 
| Цитата (Vsevolod) Можешь посоветовать какую попробовать или ввести новые кординаты? В вашем случае загнать проверку в таймер с рекурсией.
www.weddew-shop.ru
|
| |
|
|
| Saibot | Дата: Пятница, 19.04.2013, 17:41 | Сообщение # 443 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 112
Награды: 0
Репутация: 34
Замечания: 0%
Статус: 
| На /giverank мне удалось поставить проверку на пол, а на /invite пробывал вопше недавало скин. Помогите поставить. [cut noguest=/invite код][pwn]if(strcmp(cmd, "/invite", true) == 0) { if(IsPlayerConnected(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "/invite [playerid/PartOfName]"); return 1; } new para1; new ftext[25]; new fteam; para1 = ReturnUser(tmp); if (PlayerInfo[playerid][pLeader] >= 1) { if(IsPlayerConnected(para1)) { if(para1 != INVALID_PLAYER_ID) { if (gTeam[para1]==TEAM_GREEN && PlayerInfo[para1][pMember] == 0 && PlayerInfo[para1][pFMember] == 255) { if(PlayerInfo[playerid][pLeader] == 1) { ftext = "Полицию LS"; fteam = 1; } else if(PlayerInfo[playerid][pLeader] == 2) { ftext = "ФБР"; fteam = 2; } else if(PlayerInfo[playerid][pLeader] == 3) { ftext = "Армию"; fteam = 3; } else if(PlayerInfo[playerid][pLeader] == 4) { ftext = "Медики"; fteam = 4; } else if(PlayerInfo[playerid][pLeader] == 5) { ftext = "La Cosa Nostra"; fteam = 5; } else if(PlayerInfo[playerid][pLeader] == 6) { ftext = "Yakuza"; fteam = 6; } else if(PlayerInfo[playerid][pLeader] == 7) { ftext = "Коллегию Адвокатов"; fteam = 7; } else if(PlayerInfo[playerid][pLeader] == 8) { ftext = "Наёмные Убийцы"; fteam = 8; } else if(PlayerInfo[playerid][pLeader] == 9) { ftext = "Репортёры"; fteam = 9; } else if(PlayerInfo[playerid][pLeader] == 10) { ftext = "Taxi Cab Company"; fteam = 10; } else if(PlayerInfo[playerid][pLeader] == 11) { ftext = "Black Kings"; fteam = 11; } else if(PlayerInfo[playerid][pLeader] == 12) { ftext = "StreetRacer"; fteam = 12; } else if(PlayerInfo[playerid][pLeader] == 13) { ftext = "The Grove Street"; fteam = 13; } else if(PlayerInfo[playerid][pLeader] == 14) { ftext = "El Coronos"; fteam = 14; } else if(PlayerInfo[playerid][pLeader] == 15) { ftext = "Los Santos Vagos"; fteam = 15; } else if(PlayerInfo[playerid][pLeader] == 19) { ftext = "San Fiero Rifa"; fteam = 19; } else if(PlayerInfo[playerid][pLeader] == 16) { ftext = "The Balla's Gang"; fteam = 16; } else if(PlayerInfo[playerid][pLeader] == 17) { ftext = "Hell Angels"; fteam = 17; } else if(PlayerInfo[playerid][pLeader] == 18) { ftext = "The Triada Mafia"; fteam = 18; } else if(PlayerInfo[playerid][pLeader] == 20) { ftext = "Русскую Мафию"; fteam = 20; } else if(PlayerInfo[playerid][pLeader] == 21) { ftext = "Полицию LV"; fteam = 21; } else return 1; GetPlayerName(playerid, sendername, sizeof(sendername)); //GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); format(string, sizeof(string), "Лидер %s предложил(a) вступить тебе в %s. (/accept team)",sendername, ftext); SendClientMessage(para1,COLOR_LIGHTBLUE,string); SetPVarInt(para1, "PlayerInvite", playerid); GetPlayerName(para1, giveplayer, sizeof(giveplayer)); format(string, sizeof(string), "Ты пригласил(а) %s вступить к тебе во Фракцию/Организацию.", giveplayer); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); AccTeam = fteam; AccPeople[para1] = 1; } else { SendClientMessage(playerid, COLOR_GRAD2, "Этот игрок настоящее время,Меняет Команду или во франкции."); return 1; } } }//not connected } else { SendClientMessage(playerid, COLOR_GRAD2, "Вы не уполномочены использовать эту команду (Лидерам)"); } } return 1; }[/pwn][/cut] [cut noguest=/accept team код][pwn]if(strcmp(x_job,"team",true) == 0) { if(IsPlayerConnected(playerid)) { if(AccPeople[playerid] == 0) { SendClientMessage(playerid, COLOR_WHITE, "Тебя никто не приглашал во Фракцию/Банду."); } else { new frak; SetPlayerHealth(playerid, 0); frak = AccTeam; new name[64]; AccPeople[playerid] = 0; GetPlayerName(playerid,name, sizeof(name)); format(string, sizeof(string), "%s присоединился(ась) к нам в Организацию/Фракцию", name); SendFamilyMessage(frak, COLOR_LIGHTBLUE, string); PlayerInfo[playerid][pMember] = frak; PlayerInfo[playerid][pRank] = 1; PlayerInfo[playerid][pOrigin] = 0; //SetPlayerHealth(playerid, 0); if(frak == 1) { PlayerInfo[playerid][pModel] = 280; SetPlayerSkin(playerid, 280); } else if(frak == 2) { PlayerInfo[playerid][pModel] = 285; SetPlayerSkin(playerid, 285); } else if(frak == 3) { PlayerInfo[playerid][pModel] = 287; SetPlayerSkin(playerid, 287); } else if(frak == 4) { PlayerInfo[playerid][pModel] = 71; SetPlayerSkin(playerid, 71); } else if(frak == 5) { PlayerInfo[playerid][pModel] = 98; SetPlayerSkin(playerid, 98); } else if(frak == 6) { PlayerInfo[playerid][pModel] = 121; SetPlayerSkin(playerid, 121); } else if(frak == 7) { PlayerInfo[playerid][pModel] = 217; SetPlayerSkin(playerid, 217); } else if(frak == 8) { PlayerInfo[playerid][pModel] = 165; SetPlayerSkin(playerid, 165); } else if(frak == 9) { PlayerInfo[playerid][pModel] = 290; SetPlayerSkin(playerid, 290); } else if(frak == 10) { PlayerInfo[playerid][pModel] = 261; SetPlayerSkin(playerid, 261); } else if(frak == 11) { PlayerInfo[playerid][pModel] = 183; SetPlayerSkin(playerid, 183); } else if(frak == 12) { PlayerInfo[playerid][pModel] = 21; SetPlayerSkin(playerid, 21); } else if(frak == 13) { PlayerInfo[playerid][pModel] = 105; SetPlayerSkin(playerid, 105); } else if(frak == 14) { PlayerInfo[playerid][pModel] = 47; SetPlayerSkin(playerid, 47); } else if(frak == 15) { PlayerInfo[playerid][pModel] = 108; SetPlayerSkin(playerid, 108); } else if(frak == 16) { PlayerInfo[playerid][pModel] = 28; SetPlayerSkin(playerid, 28); } else if(frak == 17) { PlayerInfo[playerid][pModel] = 248; SetPlayerSkin(playerid, 248); } else if(frak == 18) { PlayerInfo[playerid][pModel] = 170; SetPlayerSkin(playerid, 170); } else if(frak == 19) { PlayerInfo[playerid][pModel] = 184; SetPlayerSkin(playerid, 184); } else if(frak == 20) { PlayerInfo[playerid][pModel] = 206; SetPlayerSkin(playerid, 206); } else if(frak == 21) { PlayerInfo[playerid][pModel] = 280; SetPlayerSkin(playerid, 280); } } } }[/pwn][/cut]
|
| |
|
|
| Anthony | Дата: Пятница, 19.04.2013, 19:36 | Сообщение # 444 |
|
Уверенный в себе
Группа:
Publishers
Сообщений: 211
Награды: 4
Замечания: 0%
Статус: 
| Цитата (Weddew) В вашем случае загнать проверку в таймер с рекурсией. [off]Можно пример с любым действием?[/off]
Сообщение отредактировал Vsevolod - Пятница, 19.04.2013, 19:47 |
| |
|
|
| Nikita01041997 | Дата: Суббота, 20.04.2013, 04:50 | Сообщение # 445 |
|
Новенький
Группа:
Пользователи
Сообщений: 74
Награды: 0
Город: Алейск
Репутация: -37
Замечания: 0%
Статус: 
| Vsevolod, попробуй так: [pwn]for (new i; i < sizeof(object1); i++) RemoveBuildingForPlayer(object1[i]);[/pwn]
люблю этот сайт
|
| |
|
|
| Weddew | Дата: Суббота, 20.04.2013, 10:44 | Сообщение # 446 |
|
Группа:
Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус: 
| Vsevolod, все должно работать с этим, если объект не динамический (для динамических OnDynamicObjectMoved). Добавлено (20.04.2013, 10:44) ---------------------------------------------
Цитата (|||WampiR|||) Weddew, Да вот почемуто на одном сервере у меня все норм по английски показывает а именно на моем не все английские. Посмотрите свои тектдравы, возможно заменены некоторые символы.
www.weddew-shop.ru
|
| |
|
|
| SPACE_MAN | Дата: Суббота, 20.04.2013, 15:47 | Сообщение # 447 |
|
Новенький
Группа:
Пользователи
Сообщений: 35
Награды: 0
Репутация: 0
Замечания: 0%
Статус: 
| Война банд с захватом территории, такое вообще есть в самп , если есть можете ссылку дать?
Смерть SPACE_MAN-у
|
| |
|
|
| Merbul | Дата: Суббота, 20.04.2013, 16:29 | Сообщение # 448 |
|
Новенький
Группа:
Пользователи
Сообщений: 71
Награды: 0
Репутация: -28
Замечания: 0%
Статус: 
| Здарова всем. Помогите сделать хороший античит для собоейта и т.д.
|
| |
|
|
| [[[WampiR]]] | Дата: Суббота, 20.04.2013, 16:45 | Сообщение # 449 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус: 
| Как сделать чтобы вылазило диалоговое окно?[pwn] for(new g=0; g < MAX_PLAYERS; g++) if(PlayerInfo[g][pAdmin]>0) admintick++; if(admintick == 0) SendClientMessage(playerid,-1,"На сервере нет доступных админов, чтобы сменить ник!");[/pwn] И подскажите как сделать чтобы писало это если на сервере нету только админов 9 уровня и больше.
|
| |
|
|
| Merbul | Дата: Суббота, 20.04.2013, 19:22 | Сообщение # 450 |
|
Новенький
Группа:
Пользователи
Сообщений: 71
Награды: 0
Репутация: -28
Замечания: 0%
Статус: 
| Помогите убрать эту черную полоску http://s018.radikal.ru/i515/1304/ce/af165098d382.jpg
|
| |
|
|
|
 |
|
 | |
| |
|