Mc_Trekkie Posted June 14, 2012 Share Posted June 14, 2012 Вот код.Ошибка:Не записывает меня в снайперы.(!) [sERVER] function SpawnSniper () local account = getPlayerAccount ( source ) giveWeapon(source,24, 210) giveWeapon(source,29,210) giveWeapon(source,34,90) setPedSkin(source, 287) setAccountData(account,"Class.dm",Sniper) end addEvent("SpawnSniper",true) addEventHandler("SpawnSniper",getRootElement(),SpawnSniper) addEventHandler( "onPlayerLogin",root, function( thePreviousAccount, theCurrentAccount, autoLogin ) local account = getPlayerAccount ( source ) if not getAccountData( account,"Class.dm" ) then setAccountData( account,"Class.dm", Unknown ) setAccountData( account,"Class.dm", Unknown) end setElementData( source,"Class",getAccountData( account,"Class.dm" ) ) end ) Клиент addEventHandler ("onClientGUIClick", Sniper, --на нажатие кнопки :DD function ( ) triggerServerEvent("SpawnSniper",getLocalPlayer()) showCursor(false) outputChatBox("Ты заспавнился Снайпером!!!", 0, 255, 255) guiSetInputEnabled(false) guiSetVisible(Classes, false) end, false ) Надпись: Ты заспавнился Снайпером выводит,потом Я релогинюсь,выбираю Снайпера,а в Scoreboard nil Ячейку Я добавил(В Scoreboard) Link to comment
LoveFist Posted June 14, 2012 Share Posted June 14, 2012 setAccountData(account,"Class.dm",Sniper) Sniper это переменная или все таки текст? Подозреваю что забыл кавычки написать и естественно получаешь на выходе nil . Link to comment
Mc_Trekkie Posted June 14, 2012 Share Posted June 14, 2012 setAccountData(account,"Class.dm",Sniper) Sniper это переменная или все таки текст? Подозреваю что забыл кавычки написать и естественно получаешь на выходе nil . Это всё таки текст.) Спасибо) Добавлено Как сделать так,чтобы эта проверка выполнялась каждые 30 секунд или что-то в этом роде.На таймер ругается. function lolz ( ) local account = getPlayerAccount ( source ) if not getAccountData( account,"Class.dm" ) then setAccountData( account,"Class.dm", "Unknown" ) end setElementData( source,"Class",getAccountData( account,"Class.dm" ) ) end addEventHandler("onPlayerSpawn",getRootElement(), lolz) setTimer(lolz,1000,0) (После того как добавил таймер ругается на : "setAccountData","getPlayerAccount" и "getAccountData".) Link to comment
Scripting Moderators Sarrum Posted June 14, 2012 Scripting Moderators Share Posted June 14, 2012 function lolz ( ) for index, player in ipairs ( getElementsByType ( "player" ) ) do local account = getPlayerAccount ( player ) if not getAccountData ( account, "Class.dm" ) then setAccountData ( account, "Class.dm", "Unknown" ) end setElementData ( player, "Class", getAccountData ( account, "Class.dm" ) ) end end setTimer ( lolz, 1000, 0 ) Link to comment
TwiX! Posted June 14, 2012 Share Posted June 14, 2012 Flaker Вроде бы как да, так же есть экспорт фунции MacTrekkie что за быдло код? зачем тебе каждые 30 секунд проверять? тем более у всех игроков, только нагрузка лишняя Link to comment
Mc_Trekkie Posted June 14, 2012 Share Posted June 14, 2012 FlakerВроде бы как да, так же есть экспорт фунции MacTrekkie что за быдло код? зачем тебе каждые 30 секунд проверять? тем более у всех игроков, только нагрузка лишняя Это не быдло код.Чувак.Это проверка на классы.Так как класс меняется при каждом спавне - надо сделать так,чтобы в ТАБе(В статистике) выводили его класс.А так как он работает onPlayerSpawn,то он будет ВСЕГДА показывать СТАРЫЙ класс.Ок? Слоупок получается Link to comment
Flaker Posted June 14, 2012 Share Posted June 14, 2012 TwiX, в любом случае лучше использовать локальные) Хотя бы в силу их лучшего быстродействия MacTrekkie, onPlayerSpawn выполняется каждый раз как игрок спавниться, соответственно, Account Data будет меняться каждый раз... Link to comment
Mc_Trekkie Posted June 14, 2012 Share Posted June 14, 2012 TwiX, в любом случае лучше использовать локальные) Хотя бы в силу их лучшего быстродействия MacTrekkie, onPlayerSpawn выполняется каждый раз как игрок спавниться, соответственно, Account Data будет меняться каждый раз... Аккаунт дата меняется каждый раз при Спавне,ГУИ высвечивается тоже при спавне,соответственно,мы выбираем свой класс ,а в табе имеем старый.Т.к ГУИ появилось ПОСЛЕ проверки. Хорошо? Link to comment
TwiX! Posted June 14, 2012 Share Posted June 14, 2012 TwiX, в любом случае лучше использовать локальные) Хотя бы в силу их лучшего быстродействия MacTrekkie, onPlayerSpawn выполняется каждый раз как игрок спавниться, соответственно, Account Data будет меняться каждый раз... Аккаунт дата меняется каждый раз при Спавне,ГУИ высвечивается тоже при спавне,соответственно,мы выбираем свой класс ,а в табе имеем старый.Т.к ГУИ появилось ПОСЛЕ проверки. Хорошо? добавь в onPlayerSpawn , елемент дату на проверку (для таба), если данные изменились, меняй елемент дату (т.е езменится и таб) exports.scoreboard:addScoreboardColumn("Class",gRoot,1,0.08) function lolz ( ) local account = getPlayerAccount ( source ) if not getAccountData( account,"Class.dm" ) then setAccountData( account,"Class.dm", "Unknown" ) setElementData( source,"Class","Unknown" ) else setElementData( source,"Class",getAccountData( account,"Class.dm" ) ) end end addEventHandler("onPlayerSpawn",getRootElement(), lolz) Link to comment
Kenix Posted June 15, 2012 Share Posted June 15, 2012 MacTrekkie, никогда не именуй переменные таким образом: lolz, blablabla, ... В названии переменный должен быть смысл. P.S Я чисто для справки, ибо тебе же легче будет в будущем. Link to comment
Mc_Trekkie Posted June 15, 2012 Share Posted June 15, 2012 Это же было для теста.Мы вообще щас это не юзаем) Мы другое решение нашли) Добавлено Ребят,смотрите. function addACLGroupObject ( thePlayer, commandName, groupName, objectName ) local account = getPlayerAccount( thePlayer) ourGroup = aclGetGroup ( groupName ) - Это отрывок из кода.Дальше он создаёт ACL и меняет accountData того чувака,который создал на Leader. setAccountData ( account, [b][i][u]"gang.ourGroup"[/u][/i][/b], Leader ) (ourGroup - группа которую мы создали,собсна,можно ли так пользоваться ЭТИМ?) И,собсна вот так? function InvitePlayerToGang ( thePlayer, groupName, objectName, ourGroup) local account = getPlayerAccount( thePlayer) local gangLeader = getAccountData ( account, "gang.ourGroup" ) if ( gangLeader == Leader ) then end end Link to comment
TwiX! Posted June 15, 2012 Share Posted June 15, 2012 зачем тебе в акк записываить? если он уже берёт асл (если он вообще есть) Link to comment
Mc_Trekkie Posted June 16, 2012 Share Posted June 16, 2012 зачем тебе в акк записываить? если он уже берёт асл (если он вообще есть) Смотри,это же система групп.Как банд,только групп. Ну,короче,смотри,тут делится на 2 ранга (Пока что) Member. Leader.И когда чувак создаёт банду его записывает в Лидеры этой самой банды.Понимаешь? И потом,когда он приглашает идёт проверка,лидер ли он этой группы или нет,и идёт проверка у того,кого он пригласил(member),если он уже в группе ACL(Кроме Everyone) - то лидеру пишет,мол так и так.Так вот вопрос.Как сделать проверку такую? Дошло вроде.Получаем пользователя этой ACL Группы и проверяем,лидер ли он или нет. Только как.Буду думать) Link to comment
TwiX! Posted June 16, 2012 Share Posted June 16, 2012 зачем тебе в акк записываить? если он уже берёт асл (если он вообще есть) Смотри,это же система групп.Как банд,только групп. Ну,короче,смотри,тут делится на 2 ранга (Пока что) Member. Leader.И когда чувак создаёт банду его записывает в Лидеры этой самой банды.Понимаешь? И потом,когда он приглашает идёт проверка,лидер ли он этой группы или нет,и идёт проверка у того,кого он пригласил(member),если он уже в группе ACL(Кроме Everyone) - то лидеру пишет,мол так и так.Так вот вопрос.Как сделать проверку такую? Дошло вроде.Получаем пользователя этой ACL Группы и проверяем,лидер ли он или нет. Только как.Буду думать) сделай функцию на определению лидера, там ранки и всё, запиши игрокам в аккаунт, потом ourGroup = aclGetGroup ( groupName ) если у него группа есть, и он лидер или мембер в этой группе, то... тут чё то уже делай с ним Link to comment
Mc_Trekkie Posted June 16, 2012 Share Posted June 16, 2012 Возможно ли как-то скрыть отображение некоторых команд в табе?(Как бы они есть,но их нет ) Т.к Я думаю,легче будет запилить именно так.Там тебе сразу тим чат и всё другое. Вопрос выше,TwiX,жду ответа. Link to comment
Kernell Posted June 16, 2012 Share Posted June 16, 2012 Научишь меня так шутить? Возможно ли как-то скрыть отображение некоторых команд в табе?(Как бы они есть,но их нет ) Научись сначала вопросы задавать Я ничего не понял. В этот раз не один ты Link to comment
Mc_Trekkie Posted June 16, 2012 Share Posted June 16, 2012 (edited) Научишь меня так шутить? Возможно ли как-то скрыть отображение некоторых команд в табе?(Как бы они есть,но их нет ) Научись сначала вопросы задавать Я ничего не понял. В этот раз не один ты Я вроде ясно сказал,не? Возможно ли как-то скрыть команды в ТАБе? Смотрите,Русское сообщество зашевелилось (: Edited June 16, 2012 by Guest Link to comment
Kernell Posted June 16, 2012 Share Posted June 16, 2012 Ты видимо ещё и читать не умеешь, 2 человека тебе дали понять что ни черта не ясно! P.S. MacTrekkie, я смотрю ты у нас тут форумный тролль, который тем самым выражает свою любовь к MX_Master`у (только ему скорее всего на тебя пофиг). P.S.S. Ты уже начинаешь под него косить Смотрите,Русское сообщество зашевелилось (: Link to comment
TwiX! Posted June 16, 2012 Share Posted June 16, 2012 (edited) Ты видимо ещё и читать не умеешь, 2 человека тебе дали понять что ни черта не ясно! P.S. MacTrekkie, я смотрю ты у нас тут форумный тролль, который тем самым выражает свою любовь к MX_Master`у (только ему скорее всего на тебя пофиг). P.S.S. Ты уже начинаешь под него косить Смотрите,Русское сообщество зашевелилось (: может это он и есть MacTrekkie вроде бы никак нельзя, если только удалить тим, потом его опять создавать, удалять, это будет бред --edit зачем тебе вообще удалять команду? создал тим, получил его елемент дату, сделал на этом тим чат.. (можно скрыть тим если в нём на сервере никого нет (с помощью destroyElement(team) )) Edited June 16, 2012 by Guest Link to comment
Mc_Trekkie Posted June 16, 2012 Share Posted June 16, 2012 Ты видимо ещё и читать не умеешь, 2 человека тебе дали понять что ни черта не ясно! P.S. MacTrekkie, я смотрю ты у нас тут форумный тролль, который тем самым выражает свою любовь к MX_Master`у (только ему скорее всего на тебя пофиг). P.S.S. Ты уже начинаешь под него косить Смотрите,Русское сообщество зашевелилось (: Чем же Я на него кошу.Объясните мне,сударь. Повторю свой вопрос.Как можно скрыть отображение команд в Scoreboard.Вот,мы создали. createTeam . Указали цвет и др.Как её убрать из ScoreBoard. По сути - она есть,В админки пишет всё,но в ScoreBoard не отображается. Link to comment
Mc_Trekkie Posted June 16, 2012 Share Posted June 16, 2012 Ты видимо ещё и читать не умеешь, 2 человека тебе дали понять что ни черта не ясно! P.S. MacTrekkie, я смотрю ты у нас тут форумный тролль, который тем самым выражает свою любовь к MX_Master`у (только ему скорее всего на тебя пофиг). P.S.S. Ты уже начинаешь под него косить Смотрите,Русское сообщество зашевелилось (: может это он и есть MacTrekkie вроде бы никак нельзя, если только удалить тим, потом его опять создавать, удалять, это будет бред Жаль. Ну ладно ЭТО ЧТО? scoreboardForceTeamsVisible( bool enabled ) Нашёл.Спасибо.Сори за даблпост. Link to comment
Mc_Trekkie Posted June 16, 2012 Share Posted June 16, 2012 call ( getResourceFromName ( "scoreboard" ), "scoreboardForceTeamsHidden", "enabled" ) Не работает,дебаг молчит. Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now