 |
|
 |
|
|
|
Последние Файлы 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 |
| |
|
|
| artemganin1999 | Дата: Суббота, 07.09.2013, 13:01 | Сообщение # 1546 |
|
Уверенный в себе
Группа:
Пользователи
Сообщений: 184
Награды: 0
Репутация: -28
Замечания: 0%
Статус: 
| большое спасибо, ну и заодно вопросик, у меня в моде давно стоит античит на тюнинг кара через собейт, я попробывал на улице затюнить все нормально тюнится,не кикает [pwn] if(GetPlayerInterior(playerid) == 0) { SendClientMessage(playerid,COLOR_RED,"Вы были кикнуты за тюнинг кара через собейт."); Kick(playerid); }[/pwn] if(GetPlayerInterior(playerid) == 0) это у меня стоит в public OnVehicleMod(playerid,vehicleid,componentid)
|
| |
|
|
| Geryy | Дата: Суббота, 07.09.2013, 13:22 | Сообщение # 1547 |
|
Советчик
Группа:
Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус: 
| Цитата (artemganin1999) у меня в моде давно стоит античит на тюнинг кара через собейт, я попробывал на улице затюнить все нормально тюнится,не кикает [pwn] public OnVehicleMod(playerid, vehicleid, componentid) { if(GetPlayerInterior(playerid) == 0) { RemoveVehicleComponent(vehicleid,componentid); } return 1; }[/pwn]
Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
|
| |
|
|
| artemganin1999 | Дата: Воскресенье, 08.09.2013, 11:19 | Сообщение # 1548 |
|
Уверенный в себе
Группа:
Пользователи
Сообщений: 184
Награды: 0
Репутация: -28
Замечания: 0%
Статус: 
| В общем я хз почему, все должно работать, администратор запускает cs зону, и когда человек входит в зону (/incs) у него в любой каманде (синих и красных) выполняется И есть команда /killme когда игрок остается один он должен набрать и его объявят победителем, но проблема в том что, даже если на зоне человек 2,10 и т.п. он ее набирает и его объявляет победителем [pwn] if(strcmp(string, "/killme", true) == 0) { if(NaCS[playerid] == 0) return SendClientMessage(playerid, COLOR_RED, "Вы не на КС зоне!"); if(CSPlayers == 1) return SendClientMessage(playerid,COLOR_RED,"Вы ещё не одни в зоне!"); GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, 256, "Region73: Зона окончена, победил: %s!",sendername); SendClientMessageToAll(COLOR_LIGHTBLUE, string); SetPlayerHealth(playerid, 0); return true; } [/pwn]
|
| |
|
|
| Geryy | Дата: Воскресенье, 08.09.2013, 11:41 | Сообщение # 1549 |
|
Советчик
Группа:
Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус: 
| artemganin1999, Проблема в том, что условие if(CSPlayers == 1) не выполняется. Переменная CSPlayers ++; должна не только увеличиваться при входе игрока на CS, но и уменьшаться при выходе/дисконнекте CSPlayers --;
Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
Сообщение отредактировал Geryy - Воскресенье, 08.09.2013, 11:41 |
| |
|
|
| artemganin1999 | Дата: Воскресенье, 08.09.2013, 14:33 | Сообщение # 1550 |
|
Уверенный в себе
Группа:
Пользователи
Сообщений: 184
Награды: 0
Репутация: -28
Замечания: 0%
Статус: 
| и как это поправить (
|
| |
|
|
| Geryy | Дата: Воскресенье, 08.09.2013, 15:48 | Сообщение # 1551 |
|
Советчик
Группа:
Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус: 
| Цитата (artemganin1999) и как это поправить ( Для начала изменить условие:
[pwn]
if(strcmp(string, "/killme", true) == 0) { if(NaCS[playerid] == 0) return SendClientMessage(playerid, COLOR_RED, "Вы не на КС зоне!"); if(CSPlayers == 1) { GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, 256, "Region73: Зона окончена, победил: %s!",sendername); SendClientMessageToAll(COLOR_LIGHTBLUE, string); SetPlayerHealth(playerid, 0); } return true; } [/pwn]
Вобще завершение зоны по команде игрока это глупо, лучше сделать это все автоматически используя OnPlayerDeath
Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
Сообщение отредактировал Geryy - Воскресенье, 08.09.2013, 15:52 |
| |
|
|
| artemganin1999 | Дата: Вторник, 10.09.2013, 15:27 | Сообщение # 1552 |
|
Уверенный в себе
Группа:
Пользователи
Сообщений: 184
Награды: 0
Репутация: -28
Замечания: 0%
Статус: 
| а вот возможно следующие, вот я использую диалог для хилки [pwn] if(dialogid == 2626) { if(response) { PlayerInfo[playerid][pMoney] -= 500; SetPlayerHealth(playerid, 100.0); SendClientMessage(playerid, COLOR_GREEN, "Вы успешно похилились."); } else { SetPlayerPos(playerid,1461.0078,2767.1785,10.8203); SendClientMessage(playerid, COLOR_RED, "Вы отменили хилку."); } }[/pwn] но делать для каждой фракции диалог с разной SetPlayerPos не удобно, можно как нибудь сделать чтобы просто его телепортровало рядом к тому месту где он былДобавлено (10.09.2013, 12:20) --------------------------------------------- сам разобрался Добавлено (10.09.2013, 15:27) --------------------------------------------- а как сделать чтобы ник скрывался нормально, то есть вот допустим у меня стоит [pwn] if(listitem == 0) { foreach(Player,i) { if(IsPlayerConnected(i)) { ShowPlayerNameTagForPlayer(i, playerid, 0); } } SetPlayerSkin(playerid,29); PlayerInfo[playerid][pMaskuse] = 1; format(string, sizeof(string), "Íåèçâåñòíûé íàäåë ìàñêèðîâêó."); ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); }[/pwn] а когда этот игрок заходит и выходит из здания то ник опять виден
|
| |
|
|
| Saibot | Дата: Вторник, 10.09.2013, 15:41 | Сообщение # 1553 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 112
Награды: 0
Репутация: 34
Замечания: 0%
Статус: 
| artemganin1999,
Попробуй так. Вставь это в конец мода:
Код
|
| |
|
|
| Tomas_Reed | Дата: Четверг, 12.09.2013, 15:09 | Сообщение # 1554 |
|
Новенький
Группа:
Пользователи
Сообщений: 8
Награды: 0
Город: *LVIV*
Репутация: 0
Замечания: 0%
Статус: 
| Всем привет, обьясните нубу как запихнуть всё это в .so, если кто может, запихните и скиньте ссылочку, буду очень благодарен (Просто в комплекте с серваком был только .dll, а мне нужен линуксовский, вот нашёл его клона для запихивания, хееелп)
|
| |
|
|
| artemganin1999 | Дата: Четверг, 12.09.2013, 21:59 | Сообщение # 1555 |
|
Уверенный в себе
Группа:
Пользователи
Сообщений: 184
Награды: 0
Репутация: -28
Замечания: 0%
Статус: 
| Как правильно написать команду для отправки пароля на mail ? Пробывал [pwn] if(strcmp(string, "/команда",true) == 0) { SendClientMessage(playerid,COLOR_LIGHTBLUE,"Пароль был выслан на указанный Mail"); format(string,sizeof(string),"Ваш текущий пароль: %s",pKey); SendMail(pMail,"admin@rpg.ru","Восстановление пароля",string); return true; }[/pwn] выводит сообщение пароль выслан, и выдает Uknow comand, а на мыло присылается заместо пароля .000
|
| |
|
|
| Solitarioni | Дата: Четверг, 12.09.2013, 22:09 | Сообщение # 1556 |
|
Постоялец
Группа:
I'm V.I.P.
Сообщений: 350
Награды: 12
Город: Ростов-на-Дону
Репутация: 198
Замечания: 0%
Статус: 
| Подскажите анимацию, чтобы посадить игрока на стул. Анимации сиденья из библиотеки FOOD погружаются на половину под землю. Так же если игрока поставить на стул и включить анимацию, он хоть и погрузиться в стул, но недостаточно силоно. Вообщем как посадить игрока на стул? Эксперементировал с TogglePlayerControllable, всеравно нечего не получилось.
Справочник стандартных функций:
a_vehicles file.inc a_sampdb.inc a_samp callbacks a_players.inc a_objects.inc
|
| |
|
|
| 4o_kavo | Дата: Пятница, 13.09.2013, 11:50 | Сообщение # 1557 |
|
Постоялец
Группа:
I'm V.I.P.
Сообщений: 354
Награды: 2
Город: Красноярск
Репутация: 216
Замечания: 0%
Статус: 
| Как все это вписать в мод? кто сможет подробно объямнить какие строки и куда нужно прописывать?
Код /* Prohibido TOTALMENTE el Robo de Créditos o la Publicación de este FILTERSCRIPT sin Mi Permiso.
SIMPLE FILTERSCRIPT --> Flatulencias en SA-MP 'Troll' CREDITOS: OTACON <img rel="usm" src="http://www.samp-rus.com/Smiles_for_forum/wink.gif" border="0" align="absmiddle" alt=";)" /> NOTA: Menos Creditos para los que me los critican.. JO'PUTAS! <img rel="usm" src="http://www.samp-rus.com/Smiles_for_forum/lol.gif" border="0" align="absmiddle" alt=":D" /> xD <img rel="usm" src="http://www.samp-rus.com/Smiles_for_forum/wink.gif" border="0" align="absmiddle" alt=";)" /> */ #include <a_samp> #include <zcmd>
new MatarFlatulencia[MAX_PLAYERS][2]; new FlatulenciaTroll[MAX_PLAYERS][2]; #define EfectoPedo (18687) #define EfectoEructo (18729)
public OnFilterScriptInit() { print("\n**************************************"); print(" Flatulencias en SA-MP 'Troll' "); print(" Fecha: 12/07/2013 "); print(" Autor: OTACON "); print(" --* Cargado con Exito!!. *-- "); print("***************************************\n"); return true; } public OnFilterScriptExit() { print("\n**************************************"); print(" Flatulencias en SA-MP 'Troll' "); print(" Fecha: 12/07/2013 "); print(" Autor: OTACON "); print(" --* Descargado con Exito!!. *-- "); print("***************************************\n"); return true; } COMMAND:pedo(playerid, params[]) { if(!IsPlayerConnected(playerid) || GetPlayerState(playerid)!=PLAYER_STATE_ONFOOT) return true; new Float:pos[3]; GetPlayerPos(playerid, pos[0], pos[1], pos[2]); DestroyObject(FlatulenciaTroll[playerid][0]); FlatulenciaTroll[playerid][0]=CreateObject(EfectoPedo, pos[0], pos[1], pos[2], 0.000, 0.000, 0.000); AttachObjectToPlayer(FlatulenciaTroll[playerid][0], playerid, 0.0, 0.0, -1.9, 0.0, 0.0, 180.0); PlayAudioStreamForPlayerEx(playerid, 8.0, "http://www.sonidosmp3gratis.com/sounds/los-frijoles_1.mp3"); KillTimer(MatarFlatulencia[playerid][0]); MatarFlatulencia[playerid][0]=SetTimerEx("MatarFlatulencia_1", 1000, false, "d", playerid); return true; } COMMAND:eructo(playerid, params[]) { if(!IsPlayerConnected(playerid) || GetPlayerState(playerid)!=PLAYER_STATE_ONFOOT) return true; new Float:pos[3]; GetPlayerPos(playerid, pos[0], pos[1], pos[2]); DestroyObject(FlatulenciaTroll[playerid][1]); FlatulenciaTroll[playerid][1]=CreateObject(EfectoEructo, pos[0], pos[1], pos[2], 0.000, 0.000, 0.000); AttachObjectToPlayer(FlatulenciaTroll[playerid][1], playerid, 0.0, 0.0, -0.9, 0.0, 0.0, 360.0); PlayAudioStreamForPlayerEx(playerid, 8.0, "http://www.sonidosmp3gratis.com/sounds/burp3.mp3"); KillTimer(MatarFlatulencia[playerid][1]); MatarFlatulencia[playerid][1]=SetTimerEx("MatarFlatulencia_2", 1000, false, "d", playerid); return true; } forward MatarFlatulencia_1(playerid); public MatarFlatulencia_1(playerid) { KillTimer(MatarFlatulencia[playerid][0]); DestroyObject(FlatulenciaTroll[playerid][0]); } forward MatarFlatulencia_2(playerid); public MatarFlatulencia_2(playerid) { KillTimer(MatarFlatulencia[playerid][1]); DestroyObject(FlatulenciaTroll[playerid][1]); } /* Prohibido TOTALMENTE el Robo de Créditos o la Publicación de este FILTERSCRIPT sin Mi Permiso.
SIMPLE FILTERSCRIPT --> Flatulencias en SA-MP 'Troll' CREDITOS: OTACON <img rel="usm" src="http://www.samp-rus.com/Smiles_for_forum/wink.gif" border="0" align="absmiddle" alt=";)" /> NOTA: Menos Creditos para los que me los critican.. JO'PUTAS! <img rel="usm" src="http://www.samp-rus.com/Smiles_for_forum/lol.gif" border="0" align="absmiddle" alt=":D" /> xD <img rel="usm" src="http://www.samp-rus.com/Smiles_for_forum/wink.gif" border="0" align="absmiddle" alt=";)" /> */ stock PlayAudioStreamForPlayerEx(playerid, Float:Distancia, url[]) { //By OTACON new Float:Pos[3]; GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]); if(IsPlayerConnected(playerid)) { StopAudioStreamForPlayer(playerid); PlayAudioStreamForPlayer(playerid, url, Pos[0], Pos[1], Pos[2]); for(new player=0; player<GetMaxPlayers(); player++) { if(!IsPlayerConnected(player)) continue; if(GetPlayerInterior(playerid) == GetPlayerInterior(player) && GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(player)) { if(IsPlayerConnected(player) && (player != playerid) && IsPlayerStreamedIn(playerid,player)) { if(IsPlayerInRangeOfPoint(player, Distancia, Pos[0], Pos[1], Pos[2])) { StopAudioStreamForPlayer(player); PlayAudioStreamForPlayer(player, url, Pos[0], Pos[1], Pos[2]); } } } } } return true; } /* Prohibido TOTALMENTE el Robo de Créditos o la Publicación de este FILTERSCRIPT sin Mi Permiso.
SIMPLE FILTERSCRIPT --> Flatulencias en SA-MP 'Troll' CREDITOS: OTACON <img rel="usm" src="http://www.samp-rus.com/Smiles_for_forum/wink.gif" border="0" align="absmiddle" alt=";)" /> NOTA: Menos Creditos para los que me los critican.. JO'PUTAS! <img rel="usm" src="http://www.samp-rus.com/Smiles_for_forum/lol.gif" border="0" align="absmiddle" alt=":D" /> xD <img rel="usm" src="http://www.samp-rus.com/Smiles_for_forum/wink.gif" border="0" align="absmiddle" alt=";)" /> */
-=»>Русский Дрифт Серввер «<=- IP: 176.32.36.131:7777
GTA-Rus.com - Grand Theft Auto
|
| |
|
|
| Weddew | Дата: Пятница, 13.09.2013, 18:23 | Сообщение # 1558 |
|
Группа:
Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус: 
| 4o_kavo, Цитата (Weddew) [ Краткая инструкция для вшивания 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`ов Вы не обнаружили кода, то переходите к следующему пункту инструкции.
www.weddew-shop.ru
|
| |
|
|
| artemganin1999 | Дата: Пятница, 13.09.2013, 20:50 | Сообщение # 1559 |
|
Уверенный в себе
Группа:
Пользователи
Сообщений: 184
Награды: 0
Репутация: -28
Замечания: 0%
Статус: 
| Цитата (artemganin1999) Как правильно написать команду для отправки пароля на mail ? Пробывал upДобавлено (13.09.2013, 20:50) --------------------------------------------- так [pwn]if(strcmp(string, "/команда",true) == 0) { SendClientMessage(playerid,COLOR_LIGHTBLUE,"Пароль был выслан на указанный Mail"); format(string,sizeof(string),"Ваш текущий пароль: %s",pKey); SendMail(pMail,"admin@rpg.ru","Восстановление пароля",string); return true; }[/pwn]
|
| |
|
|
| Weddew | Дата: Пятница, 13.09.2013, 22:09 | Сообщение # 1560 |
|
Группа:
Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус: 
| Цитата (Tomas_Reed) Всем привет, обьясните нубу как запихнуть всё это в .so, если кто может, запихните и скиньте ссылочку, буду очень благодарен (Просто в комплекте с серваком был только .dll, а мне нужен линуксовский, вот нашёл его клона для запихивания, хееелп) Файл с расширением so - библиотека семейства ОС Linux. В статье, ссылку на которую вы указали, указаны функции по работе с файлами. Также там есть описание каждой функции.Добавлено (13.09.2013, 22:09) --------------------------------------------- Lonely_Tramp, попробуйте поэксперементировать с координатами, а именно с координатой Z (высота).
www.weddew-shop.ru
|
| |
|
|
|
 |
|
 | |
| |
|