MTA Team 0xCiBeR Posted March 15, 2013 MTA Team Share Posted March 15, 2013 (edited) Bueno aca el script: Client: GUIEditor = { gridlist = {}, button = {}, edit = {}, window = {}, } GUIEditor.window[1] = guiCreateWindow(245, 135, 404, 349, "Panel De Reclutacion By CiBeR!", false) guiWindowSetSizable(GUIEditor.window[1], false) guiSetProperty(GUIEditor.window[1], "CaptionColour", "FF00FFDD") GUIEditor.gridlist[1] = guiCreateGridList(9, 23, 181, 317, false, GUIEditor.window[1]) column = guiGridListAddColumn(GUIEditor.gridlist[1], "Jugadores", 0.9) GUIEditor.button[1] = guiCreateButton(202, 31, 179, 39, "Expulsar", false, GUIEditor.window[1]) GUIEditor.button[2] = guiCreateButton(202, 88, 179, 39, "Agregar Al Clan", false, GUIEditor.window[1]) GUIEditor.button[3] = guiCreateButton(202, 147, 179, 39, "Darle Panel Recluter", false, GUIEditor.window[1]) GUIEditor.button[4] = guiCreateButton(202, 203, 179, 39, "Quitarle Panel Recluter", false, GUIEditor.window[1]) GUIEditor.edit[1] = guiCreateEdit(206, 253, 172, 36, "", false, GUIEditor.window[1]) guiEditSetReadOnly(GUIEditor.edit[1], true) guiSetVisible(GUIEditor.window[1],false) addEvent("guiCiB",true) addEventHandler("guiCiB",root,function() guiSetVisible(GUIEditor.window[1], not guiGetVisible(GUIEditor.window[1])) showCursor(guiGetVisible(GUIEditor.window[1])) end ) function list() if ( column ) then for id, player in ipairs(getElementsByType("player")) do local name = getPlayerName ( player ):gsub ( "#%x%x%x%x%x%x", "" ) local row3 = guiGridListAddRow ( GUIEditor.gridlist[1] ) guiGridListSetItemText ( GUIEditor.gridlist[1], row3, column, name, false, false ) end end end addEventHandler("onClientResourceStart",resourceRoot,list) addEventHandler("onClientPlayerJoin", getRootElement(), list) addEventHandler("onClientPlayerQuit", getRootElement(), list) addEventHandler("onClientPlayerChangeNick", getRootElement(), list) function click () local playerName = guiGridListGetItemText ( GUIEditor.gridlist[1], guiGridListGetSelectedItem ( GUIEditor.gridlist[1] ), 1 ) guiSetText ( GUIEditor.edit[1], playerName ) end addEventHandler ( "onClientGUIClick", GUIEditor.gridlist[1], click ) -------- --Funcion Exportada--------- function getPlayerFromNamePart(name) if name then for i, player in ipairs(getElementsByType("player")) do if string.find(getPlayerName(player):lower(), tostring(name):lower(), 1, true) then return player end end end return false end ------------------- -------- addEventHandler("onClientGUIClick",root,function () if source == GUIEditor.button[1] then local text = guiGetText(GUIEditor.edit[1]) local elPlayer = getPlayerFromNamePart(text) triggerServerEvent("iniciar", localPlayer, elPlayer) end end ) Server-Side: addCommandHandler("panelraaz",function(thePlayer) local accName = getAccountName ( getPlayerAccount ( thePlayer ) ) if isObjectInACLGroup ("user."..accName, aclGetGroup ( "ReRAAZ" ) ) then triggerClientEvent ( thePlayer, "guiCiB", thePlayer ) end end ) addEvent("iniciar",true) addEventHandler("iniciar",root,function(elPlayer) local accName = getAccountName ( getPlayerAccount ( elPlayer ) ) if isObjectInACLGroup ("user."..accName, aclGetGroup ( "RAAZ" ) ) then local sacado = aclGroupRemoveObject (aclGetGroup("RAAZ"), "user."..accName) aclGroupRemoveObject (aclGetGroup("ReRAAZ"), "user."..accName) if sacado then local name = getPlayerName(thePlayer) outputChatBox(name.." #ff0000Ha Sido Expulsado Del Clan RAAZ satisfactoriamente", getRootElement(),255,255,255,true) end elseif not isObjectInACLGroup ("user."..accName, aclGetGroup ( "RAAZ" ) ) then outputChatBox(name.." #ff0000No Pertenece Al Clan", source,255,255,255,true) end end ) el error es el siguiente: Un error en el segundo argumento del triggerServerEvent en la Linea 70 Edited March 16, 2013 by Guest Link to comment
Sasu Posted March 15, 2013 Share Posted March 15, 2013 triggerServerEvent("iniciar", root, elPlayer) Link to comment
Plate Posted March 15, 2013 Share Posted March 15, 2013 triggerServerEvent("iniciar", root, elPlayer) esta mal triggerServerEvent("iniciar", localPlayer, elPlayer) Link to comment
MTA Team 0xCiBeR Posted March 16, 2013 Author MTA Team Share Posted March 16, 2013 Ahora da esto en el debug: [2013-03-15 21:35:56] WARNING: PDz_panel\main_s.lua:11: Bad argument @ 'getPlayerAccount' [Expected element at argument 1, got boolean] [2013-03-15 21:35:56] WARNING: PDz_panel\main_s.lua:11: Bad argument @ 'getAccountName' [Expected account at argument 1, got boolean] [2013-03-15 21:35:56] ERROR: PDz_panel\main_s.lua:12: attempt to concatenate local 'accName' (a boolean value) Link to comment
Renkon Posted March 16, 2013 Share Posted March 16, 2013 No encontre un error a simple vista. Prueba a ir debuggeando el codigo en el cliente, sobretodo en el evento donde se triggea al server. Chequea si el elemento elPlayer es un player, el texto del editBox, etc. Link to comment
MTA Team 0xCiBeR Posted March 16, 2013 Author MTA Team Share Posted March 16, 2013 Lo debugie en el cliente..Da ese codigo que te mencione arribe..Y es justo cuando presiono el boton expulsar..El trigger pareciera que no reconociera un argumento porque da boolean... Alguna idea? Link to comment
Renkon Posted March 16, 2013 Share Posted March 16, 2013 Lo debugie en el cliente..Da ese codigo que te mencione arribe..Y es justo cuando presiono el boton expulsar..El trigger pareciera que no reconociera un argumento porque da boolean...Alguna idea? Cuando hablo de debuggear hablo de mostrar las variables y todo en el chat para estar seguro que pasa todo correctamente. Algun error hay cuando obtienes el texto o cuando getteas el Player Link to comment
MTA Team 0xCiBeR Posted March 16, 2013 Author MTA Team Share Posted March 16, 2013 Por eso te digo..Eso es lo que sale dentro del juego cuando uso el /debugscript 3: Ahora da esto en el debug: [2013-03-15 21:35:56] WARNING: PDz_panel\main_s.lua:11: Bad argument @ 'getPlayerAccount' [Expected element at argument 1, got boolean] [2013-03-15 21:35:56] WARNING: PDz_panel\main_s.lua:11: Bad argument @ 'getAccountName' [Expected account at argument 1, got boolean] [2013-03-15 21:35:56] ERROR: PDz_panel\main_s.lua:12: attempt to concatenate local 'accName' (a boolean value) Link to comment
Renkon Posted March 16, 2013 Share Posted March 16, 2013 Pero a ver cuando te hablo de debuggear no te hablo de escribir /debugscript 3. Lee mi post anterior con cuidado... Link to comment
MTA Team 0xCiBeR Posted March 16, 2013 Author MTA Team Share Posted March 16, 2013 lol, la verdad no entiendo entonces... perdon pero encerio no entiendo..Me explicas que debo hacer? Link to comment
Renkon Posted March 16, 2013 Share Posted March 16, 2013 lol, la verdad no entiendo entonces... perdon pero encerio no entiendo..Me explicas que debo hacer? Empeza a usar el outputChatBox como ayuda debuggeando. Mostra el valor que tiene la variable text, el tostring(elPlayer) en el cliente asi ves si es un userdata o un boolean, etc Link to comment
MTA Team 0xCiBeR Posted March 16, 2013 Author MTA Team Share Posted March 16, 2013 Ah ahora entendi.. es para ver que valores devuelve cada cosa no?... gracias..ahorita hago eso Link to comment
MTA Team 0xCiBeR Posted March 16, 2013 Author MTA Team Share Posted March 16, 2013 Bueno el text devuelve bien el nombre sin el codigo Hex, ocea que eso esta bien.. Link to comment
Renkon Posted March 16, 2013 Share Posted March 16, 2013 Bueno el text devuelve bien el nombre sin el codigo Hex, ocea que eso esta bien.. Ahí esta que la cagas. El nombre de un jugador puede ser HolaQue#ffffffHace y si consigues un player con el nombre HolaQueHace no te funcionará correctamente... Link to comment
MTA Team 0xCiBeR Posted March 16, 2013 Author MTA Team Share Posted March 16, 2013 Va entiendo..Ok entonces como hago para que devuelva el nombre con el hex, pero al mismo tiempo en la gui me muestre el nombre sin el Hex, asi no se torna tan largo el nombre? Link to comment
MTA Team 0xCiBeR Posted March 16, 2013 Author MTA Team Share Posted March 16, 2013 Seria cambiar esto: local name = getPlayerName ( player ):gsub ( "#%x%x%x%x%x%x", "" ) por Esto: local name = getPlayerName ( player ) y Luego? Link to comment
Renkon Posted March 16, 2013 Share Posted March 16, 2013 Te recomendaria que lo dejes con el hexa si no queres complicartelas Link to comment
MTA Team 0xCiBeR Posted March 16, 2013 Author MTA Team Share Posted March 16, 2013 Claro pero es medio molesto para los jugadores..Hay alguna manera? Link to comment
Renkon Posted March 16, 2013 Share Posted March 16, 2013 haber hay pero te vas a hacer un dolor de kbza treemndo. tendrias q storear todas las variables de nombre de jugador en una tabla y despues cuando selecciona sin el hexa conseguir el nombre verdadero y es un quilombo Link to comment
MTA Team 0xCiBeR Posted March 16, 2013 Author MTA Team Share Posted March 16, 2013 Ok vale Gracias! Link to comment
Recommended Posts