 |
|
 |
|
|
|
Последние Файлы 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 | Дата: Суббота, 13.07.2013, 10:24 | Сообщение # 1201 |
|
Уверенный в себе
Группа:
Пользователи
Сообщений: 184
Награды: 0
Репутация: -28
Замечания: 0%
Статус: 
| Блин ( Я скачал ParadoX rpg, и там заменил все слова "ParadoX" на "Region73-RPG" и заменил сайт, скомпилировал, и когда заходишь в игру , респавнишься в скине Сид жея ((( Конечно /makeleader помогает но после перезахода опять этот скин((
|
| |
|
|
| pepysteam | Дата: Суббота, 13.07.2013, 13:58 | Сообщение # 1202 |
|
Новенький
Группа:
Пользователи
Сообщений: 16
Награды: 0
Город: Бельцы
Репутация: 0
Замечания: 0%
Статус: 
| http://hostingkartinok.com/show-im....a4becec вот скрин по поводу палубы , помогите ))Добавлено (13.07.2013, 13:58) --------------------------------------------- и вот реально последний вопрос где можно найти список объектов для SA-MP Constructoin желательно со скринами ) или хотя бы ид тех объектов которых нету в MTA Editor 
|
| |
|
|
| ExCo4 | Дата: Суббота, 13.07.2013, 20:57 | Сообщение # 1203 |
|
Новенький
Группа:
Пользователи
Сообщений: 7
Награды: 0
Город: Belogorsk
Репутация: 0
Замечания: 0%
Статус: 
| Всем привет, работаю над модом возникла проблема с выдачей денег победителю за раунд. Код if(IsOnePlayer) { if(Winner != -1) { new string[256]; GivePlayerMoney(Winner,5000); format(string, 256, "~y~~h~%s~n~~r~~h~ one on the map", name_encode(PlayerName(Winner), 2)); TextDrawSetString(WinnerText, string); Winner = -1; } } else { if(PlayersOnMap == 1) { if(Winner != -1) { new string[256]; GivePlayerMoney(Winner,5000); SetPlayerScore(Winner, GetPlayerScore(Winner)+1); format(string, 256, "{ffff00}* Èãðîê {ffffff}%s{ffff00} Ïîáåäèë! Îí ïîëó÷àåò 5.000$ äåíåã è +1 point ê ðåïóòàöèè!",name_encode(PlayerName(Winner), 2)); SendClientMessageToAll(COLOR_RED,string); format(string, 256, "~y~~h~%s~n~~r~~h~won on the round.", name_encode(PlayerName(Winner), 2)); TextDrawSetString(WinnerText, string); Winner = -1; } } }
if(BeforeVoteTimerID == -1 && VoteTimerID == -1 && CountDownTimerID == -1 && !IsMapStarts) { BeforeVoteCount = 5; BeforeVoteTimerID = SetTimer("CountDownBeforeVoting", 1000, true); } return 1; } Победителю должны давать 5к денег, но не дают. В моде ошибок нет. В чем проблема?
Exclusive DM.
|
| |
|
|
| Weddew | Дата: Суббота, 13.07.2013, 21:04 | Сообщение # 1204 |
|
Группа:
Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус: 
| ExCo4, полностью функцию выложите, а не ее тело. Добавлено (13.07.2013, 21:04) --------------------------------------------- pepysteam, это только в MTA, в SA-MP изначально объект присутствует.
www.weddew-shop.ru
|
| |
|
|
| ExCo4 | Дата: Суббота, 13.07.2013, 21:11 | Сообщение # 1205 |
|
Новенький
Группа:
Пользователи
Сообщений: 7
Награды: 0
Город: Belogorsk
Репутация: 0
Замечания: 0%
Статус: 
| Weddew, вот Код EndMap() { print("EndMap"); if(IsOnePlayer) { if(Winner != -1) { new string[256]; GivePlayerMoney(Winner,5000); format(string, 256, "~y~~h~%s~n~~r~~h~ one on the map", name_encode(PlayerName(Winner), 2)); TextDrawSetString(WinnerText, string); Winner = -1; } } else { if(PlayersOnMap == 1) { if(Winner != -1) { new string[256]; GivePlayerMoney(Winner,5000); SetPlayerScore(Winner, GetPlayerScore(Winner)+1); format(string, 256, "{ffff00}* Èãðîê {ffffff}%s{ffff00} Ïîáåäèë! Îí ïîëó÷àåò 5.000$ äåíåã è +1 point ê ðåïóòàöèè!",name_encode(PlayerName(Winner), 2)); SendClientMessageToAll(COLOR_RED,string); format(string, 256, "~y~~h~%s~n~~r~~h~won on the round.", name_encode(PlayerName(Winner), 2)); TextDrawSetString(WinnerText, string); Winner = -1; } } }
if(BeforeVoteTimerID == -1 && VoteTimerID == -1 && CountDownTimerID == -1 && !IsMapStarts) { BeforeVoteCount = 5; BeforeVoteTimerID = SetTimer("CountDownBeforeVoting", 1000, true); } return 1; }
Exclusive DM.
|
| |
|
|
| Weddew | Дата: Суббота, 13.07.2013, 21:57 | Сообщение # 1206 |
|
Группа:
Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус: 
| ExCo4, ID игрока должен находится в переменной Winner. В месте, где происходит вызов функции EndMap(), присваивайте переменной Winner ID игрока.
www.weddew-shop.ru
|
| |
|
|
| ABATAP | Дата: Суббота, 13.07.2013, 23:28 | Сообщение # 1207 |
|
Советчик
Группа:
Продвинутые
Сообщений: 1007
Награды: 14
Город: Новосибирск
Репутация: 729
Замечания: 0%
Статус: 
| [pwn]#define DIALOG_POKUPKA_AUTO 3754[/pwn]
[pwn]public OnPlayerStateChange(playerid, newstate, oldstate) { new string[128]; if(newstate == PLAYER_STATE_DRIVER) { if(IsAOwnableVehicle(GetPlayerVehicleID(playerid))) { new number = GetVehicleID(GetPlayerVehicleID(playerid)); if(!strcmp(FP_CarInfo[number][ocOwner],"The State",true)) { format(string, sizeof(string), "Транспорт на продажу\nМодель: %s\nЦена: %d$",VehiclesName[GetVehicleModel(FP_OwnableCar[number])-400], FP_CarInfo[number][ocCost]); ShowPlayerDialog(playerid,DIALOG_POKUPKA_AUTO,DIALOG_STYLE_MSGBOX,"Авторынок",string,"Купить","Выйти"); TogglePlayerControllable(playerid,0); } } } return 1; }[/pwn]
[pwn]public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == DIALOG_POKUPKA_AUTO) { if(response) OnPlayerCommandText(playerid,"/v buy"); else RemovePlayerFromVehicle(playerid); }[/pwn]
При нажатии на кнопку "купить" ничего не происходит. Вводишь команду - все работает. В чем может быть проблема?
Сообщение отредактировал ABATAP - Суббота, 13.07.2013, 23:29 |
| |
|
|
| Borog | Дата: Воскресенье, 14.07.2013, 01:45 | Сообщение # 1208 |
|
Долгожитель
Группа:
I'm V.I.P.
Сообщений: 1362
Награды: 43
Город: Москва
Репутация: 1249
Замечания: 20%
Статус: 
| ABATAP, а в самом паблике OnPlayerCommandText есть проверка на эту команду? Может через zcmd реализовано или тп?
Silver Break http://s-break.ru/ http://vk.com/sbreak
|
| |
|
|
| ABATAP | Дата: Воскресенье, 14.07.2013, 01:55 | Сообщение # 1209 |
|
Советчик
Группа:
Продвинутые
Сообщений: 1007
Награды: 14
Город: Новосибирск
Репутация: 729
Замечания: 0%
Статус: 
| Цитата (Borog) OnPlayerCommandText
[pwn] if(strcmp(x_job,"buy",true) == 0) { if(FP_CarKey[playerid] != 0)return SendClientMessage(playerid,COLOR_GREY,"Ó âàñ óæå åñòü ëè÷íûé òðàíñïîðò."); if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_GREY, "Òû äîëæåí íàõîäèòüñÿ â òðàíñïîðòå!"); new buycar = GetPlayerVehicleID(playerid),number = GetVehicleID(buycar); if(!IsAOwnableVehicle(buycar))return SendClientMessage(playerid,COLOR_GREY,"Ýòîò òðàíñïîðò íå äëÿ ïðîäàæè."); if(!strcmp(FP_CarInfo[number][ocOwner],"The State",true)) { if(GetPlayerMoney(playerid) < FP_CarInfo[number][ocCost]) { SendClientMessage(playerid, COLOR_GREY, "Ó âàñ íåäîñòàòî÷íî äåíåã äëÿ ïîêóïêè."); RemoveFromVehicle(playerid); return 1; } SendClientMessage(playerid, COLOR_WHITE, "Ïîçäðàâëÿþ! Òåïåðü ýòîò òðàíñïîðò ïðèíàäëåæèò òåáå!"); GivePlayerMoney(playerid,-FP_CarInfo[number][ocCost]); strmid(FP_CarInfo[number][ocOwner], name, 0, strlen(name), 999); FP_CarInfo[number][ocLock] = 1; GetVehicleParamsEx(buycar,engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(buycar,engine,lights,alarm,1,bonnet,boot,objective); FP_CarKey[playerid] = number; SaveOwnableCars(); TogglePlayerControllable(playerid,1); format(string, sizeof(string), "[Âëàäåëåö: %s]",FP_CarInfo[number][ocOwner]); Update3DTextLabelText(vehicle3Dtext[number], 0xFFA500AA,string); return 1; } return 1; }[/pwn]
|
| |
|
|
| RusKey | Дата: Воскресенье, 14.07.2013, 12:01 | Сообщение # 1210 |
|
Группа:
I'm V.I.P.
Сообщений: 1086
Награды: 25
Город: Санкт-Петербург
Репутация: 273
Замечания: 80%
Статус: 
| Поделитесь названиями мап editor*ов вроде MTA,только с прилегающей функцией удаления объектов. Что то вот после пере установки винды не найти мне их в яндексе.
Сообщение отредактировал RusKey - Воскресенье, 14.07.2013, 12:02 |
| |
|
|
| Eakwarp | Дата: Воскресенье, 14.07.2013, 12:07 | Сообщение # 1211 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 4874
Награды: 179
Город: Москва
Репутация: 2543
Замечания: 60%
Статус: 
| RusKey, все потому, что надо не в яндексах искать, а на офф форуме.
http://forum.sa-mp.com/showthread.php?t=282801
More than 4 years of development, more than 250,000 lines of source code, more than a hundred units and more than 3400 revisions. Valakas Roleplay - choose your role.
Valakas Roleplay on Twitter
Платные консультации, разработка, в ICQ. Дорого.
|
| |
|
|
| Electroschokk | Дата: Воскресенье, 14.07.2013, 13:10 | Сообщение # 1212 |
|
Новенький
Группа:
Пользователи
Сообщений: 7
Награды: 0
Репутация: 0
Замечания: 0%
Статус: 
| Такой вопрос, хочу сделать список игроков в диалоговом окне. например, список админов. чтобы прописать в их в чате: Код new count=0; for(new i=0; i<MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { if(logged[i] == 1) { if(PlayerInfo[i][pAdmin] >= 1) { new str[256]; new pname[24]; GetPlayerName(i, pname, 24); if(IsPlayerAdmin(i)) format(str, 256, "%s (Rcon admin)", pname); else format(str, 256, "%s [Level - %d]", pname, PlayerInfo[i][pAdmin]); SendClientMessage(playerid, COLOR_ADMIN, str); count++; } } } } то есть для каждого админа форматируется сообщение и отправляет в чат в каждой строчке по админу. а вот как сделать чтобы этот список выводился в ShowPlayerDialog, у меня мозга не хватает)) помогите:)
|
| |
|
|
| denis1495 | Дата: Воскресенье, 14.07.2013, 17:22 | Сообщение # 1213 |
|
Новенький
Группа:
Пользователи
Сообщений: 1
Награды: 0
Репутация: 0
Замечания: 0%
Статус: 
| Под скажите название данного скрипта,выделен красным [cut noguest] [/cut]
sdsd
Сообщение отредактировал Weddew - Воскресенье, 14.07.2013, 19:58 |
| |
|
|
| Weddew | Дата: Воскресенье, 14.07.2013, 20:03 | Сообщение # 1214 |
|
Группа:
Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус: 
| Electroschokk, [pwn]new count=0, dialogstr[128]; for(new i=0; i<MAX_PLAYERS; i++) { if(IsPlayerConnected(i) && logged[i] && PlayerInfo[i][pAdmin] >= 1) { new str[256]; new pname[24]; GetPlayerName(i, pname, 24); if(IsPlayerAdmin(i)) format(str, 256, "%s (Rcon admin)\n", pname); else format(str, 256, "%s [Level - %d]\n", pname, PlayerInfo[i][pAdmin]); strcat(dialogstr, str); count++; } } if(count != 0) ShowPlayerDialog(playerid, 9354, 0, "Администрация онлайн", dialogstr, "Закрыть", "");[/pwn]Добавлено (14.07.2013, 20:03) --------------------------------------------- denis1495, обыкновенное прикрепление 3D текста к игроку.
www.weddew-shop.ru
|
| |
|
|
| pepysteam | Дата: Воскресенье, 14.07.2013, 22:18 | Сообщение # 1215 |
|
Новенький
Группа:
Пользователи
Сообщений: 16
Награды: 0
Город: Бельцы
Репутация: 0
Замечания: 0%
Статус: 
| у меня вот такая проблема http://hostingkartinok.com/show-image.php?id=5443d1aaf55020941e9986f2b732157c есть ли такой сетки скажем один квадратик , или не большой кусок ?
|
| |
|
|
|
 |
|
 | |
| |
|