Duff1995 Posted January 16, 2023 Share Posted January 16, 2023 --- Server ----- local marker123 = createMarker(589.438, 870.218, -42.497, 'cylinder', 1.0, 30, 144, 255, 150) function marker123(markerHit) setElementData ( source, "Emprego", "Mineirador" ) outputChatBox("/infos para marcar os markers",source,255,255,0) -- Output that they are. end addEventHandler("onPlayerMarkerHit",getRootElement(),marker123) outputchatbox aparecendo em todos os markers do server, alguma ideia de como corrigir? Link to comment
Moderators Vinyard Posted January 17, 2023 Moderators Share Posted January 17, 2023 Hi, Your thread has been moved to the Portuguese scripting language so you can get better assistance. As stated previously, avoid using the Tutorials section to post such topics, but rather use this language-specific section as it's more suited. Link to comment
Blaack Posted January 17, 2023 Share Posted January 17, 2023 14 hours ago, Duff1995 said: --- Server ----- local marker123 = createMarker(589.438, 870.218, -42.497, 'cylinder', 1.0, 30, 144, 255, 150) function marker123(markerHit) setElementData ( source, "Emprego", "Mineirador" ) outputChatBox("/infos para marcar os markers",source,255,255,0) -- Output that they are. end addEventHandler("onPlayerMarkerHit",getRootElement(),marker123) outputchatbox aparecendo em todos os markers do server, alguma ideia de como corrigir? No evento o segundo parametro deve ser o marker, getRootElement() ele puxa todos os markers, então mude aquela definição deixando-a assim: --- Server ----- local marker123 = createMarker(589.438, 870.218, -42.497, 'cylinder', 1.0, 30, 144, 255, 150) function markerfunction(player) setElementData ( player, "Emprego", "Mineirador" ) -- alterei de source para player, pois source neste evento é o marker! outputChatBox("/infos para marcar os markers",player,255,255,0) -- Output that they are. end addEventHandler("onPlayerMarkerHit", marker123, markerfunction) 1 Link to comment
Sx666 Posted February 19, 2023 Share Posted February 19, 2023 Na segunda linha, a função "setElementData" está tentando definir um dado de elemento para a origem do evento, mas "source" se refere ao marcador que foi atingido e não ao jogador que atingiu o marcador. Portanto, a mensagem "Emprego: Mineirador" é definida no marcador que foi atingido, e não no jogador que atingiu o marcador. Na terceira linha, a função "outputChatBox" está enviando uma mensagem para todos os jogadores no servidor, incluindo o marcador que foi atingido. Para corrigir esse problema, você pode usar a função "source" para se referir ao jogador que atingiu o marcador e enviar a mensagem apenas para esse jogador, em vez de enviá-la para todos no servidor. Tente substituir o conteúdo da função "marker123" pelo código abaixo: function marker123(hitElement, matchingDimension) if getElementType(hitElement) == "player" then setElementData(hitElement, "Emprego", "Mineirador") outputChatBox("/infos para marcar os markers", hitElement, 255, 255, 0) end end Dessa forma, a função "marker123" agora verifica se o elemento que atingiu o marcador é um jogador antes de definir o dado de elemento e enviar a mensagem de bate-papo apenas para o jogador que atingiu o marcador. Me desculpe, esqueci de completar o codigo. local marker123 = createMarker(589.438, 870.218, -42.497, 'cylinder', 1.0, 30, 144, 255, 150) addEventHandler("onMarkerHit", marker123, function(hitElement, matchingDimension) if getElementType(hitElement) == "player" and matchingDimension then setElementData(hitElement, "Emprego", "Mineirador") outputChatBox("/infos para marcar os markers", hitElement, 255, 255, 0) end end) 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