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

DevOps Engineer, Cloud Advocate & Security Engineer(Red Team) | Coffee, Containers & Burp

 
Posted
triggerServerEvent("iniciar", root, elPlayer) 

esta mal

triggerServerEvent("iniciar", localPlayer, elPlayer) 

Visita Full GameZ DayZ Mod

Server IP: mtasa://158.69.125.144:29015

  • 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) 

DevOps Engineer, Cloud Advocate & Security Engineer(Red Team) | Coffee, Containers & Burp

 
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?

DevOps Engineer, Cloud Advocate & Security Engineer(Red Team) | Coffee, Containers & Burp

 
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) 

DevOps Engineer, Cloud Advocate & Security Engineer(Red Team) | Coffee, Containers & Burp

 
  • MTA Team
Posted

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

DevOps Engineer, Cloud Advocate & Security Engineer(Red Team) | Coffee, Containers & Burp

 
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

DevOps Engineer, Cloud Advocate & Security Engineer(Red Team) | Coffee, Containers & Burp

 
  • MTA Team
Posted

Bueno el text devuelve bien el nombre sin el codigo Hex, ocea que eso esta bien..

DevOps Engineer, Cloud Advocate & Security Engineer(Red Team) | Coffee, Containers & Burp

 
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?

DevOps Engineer, Cloud Advocate & Security Engineer(Red Team) | Coffee, Containers & Burp

 
  • 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?

DevOps Engineer, Cloud Advocate & Security Engineer(Red Team) | Coffee, Containers & Burp

 
  • MTA Team
Posted

Claro pero es medio molesto para los jugadores..Hay alguna manera?

DevOps Engineer, Cloud Advocate & Security Engineer(Red Team) | Coffee, Containers & Burp

 
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

  • MTA Team
Posted

Ok vale Gracias!

DevOps Engineer, Cloud Advocate & Security Engineer(Red Team) | Coffee, Containers & Burp

 
  • Recently Browsing   0 members

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