Jump to content

Problema con chat del gang system de castillo


Rayzer

Recommended Posts

Hola, tengo un problema con el gang_system de castillo, al presionar la tecla "Y" que se supone que abre el chat para hablar con tu grupo, al presionar la tecla se abre, escribes tu mensaje pero cuando presionas enter no sale nada en el chat :( help me gracias

Link to comment

El gang_system no viene con un chat integrado, la Y predeterminadamente te permite escribir a tus compañeros de equipo, que no es lo mismo que gang.

Aquí tienes uno que encontré por ahí.

  
      
    function RGBToHex(red, green, blue, alpha) 
        if((red < 0 or red > 255 or green < 0 or green > 255 or blue < 0 or blue > 255) or (alpha and (alpha < 0 or alpha > 255))) then 
            return nil 
        end 
        if(alpha) then 
            return string.format("#%.2X%.2X%.2X%.2X", red,green,blue,alpha) 
        else 
            return string.format("#%.2X%.2X%.2X", red,green,blue) 
        end 
    end 
      
    function onChatG ( thePlayer, _, ... ) 
        local gangName = getElementData ( thePlayer, "gang" ) 
        if ( gangName and gangName ~= "None" ) then 
            local msg = table.concat ( { ... }, " " ) 
            local nick = getPlayerName ( thePlayer ) 
            for index, player in ipairs ( getElementsByType ( "player" ) ) do 
                if ( getElementData ( player, "gang" ) == gangName ) then 
               local r, g, b = unpack ( exports [ "gang_system" ]:getGangColor ( gangName ) ) 
               local hexcode = RGBToHex(r, g, b) 
                    outputChatBox ( "#FF00FF(GC) ".. hexcode .. nick ..": ".. msg, player, r, g, b, true ) 
                end 
            end 
        end 
    end 
    addCommandHandler ( "gc", onChatG ) 
  

Link to comment

Gracias tomas, me funciono.

Tomas tengo una duda, Quiero hacer que al comer o beber algún alimento se reproduzca un sonido, pero que el sonido sea en PlaySound3D así lo podrán escuchar otros players que estén en x radio, Intente hacerlo de esta manera, pero no me reproduce el sonido, Si lo pongo nada mas con PlaySound me lo reproduce normal, pero no se logra lo que yo quiero :( ¿Si se esta reproduciendo? ¿pero solo lo escuchan los otros jugadores?

function playerUseItem(itemName, itemInfo) 
        if itemInfo == "Comer" then 
          local x, y, z = getElementPosition(source) 
          local sound = playSound3D("sounds/effects/action_eat.ogg", x, y, z, false) 
          setSoundMaxDistance(sound, 15) 
          setSoundVolume(sound, 0.4) 
          triggerServerEvent("onPlayerRequestChangingStats", getLocalPlayer(), itemName, itemInfo, "food") 
    end 
end 

Link to comment
Gracias tomas, me funciono.

Tomas tengo una duda, Quiero hacer que al comer o beber algún alimento se reproduzca un sonido, pero que el sonido sea en PlaySound3D así lo podrán escuchar otros players que estén en x radio, Intente hacerlo de esta manera, pero no me reproduce el sonido, Si lo pongo nada mas con PlaySound me lo reproduce normal, pero no se logra lo que yo quiero :( ¿Si se esta reproduciendo? ¿pero solo lo escuchan los otros jugadores?

function playerUseItem(itemName, itemInfo) 
        if itemInfo == "Comer" then 
          local x, y, z = getElementPosition(source) 
          local sound = playSound3D("sounds/effects/action_eat.ogg", x, y, z, false) 
          setSoundMaxDistance(sound, 15) 
          setSoundVolume(sound, 0.4) 
          triggerServerEvent("onPlayerRequestChangingStats", getLocalPlayer(), itemName, itemInfo, "food") 
    end 
end 

Cambia source por getLocalPlayer() en la linea 3, al parecer source no esta definido como el jugador.

Link to comment
-- SERVER 
addEvent("onSonidoRecibido", true) 
addEventHandler(" onSonidoRecibido", resourceRoot,  
function() 
local x,y,z = getElementPosition(source) 
triggerClientEvent(source,"onClienteSonidoRecibido", getRootElement(),x,y,z) 
end) 
  
-- CLIENTE 
function playerUseItem(itemName, itemInfo) 
        if itemInfo == "Comer" then 
triggerServerEvent("onSonidoRecibido", localPlayer) triggerServerEvent("onPlayerRequestChangingStats", getLocalPlayer(), itemName, itemInfo, "food") 
    end 
end 
  
addEvent("onClienteSonidoRecibido", true) 
addEventHandler(" onClienteSonidoRecibido", resourceRoot,  
function(x,y,z) 
local sound = playSound3D("sounds/effects/action_eat.ogg", x, y, z, false) 
          setSoundMaxDistance(sound, 15) 
          setSoundVolume(sound, 0.4) triggerServerEvent("onPlayerRequestChangingStats", getLocalPlayer(), itemName, itemInfo, "food") 
     
end) 

Usa esto, lo hice desede el cel por si hay un cosa mal escrita

Edited by Guest
Link to comment

En la consola no me tira ningun error, pero el inventario no lo puedo abrir

al parecer el problema esta aquí

  
-- Client Side 
addEvent("onClienteSonidoRecibido", true) 
addEventHandler(" onClienteSonidoRecibido", resourceRoot, 
function(x,y,z) 
local sound = playSound3D("sounds/effects/action_eat.ogg", x, y, z, false) 
          setSoundMaxDistance(sound, 15) 
          setSoundVolume(sound, 0.4) triggerServerEvent("onPlayerRequestChangingStats", getLocalPlayer(), itemName, itemInfo, "food") 
    end 
end) 

Cuando quito esa parte del codigo me deja abrir el inventario

Link to comment

Puse esto en inventory.lua que es client side

  
--la otra parte del código aquí 
function playerUseItem(itemName, itemInfo) 
    if itemInfo == "Beber" then 
          playSound("sounds/effects/action_drink.ogg") 
          triggerServerEvent("onPlayerRequestChangingStats", getLocalPlayer(), itemName, itemInfo, "thirst") 
        elseif itemInfo == "Comer" then 
          triggerServerEvent("onSonidoRecibido", localPlayer)  
          triggerServerEvent("onPlayerRequestChangingStats", getLocalPlayer(), itemName, itemInfo, "food") 
        elseif itemInfo == "Usar Skin" then 
          playSound("sounds/roupa.wav") 
          triggerServerEvent("onPlayerChangeSkin", getLocalPlayer(), itemName) 
        elseif itemName == "Empty Water Bottle" then 
              triggerServerEvent("onPlayerRefillWaterBottle", getLocalPlayer(), itemName) 
              playSound("sounds/effects/action_refill.ogg") 
        elseif itemName == "Tent" then 
          triggerServerEvent("onPlayerPitchATent", getLocalPlayer(), itemName) 
          playSound("sounds/effects/action_tentunpack.ogg") 
        elseif itemInfo == "Usar" then 
          triggerServerEvent("onPlayerBuildAWireFence", getLocalPlayer(), itemName) 
        elseif itemName == "Roadflare" then 
          triggerServerEvent("onPlayerPlaceRoadflare", getLocalPlayer(), itemName) 
        elseif itemInfo == "Развести огонь" then 
            if getElementData ( localPlayer, 'Wood Pile' ) > 0 then 
              triggerServerEvent("onPlayerMakeAFire", getLocalPlayer(), itemName) 
              playSound("sounds/fosforo.mp3") 
              else 
              triggerEvent("displayClientInfo", getLocalPlayer(), "Box of Matches", "I need Wood Pile", 22, 255, 0) 
        end 
        elseif itemInfo == "Использовать" or itemInfo == "Use" then 
          playSound("sounds/usemedkit.wav") 
          triggerServerEvent("onPlayerUseMedicObject", getLocalPlayer(), itemName) 
        elseif itemName == "Bandage" then 
          triggerServerEvent("onPlayerUseMedicObject", getLocalPlayer(), itemName) 
        elseif itemInfo == "Use Googles" then 
          triggerServerEvent("onPlayerChangeView", getLocalPlayer(), itemName) 
        elseif itemInfo == "Взять основное оружие" then 
          playSound("sounds/equip2.wav") 
          triggerServerEvent("onPlayerRearmWeapon", getLocalPlayer(), itemName, 1) 
        elseif itemInfo == "Взять дополнительное оружие" then 
          playSound("sounds/equip1.wav")  
          triggerServerEvent("onPlayerRearmWeapon", getLocalPlayer(), itemName, 2) 
        elseif itemInfo == "Взять специальное оружие" then 
          playSound("sounds/equip3.wav") 
          triggerServerEvent("onPlayerRearmWeapon", getLocalPlayer(), itemName, 3) 
    end 
end 
  
--al final de todo el script 
addEvent("onClienteSonidoRecibido", true) 
addEventHandler(" onClienteSonidoRecibido", resourceRoot, 
function(x,y,z) 
local sound = playSound3D("sounds/effects/action_eat.ogg", x, y, z, false) 
          setSoundMaxDistance(sound, 15) 
          setSoundVolume(sound, 0.4)  
          triggerServerEvent("onPlayerRequestChangingStats", getLocalPlayer(), itemName, itemInfo, "food") 
    
end) 
  

y en SurvivorSystem.lua que es server side puse esto al final de todo el script

  
addEvent("onSonidoRecibido", true) 
addEventHandler(" onSonidoRecibido", resourceRoot, 
function() 
local x,y,z = getElementPosition(source) 
triggerClientEvent(source,"onClienteSonidoRecibido", getRootElement(),x,y,z) 
end) 
  

Link to comment

client

function playerUseItem(itemName, itemInfo) 
    if itemInfo == "Beber" then 
          playSound("sounds/effects/action_drink.ogg") 
          triggerServerEvent("onPlayerRequestChangingStats", getLocalPlayer(), itemName, itemInfo, "thirst") 
        elseif itemInfo == "Comer" then 
          triggerServerEvent("onSonidoRecibido", getRootElement(), getLocalPlayer()) 
          triggerServerEvent("onPlayerRequestChangingStats", getLocalPlayer(), itemName, itemInfo, "food") 
        elseif itemInfo == "Usar Skin" then 
          playSound("sounds/roupa.wav") 
          triggerServerEvent("onPlayerChangeSkin", getLocalPlayer(), itemName) 
        elseif itemName == "Empty Water Bottle" then 
              triggerServerEvent("onPlayerRefillWaterBottle", getLocalPlayer(), itemName) 
              playSound("sounds/effects/action_refill.ogg") 
        elseif itemName == "Tent" then 
          triggerServerEvent("onPlayerPitchATent", getLocalPlayer(), itemName) 
          playSound("sounds/effects/action_tentunpack.ogg") 
        elseif itemInfo == "Usar" then 
          triggerServerEvent("onPlayerBuildAWireFence", getLocalPlayer(), itemName) 
        elseif itemName == "Roadflare" then 
          triggerServerEvent("onPlayerPlaceRoadflare", getLocalPlayer(), itemName) 
        elseif itemInfo == "Развести огонь" then 
            if getElementData ( localPlayer, 'Wood Pile' ) > 0 then 
              triggerServerEvent("onPlayerMakeAFire", getLocalPlayer(), itemName) 
              playSound("sounds/fosforo.mp3") 
              else 
              triggerEvent("displayClientInfo", getLocalPlayer(), "Box of Matches", "I need Wood Pile", 22, 255, 0) 
        end 
        elseif itemInfo == "Использовать" or itemInfo == "Use" then 
          playSound("sounds/usemedkit.wav") 
          triggerServerEvent("onPlayerUseMedicObject", getLocalPlayer(), itemName) 
        elseif itemName == "Bandage" then 
          triggerServerEvent("onPlayerUseMedicObject", getLocalPlayer(), itemName) 
        elseif itemInfo == "Use Googles" then 
          triggerServerEvent("onPlayerChangeView", getLocalPlayer(), itemName) 
        elseif itemInfo == "Взять основное оружие" then 
          playSound("sounds/equip2.wav") 
          triggerServerEvent("onPlayerRearmWeapon", getLocalPlayer(), itemName, 1) 
        elseif itemInfo == "Взять дополнительное оружие" then 
          playSound("sounds/equip1.wav") 
          triggerServerEvent("onPlayerRearmWeapon", getLocalPlayer(), itemName, 2) 
        elseif itemInfo == "Взять специальное оружие" then 
          playSound("sounds/equip3.wav") 
          triggerServerEvent("onPlayerRearmWeapon", getLocalPlayer(), itemName, 3) 
    end 
end 
  
  
addEvent("onClienteSonidoRecibido", true) 
addEventHandler("onClienteSonidoRecibido", resourceRoot, 
function(x,y,z) 
local sound = playSound3D("sounds/effects/action_eat.ogg", x, y, z, false) 
          setSoundMaxDistance(sound, 15) 
          setSoundVolume(sound, 0.4) 
          triggerServerEvent("onPlayerRequestChangingStats", getLocalPlayer(), itemName, itemInfo, "food") 
    
end) 

server

addEvent("onSonidoRecibido", true) 
addEventHandler("onSonidoRecibido", resourceRoot, 
function(player) 
    local x,y,z = getElementPosition(player) 
    triggerClientEvent(player,"onClienteSonidoRecibido", getRootElement(),x,y,z) 
end) 

Link to comment
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...