Citryon25 Posted November 5, 2017 Share Posted November 5, 2017 Bom pessoal, fiz recentemente um painel de recrutamento, no qual o jogador pode criar um recrutamento em determinado local, dimensão, e teletransporte. O sistema funcionou corretamente, porém, preciso duplicar esse recurso para que duas gangs possam usa-lo, e quando dupliquei os dois mods eles bugaram, como se eu estivesse usando dois painéis, por exemplo: quando crio um recrutamento através do painel do resource painelrecrutar_w ele cria o recrutamento nesse recurso e no outro(painelrecrutar), como criando dois teletransportes. Já tive esse mesmo problema ao duplicar painéis, quando uso um parece que estou usando dois(o duplicado e original). Alguém sabe como resolver esse problema? Grato. Link to comment
Other Languages Moderators Lord Henry Posted November 5, 2017 Other Languages Moderators Share Posted November 5, 2017 Você provavelmente está usando os mesmos nomes de eventos e funções. Quando vc clica no botão de um painel, chama o mesmo evento nos dois painéis, duplicando tudo. Troque todos os nomes dos eventos do segundo painel para diferenciá-lo do primeiro painel. Link to comment
Citryon25 Posted November 6, 2017 Author Share Posted November 6, 2017 On 04/11/2017 at 23:02, Lord Henry said: Você provavelmente está usando os mesmos nomes de eventos e funções. Quando vc clica no botão de um painel, chama o mesmo evento nos dois painéis, duplicando tudo. Troque todos os nomes dos eventos do segundo painel para diferenciá-lo do primeiro painel. Grato pela sua rápida resposta e desculpe pela resposta demorada da minha parte. Consegui resolver meu problema, porém me surge outra dúvida: já vi outras pessoas duplicarem painéis sem sequer trocar eventos, apenas copiando, colando e mudando o nome do recurso. Seria possível eu fazer isso? Link to comment
Other Languages Moderators Lord Henry Posted November 7, 2017 Other Languages Moderators Share Posted November 7, 2017 (edited) 17 hours ago, Citryon25 said: outra dúvida: já vi outras pessoas duplicarem painéis sem sequer trocar eventos, apenas copiando, colando e mudando o nome do recurso. Seria possível eu fazer isso? Não. Os eventos vão duplicar e não vai dar certo. Tem que sempre mudar os nomes. Edited November 7, 2017 by Lord Henry Link to comment
Banex Posted November 9, 2017 Share Posted November 9, 2017 Na verdade é possível sim, usando resourceRoot como fonte do evento, assim o evento só poderá ser chamado pela resource atual, e não entrará em conflito com outras que possuem eventos com o mesmo nome. Além disso, é recomendado pelo MTA usar resourceRoot como fonte do evento, para melhor desempenho do cliente. Obs: resourceRoot é uma variável pré definida pelo MTA, ela retorna o elemento raiz do resource que está sendo executado, seria o mesmo que usar a função getResourceRootElement() Link to comment
Other Languages Moderators Lord Henry Posted November 9, 2017 Other Languages Moderators Share Posted November 9, 2017 2 hours ago, Banex said: Na verdade é possível sim, usando resourceRoot como fonte do evento, assim o evento só poderá ser chamado pela resource atual, e não entrará em conflito com outras que possuem eventos com o mesmo nome. Além disso, é recomendado pelo MTA usar resourceRoot como fonte do evento, para melhor desempenho do cliente. Obs: resourceRoot é uma variável pré definida pelo MTA, ela retorna o elemento raiz do resource que está sendo executado, seria o mesmo que usar a função getResourceRootElement() Interessante, mas se o cara usar addCommandHandler ou BindKey para as mesmas funções, irá duplicar sim pois os dois resources usam o mesmo comando para ativar seus eventos. A saída seria o cara criar alguma condição em cada resource, que no fim das contas acaba não sendo o Ctrl+C e Ctrl+V que ele quer fazer. Link to comment
Other Languages Moderators androksi Posted November 10, 2017 Other Languages Moderators Share Posted November 10, 2017 addEvent(getResourceName(getThisResource())..":eventName", true) addEventHandler(getResourceName(getThisResource())..":eventName", getRootElement(), ...) A saída que eu encontrei e que uso até hoje sem problema algum é este acima. Simplesmente fazer o evento com o nome do recurso. Link to comment
DNL291 Posted November 10, 2017 Share Posted November 10, 2017 On 04/11/2017 at 22:59, Citryon25 said: O sistema funcionou corretamente, porém, preciso duplicar esse recurso para que duas gangs possam usa-lo, e quando dupliquei os dois mods eles bugaram, como se eu estivesse usando dois painéis, por exemplo Acho que a melhor solução na verdade não é criar outro resource, você pode fazer funcionar com um só script pra mais de uma gang fazer o uso. Quanto ao evento, você pode usar em vários scripts, mas precisa se certificar que nenhum evento irá afetar outro script desnecessariamente. Você pode usar localmente colocando resourceRoot como disse Banex ou com localPlayer. Link to comment
Citryon25 Posted November 11, 2017 Author Share Posted November 11, 2017 Valeu pela ajuda de todos! Consegui resolver meu problema. 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