Jump to content

[Ayuda]Comando para Setear Data


elchinooo98

Recommended Posts

Hola otra vez pidiendo ayuda :cry: bueno esta vez les vengo a pedir ayuda para hacer un comando de 2 partes por ejemplo : quiero hacer un comando que le setee data a un player... /setdata elchinoo(nick del player) y asi... como se hacen esos comandos ? (perdon si no me explique bien)

Desde ya se agradece la ayuda como siempre :D

Link to comment

Hay 2 formas de hacer lo que quieres, una sería

setAccountData 

para guardar la información en la cuenta, y otra sería

setElementData 

, esta sería para elementos, como dice la propia funcion, pero por ahora te mostraré como se hace con AccountData,

function setheads( source, cmd, value ) 
    local playerAccount = getPlayerAccount(source) 
    local myheads = setAccountData(playerAccount,"headshots",tonumber(value)) 
    if (myheads == true) then 
        outputChatBox("Éxito") 
    end 
end 
addCommandHandler("setheads",setheads) 

Este comando lo que hace es que al poner /setheads 20, te pone en tu cuenta en el campo "headshots" la cantidad de 20, sin embargo hay otra manera de hacer esto:

function addtokens(source, cmd, target, amount) 
    local targetPlayer = getPlayerFromName ( target ) 
    if (targetPlayer) and (amount) then 
        local targettokens = getElementData(targetPlayer,"tokens") 
        local thetokens = targettokens + amount 
        local settargettokens = setElementData(targetPlayer,"tokens",thetokens) 
    end 
end 
addCommandHandler("addtokens",addtokens) 
  

este de aquí lo que hace es que al poner /addtokens (nombre del jugador) (cantidad) agrega la cantidad de "tokens" que definas, ejemplo: /addtokens Knight 30 (agregará a el jugador conectado "Knight" la cantidad de 30 tokens)

  
function settokens(source, cmd, target, amount) 
    local targetPlayer = getPlayerFromName ( target ) 
    if (targetPlayer) and (amount) then 
        local targettokens = getElementData(targetPlayer,"tokens") 
        local thetokens = amount 
        local settargettokens = setElementData(targetPlayer,"tokens",thetokens) 
    end 
end 
addCommandHandler("settokens",settokens) 
  

este lo que hace es remplaza el valor de "tokens" al que tu quieras, se utiliza igual que el anterior, solo que este en vez de agregar, lo remplaza.

Link to comment
Hay 2 formas de hacer lo que quieres, una sería
setAccountData 

para guardar la información en la cuenta, y otra sería

setElementData 

, esta sería para elementos, como dice la propia funcion, pero por ahora te mostraré como se hace con AccountData,

function setheads( source, cmd, value ) 
    local playerAccount = getPlayerAccount(source) 
    local myheads = setAccountData(playerAccount,"headshots",tonumber(value)) 
    if (myheads == true) then 
        outputChatBox("Éxito") 
    end 
end 
addCommandHandler("setheads",setheads) 

Este comando lo que hace es que al poner /setheads 20, te pone en tu cuenta en el campo "headshots" la cantidad de 20, sin embargo hay otra manera de hacer esto:

function addtokens(source, cmd, target, amount) 
    local targetPlayer = getPlayerFromName ( target ) 
    if (targetPlayer) and (amount) then 
        local targettokens = getElementData(targetPlayer,"tokens") 
        local thetokens = targettokens + amount 
        local settargettokens = setElementData(targetPlayer,"tokens",thetokens) 
    end 
end 
addCommandHandler("addtokens",addtokens) 
  

este de aquí lo que hace es que al poner /addtokens (nombre del jugador) (cantidad) agrega la cantidad de "tokens" que definas, ejemplo: /addtokens Knight 30 (agregará a el jugador conectado "Knight" la cantidad de 30 tokens)

  
function settokens(source, cmd, target, amount) 
    local targetPlayer = getPlayerFromName ( target ) 
    if (targetPlayer) and (amount) then 
        local targettokens = getElementData(targetPlayer,"tokens") 
        local thetokens = amount 
        local settargettokens = setElementData(targetPlayer,"tokens",thetokens) 
    end 
end 
addCommandHandler("settokens",settokens) 
  

este lo que hace es remplaza el valor de "tokens" al que tu quieras, se utiliza igual que el anterior, solo que este en vez de agregar, lo remplaza.

Gracias por la explicacion variada :D ... lo que yo quiero lograr lo podria sacar de aca no? (un comando que al poner /setpoli (nick del player) le setee esto : setElementData(target,"team1",true) o como podria hacer este comando funcionar¿?

Link to comment
function setData(player,_,who) 
    if who then 
        who = getPlayerFromPartialName(tostring(who)); 
        if who then 
            if getElementData(player, "team1") ~= true then 
                setElementData(player, "team1", true) 
                return true; 
            end 
            return false; 
        end 
        return false; 
    end 
    return false; 
end 
addCommandHandler("setpoli", setData) 
  
function getPlayerFromPartialName(name) 
    local name = name and name:gsub("#%x%x%x%x%x%x", ""):lower() or nil 
    if name then 
        for _, player in ipairs(getElementsByType("player")) do 
            local name_ = getPlayerName(player):gsub("#%x%x%x%x%x%x", ""):lower() 
            if name_:find(name, 1, true) then 
                return player 
            end 
        end 
    end 
end 

Link to comment
  • Recently Browsing   0 members

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