 |
|
 |
|
|
|
Последние Файлы 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 |
| |
|
|
| [[[WampiR]]] | Дата: Воскресенье, 28.04.2013, 22:25 | Сообщение # 601 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус: 
| vla9ik, Ну у "Weddew" возможно итак показывает. Без изменения функции Kick.
|
| |
|
|
| Damien_LOL | Дата: Воскресенье, 28.04.2013, 22:47 | Сообщение # 602 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 133
Награды: 3
Город: Екатеринбург
Репутация: 8
Замечания: 0%
Статус: 
| При запуске сервера в консоли пишет "Function not registered Streamer_CallbackHook". Сервер 0.3х, плагин скачал для 0.3х от инкогнито. Плагин .dll точно есть в папке plugins, в конфиге он точно прописан и ОС точно винда. Помогите исправить, незнаю что делать. Первый раз стример ставлю) с меня плюс
Http://vk.com/minusdot.team
|
| |
|
|
| Weddew | Дата: Воскресенье, 28.04.2013, 22:56 | Сообщение # 603 |
|
Группа:
Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус: 
| Цитата (Damien_LOL) При запуске сервера в консоли пишет "Function not registered Streamer_CallbackHook". Сервер 0.3х, плагин скачал для 0.3х от инкогнито. Плагин .dll точно есть в папке plugins, в конфиге он точно прописан и ОС точно винда. Помогите исправить, незнаю что делать. Первый раз стример ставлю) с меня плюс Мод компилировали с новым инклудом streamer`a?
www.weddew-shop.ru
|
| |
|
|
| Damien_LOL | Дата: Воскресенье, 28.04.2013, 22:57 | Сообщение # 604 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 133
Награды: 3
Город: Екатеринбург
Репутация: 8
Замечания: 0%
Статус: 
| Цитата (Weddew) Мод компилировали с новым инклудом streamer`a? Конечно
Http://vk.com/minusdot.team
|
| |
|
|
| Weddew | Дата: Воскресенье, 28.04.2013, 23:20 | Сообщение # 605 |
|
Группа:
Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус: 
| Цитата (Damien_LOL) Конечно Попробуйте скачать и установить эту версию, а также, обязательно замените инклуд на тот, что в архиве.
www.weddew-shop.ru
|
| |
|
|
| Damien_LOL | Дата: Воскресенье, 28.04.2013, 23:23 | Сообщение # 606 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 133
Награды: 3
Город: Екатеринбург
Репутация: 8
Замечания: 0%
Статус: 
| Проблема решилась, причем очень глупым способом. При нажатии на заменить файл, старый плагин заменялся на старый. Удалил старый и поставил новый и все заработало. Weddew, спасибо за проявленную помощь)
Http://vk.com/minusdot.team
|
| |
|
|
| Weddew | Дата: Воскресенье, 28.04.2013, 23:27 | Сообщение # 607 |
|
Группа:
Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус: 
| Damien_LOL, рад был помочь
www.weddew-shop.ru
|
| |
|
|
| Artem_T | Дата: Понедельник, 29.04.2013, 00:51 | Сообщение # 608 |
|
Освоившийся
Группа:
I'm V.I.P.
Сообщений: 132
Награды: 26
Город: Полтава
Репутация: 59
Замечания: 40%
Статус: 
| Weddew, да смотрел уже, она поидее возвращает кол-во секунд, а у меня я к этому кол-ву не могу ничего добавить new time = gettime(); format(str, 32, "%d,%d", time+1000,gettime()); И вот тот самый format выедет мне два одинаковых числа. Почему так?
|
| |
|
|
| [[[WampiR]]] | Дата: Понедельник, 29.04.2013, 09:43 | Сообщение # 609 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус: 
| Подскажите пожалуйста где можно найти эту анимацию. [cut noguest=Картинка] [/cut]
[cut noguest=Картинка2]http://s018.radikal.ru/i522/1304/bf/027d7f3df1ef.jpg[/cut]
Сообщение отредактировал [[[WampiR]]] - Понедельник, 29.04.2013, 09:56 |
| |
|
|
| Saibot | Дата: Понедельник, 29.04.2013, 09:57 | Сообщение # 610 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 112
Награды: 0
Репутация: 34
Замечания: 0%
Статус: 
| У меня такоя проблема:Когда игрока принимают в банду (/invite) или когда дают ранг (/giverank).После смерти игрока у него не сохраняеться скин. [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 предложил вступить тебе в %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] Что добавить в public OnPlayerSpawn(playerid) чтоб сохранялься?
|
| |
|
|
| Artem_T | Дата: Понедельник, 29.04.2013, 14:35 | Сообщение # 611 |
|
Освоившийся
Группа:
I'm V.I.P.
Сообщений: 132
Награды: 26
Город: Полтава
Репутация: 59
Замечания: 40%
Статус: 
| [[[WampiR]]], "ON_LOOKERS", "wave_loop"
|
| |
|
|
| [[[WampiR]]] | Дата: Понедельник, 29.04.2013, 15:03 | Сообщение # 612 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус: 
| Artem_T, Спасибо помог. Добавлено (29.04.2013, 14:48) --------------------------------------------- А как можно сделать чтобы он не замирал после того как махнет? (то есть махал и махал) Добавлено (29.04.2013, 14:49) --------------------------------------------- ApplyAnimation(playerid,"ON_LOOKERS","wave_loop",4.1,0,1,1,1,1); Добавлено (29.04.2013, 15:03) --------------------------------------------- И помогите еще пожалуйста если не трудно сделать чтобы в проверки на анти спид хак кикало только водителя и если он админ то не кикало вообще. [cut noguest=Код][pwn]public Check() { new playerid; new plname[MAX_PLAYER_NAME]; new string[128]; for(new i=0;i<MAX_PLAYERS;i++) if(IsPlayerConnected(i)) { if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) { if(GetSpeedKM(i)>230) { switch(GetVehicleModel(GetPlayerVehicleID(0))) { case 0,592,577,511,512,593,520,553,476,519,460,513: printf("ID%d driving %d with velocity %skm",i,GetVehicleModel(GetPlayerVehicleID(i)),GetSpeedKM(i)); default: { GetPlayerName(i,plname,sizeof(plname)); format(string, sizeof(string), "Zig_Zag: {FFFFFF}%s {FF6347}кикнут (Анти спид хак)", plname); SendClientMessageToAll(COLOR_LIGHTRED,string); Kick(i); } } } } } }[/pwn][/cut]
|
| |
|
|
| Weddew | Дата: Понедельник, 29.04.2013, 15:08 | Сообщение # 613 |
|
Группа:
Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус: 
| Saibot, в конец OnPlayerSpawn: [pwn]SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);[/pwn]
Добавлено (29.04.2013, 15:08) --------------------------------------------- [[[WampiR]]], замените [pwn]if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)[/pwn] на это: [pwn]if(GetPlayerState(i) == PLAYER_STATE_DRIVER && PlayerInfo[playerid][pAdmin] < 1)[/pwn] А также в начале удалите [pwn]new playerid;[/pwn]
www.weddew-shop.ru
Сообщение отредактировал Weddew - Понедельник, 29.04.2013, 15:08 |
| |
|
|
| Saibot | Дата: Понедельник, 29.04.2013, 15:49 | Сообщение # 614 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 112
Награды: 0
Репутация: 34
Замечания: 0%
Статус: 
| Weddew, Спасибо!!! Добавлено (29.04.2013, 15:49) --------------------------------------------- Блин,поставил этот код тепер на оборот /invite скин сохраняеться а /makeleader нет. [cut noguest=public OnPlayerSpawn(playerid)][pwn]public OnPlayerSpawn(playerid) { PlayerObjectUpdate(playerid); //------------------------------------------------------------------------------ SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL, 0); //------------------------------------------------------------------------------ new hour, minute; TextDrawShowForPlayer(playerid,txtTimeDisp);// часы TextDrawHideForPlayer(playerid, Textdraw0); gettime(hour, minute); SetPlayerTime(playerid,hour,minute); //------------------------------------------------------------------------------ TextDrawShowForPlayer(playerid, Textdraw2); TextDrawShowForPlayer(playerid, Textdraw0); InitLockDoors(playerid); Masked[playerid] = 0; STDPlayer[playerid] = 0; gTeam[playerid] = PlayerInfo[playerid][pTeam]; //Set the Team if (gTeam[playerid] == 4) //medic / criminal reset team { gTeam[playerid] = 3; } if(gPlayerLogged[playerid] == 1) { KickPlayer[playerid] = 0; } if(gPlayerLogged[playerid] == 0) { SendClientMessage(playerid, COLOR_LIGHTRED, "Этот сервер требует регистрации! (Kicked)"); KickPlayer[playerid] = 1; } if(gTeam[playerid] == 11 && PlayerInfo[playerid][pLeader] < 1) { MedicBill[playerid] = 0; new rand = random(sizeof(CIV)); SendClientMessage(playerid, COLOR_LIGHTRED, "Вас не одобрили лидером, Вы - теперь Гражданское лицо !"); PlayerInfo[playerid][pTeam] = 3; gTeam[playerid] = 3; SetSpawnInfo(playerid, gTeam[playerid], CIV[rand],0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pModel] = CIV[rand]; R2SPP(playerid); } if(gTeam[playerid] == 5) { if(PlayerInfo[playerid][pMember] < 1) { MedicBill[playerid] = 0; new rand = random(sizeof(CIV)); SendClientMessage(playerid, COLOR_LIGHTRED, "Вы больше не член семьи, Вы - теперь Гражданское лицо !"); PlayerInfo[playerid][pTeam] = 3; gTeam[playerid] = 3; SetSpawnInfo(playerid, gTeam[playerid], CIV[rand],0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pModel] = CIV[rand]; R2SPP(playerid); } } if(gTeam[playerid] == 10) { if(PlayerInfo[playerid][pMember] != 8) { MedicBill[playerid] = 0; new rand = random(sizeof(CIV)); SendClientMessage(playerid, COLOR_LIGHTRED, "* Вы не Член этого Агентства, Вы - теперь Гражданское лицо !"); PlayerInfo[playerid][pTeam] = 3; gTeam[playerid] = 3; SetSpawnInfo(playerid, gTeam[playerid], CIV[rand],0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pModel] = CIV[rand]; R2SPP(playerid); } } if(PlayerInfo[playerid][pChar] > 0) { SetPlayerSkin(playerid, PlayerInfo[playerid][pChar]); } else { SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]); } SetPlayerSpawn(playerid); SetPlayerWeapons(playerid); SetPlayerToTeamColor(playerid); PlayerFixRadio(playerid); //------------------------------------------------------------------------------ SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]); //------------------------------------------------------------------------------ return 1; }[/pwn][/cut]
|
| |
|
|
| Weddew | Дата: Понедельник, 29.04.2013, 16:03 | Сообщение # 615 |
|
Группа:
Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус: 
| Цитата (Saibot) /makeleader нет. В этой команде делайте присвоение скина элементу массива PlayerInfo[playerid][pModel]
www.weddew-shop.ru
|
| |
|
|
|
 |
|
 | |
| |
|