Jump to content

Ayuda Panel Clanes


0xCiBeR

Recommended Posts

  • MTA Team
Posted (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 by Guest
  • MTA Team
Posted

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) 

Posted

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.

  • MTA Team
Posted

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?

Posted
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

  • MTA Team
Posted

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) 

  • MTA Team
Posted

lol, la verdad no entiendo entonces... xD perdon pero encerio no entiendo..Me explicas que debo hacer?

Posted
lol, la verdad no entiendo entonces... xD 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

  • MTA Team
Posted

Ah ahora entendi..xD es para ver que valores devuelve cada cosa no?...

xD gracias..ahorita hago eso

Posted
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...

  • MTA Team
Posted

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?

  • MTA Team
Posted

Seria cambiar esto:

local name = getPlayerName ( player ):gsub ( "#%x%x%x%x%x%x", "" ) 

por Esto:

local name = getPlayerName ( player ) 

y Luego?

Posted

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

  • Recently Browsing   0 members

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