#DaNiLiN Posted November 16, 2018 Share Posted November 16, 2018 -- XML <root> <anim AnimName="Dança 1" Anim1="DANCING" Anim2="bd_clap"/> </root> -- Client Side local screenW,screenH = guiGetScreenSize() local resW, resH = 1366, 768 local x, y = (screenW/resW), (screenH/resH) addEventHandler("onClientResourceStart", resourceRoot, function() gridAnim = dxGridW:Create(x*429, y*320, x*262, y*167,false) column1 = gridAnim:AddColumn("NOMES",260) column2 = gridAnim:AddColumn("ID",150) column3 = gridAnim:AddColumn("ID2",150) xmlAnim = xmlLoadFile("xml/Anim.xml") for _, anm in ipairs (xmlNodeGetChildren(xmlAnim)) do nomer = xmlNodeGetAttribute(anm, "AnimName") id1 = xmlNodeGetAttribute(anm, "Anim1") id2 = xmlNodeGetAttribute(anm, "Anim2") gridAnim:AddItem(1,nomer) gridAnim:AddItem(2,id1) gridAnim:AddItem(3,id2) end end ) addEventHandler("onClientDoubleClick", root, function() if gridAnim:IsVisible() then if gridAnim:GetSelectedItem() then triggerServerEvent("startAnim", localPlayer, gridAnim:GetItemDetails(2, 3, gridAnim:GetSelectedItem())) end end end) -- Server side function startAnim ( id1, id2) setPedAnimation(source, id1, id2 ,-1, true, false, false, true) end addEvent( "startAnim", true ) addEventHandler ("startAnim", root, startAnim) O Código a cima ta funfando tudo exceto na hr de setar animação (Help-ME) Link to comment
Other Languages Moderators Lord Henry Posted November 16, 2018 Other Languages Moderators Share Posted November 16, 2018 Existe algum erro no /debugscript 3? Já tentou colocar um outputChatBox na função startAnim pra saber se ela chega a ser executada? 1 Link to comment
#DaNiLiN Posted November 16, 2018 Author Share Posted November 16, 2018 sim já testei, e não há erros no debugscript, porém na linha 32 ali era pra setar o grupo e a animação mais não está indo e nem ta dando erro. Link to comment
Jonas^ Posted November 16, 2018 Share Posted November 16, 2018 (edited) No Server-side tente isso: function animStart ( id1, id2) setPedAnimation(client, id1, id2 ,-1, true, false, false, true) end addEvent( "startAnim", true ) addEventHandler ("startAnim", root, animStart) Eu fiz um teste aqui e funcionou, mas usei outra animação, a sua eu não consegui reproduzir. Código de exemplo: GUIEditor = { button = {} } addEventHandler("onClientResourceStart", resourceRoot, function() GUIEditor.button[1] = guiCreateButton(564, 364, 170, 37, "Animacao", false) guiSetFont(GUIEditor.button[1], "default-bold-small") guiSetProperty(GUIEditor.button[1], "NormalTextColour", "FFAAAAAA") end ) addEventHandler("onClientGUIClick", root, function() if source == GUIEditor.button[1] then triggerServerEvent("startAnim", localPlayer ) end end ) SERVER-SIDE function animStart () -- Procure não usar nome de função com o mesmo nome do trigger. setPedAnimation (client, "FOOD", "EAT_Burger", -1, false, false, nil, false) end addEvent( "startAnim", true ) addEventHandler ("startAnim", root, animStart) -- Procure não usar nome de função com o mesmo nome do trigger. Edited November 16, 2018 by OverKILL 1 Link to comment
#DaNiLiN Posted November 16, 2018 Author Share Posted November 16, 2018 desse modo eu também consigo, poblema e que como e um painel de animação vai ficar muitas variavel. com a gridlist e mais facil. Link to comment
Jonas^ Posted November 16, 2018 Share Posted November 16, 2018 18 minutes ago, danilin said: desse modo eu também consigo, poblema e que como e um painel de animação vai ficar muitas variavel. com a gridlist e mais facil. Você pode fazer com gridlist dessa forma também, olhe o exemplo... Link to comment
crdn Posted November 16, 2018 Share Posted November 16, 2018 Colocando um iprint na função startAnim você iria perceber que a função não estava recebendo os valores corretos e necessários para a execução da mesma: function startAnim ( id1, id2) iprint(id1, id2) setPedAnimation(source, id1, id2 ,-1, true, false, false, true) end addEvent( "startAnim", true ) addEventHandler ("startAnim", root, startAnim) (mostraria false no /debugscript 3) Isso se deve ao fato de você estar usando o método getItemDetails incorretamente, a sintaxe dele é a seguinte: string, mixed Gridlist:GetItemDetails ( int columnIndex, int itemIndex ) Você precisa chama-lo duas vezes, uma para a coluna 2 e outra para a coluna 3: addEventHandler("onClientDoubleClick", root, function() if (gridAnim:IsVisible()) then local selectedItem = gridAnim:GetSelectedItem(); if (selectedItem ~= -1) then triggerServerEvent("startAnim", localPlayer, gridAnim:GetItemDetails(2, selectedItem), gridAnim:GetItemDetails(3, selectedItem)); end end end ); 1 Link to comment
#DaNiLiN Posted November 16, 2018 Author Share Posted November 16, 2018 no caso ali chamei apenas um vez e achei que colocando 2, 3 iria funcionar nas 2 coluna. mais uma vez obrigado. Link to comment
Other Languages Moderators Lord Henry Posted November 17, 2018 Other Languages Moderators Share Posted November 17, 2018 7 hours ago, danilin said: sim já testei, e não há erros no debugscript, porém na linha 32 ali era pra setar o grupo e a animação mais não está indo e nem ta dando erro. Então há erro no seu triggerServerEvent. Verifique se os parâmetros declarados depois do localPlayer existem e se estão corretos. 1 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