UserToDelete Posted January 8, 2015 Share Posted January 8, 2015 SYNTAX: /givem [player] [ammount] FUNC: Que pase el dinero desde la cuenta del que lo transfiere al que escriba, pero si alguien se llama "venadHD" que solo al poner "/givem ven 20" ya me transfiera 20$ y nose como hacerlo function transfer (ss223,ss253) if (string.find(ss223) then givePlayerMoney(ss223,ss253) end end addCommandHandler("givem",transfer) Link to comment
Alexs Posted January 8, 2015 Share Posted January 8, 2015 · Hidden Hidden Prueba con 'getPlayerFromNamePart', es una función útil que puedes encontrar en la wiki. Link to comment
UserToDelete Posted January 8, 2015 Author Share Posted January 8, 2015 (edited) function transfer (name,ss253) 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 givePlayerMoney(name,ss253) takePlayerMoney(source,ss253) end end end end addCommandHandler("givem",transfer) Seria algo talque asi? nunca usé funciones utiles de la wiki, y tampoco se ubicarlas mucho.. O seria algo asi? 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 function transfer (source, ss258, dinero) SS2 = getPlayerFromPartialName(ss258) SS = takePlayerMoney(source,dinero) SS2 = getPlayerFromPartialName(ss258) if SS == true then outputChatBox("Transferido",source,0,255,0,true) givePlayerMoney(ss258,dinero) else outputChatBox("No tienes suficiente dinero",source,255,0,0,true) end end addCommandHandler("givem",transfer) Cual de las dos maneras me sirve? y paara que me sirven exactamente las usefull functions? añaden functions como getPlayerName ()? Edited January 8, 2015 by Guest Link to comment
Alexs Posted January 8, 2015 Share Posted January 8, 2015 · Hidden Hidden 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 function transfer (ss223,ss253) local player = getPlayerFromPartialName(ss223) if player then givePlayerMoney(player ,ss253) end end addCommandHandler("givem",transfer) Prueba con algo así, de todas formas podría tener sus fallas. Link to comment
UserToDelete Posted January 8, 2015 Author Share Posted January 8, 2015 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 function transfer (name, dinero) player = getPlayerFromPartialName(jugador) takeFromSource = takePlayerMoney(source, dinero) playerName = getPlayerName(source) if player then if takeFromSource == true then outputChatBox("Dinero transferido", source, 0, 255, 0, true) givePlayerMoney(player ,dinero) outputChatBox("Has recibido: "..dinero.."€ de: "..playerName, jugador, 0, 255, 0, true) else outputChatBox("Error2") end else outputChatBox("Error1") end end addCommandHandler("givem",transfer) Me da dos errores relacionados con "source" takeFromSource = takePlayerMoney(source, dinero) playerName = getPlayerName(source) Link to comment
Alexs Posted January 8, 2015 Share Posted January 8, 2015 · Hidden Hidden Error mio: 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 function transfer (source, _, name, dinero) dinero = tonumber(dinero) or 0 player = getPlayerFromPartialName(name) takeFromSource = takePlayerMoney(source, dinero) playerName = getPlayerName(source) if player then if takeFromSource == true then outputChatBox("Dinero transferido", source, 0, 255, 0, true) givePlayerMoney(player ,dinero) outputChatBox("Has recibido: "..dinero.."€ de: "..playerName, jugador, 0, 255, 0, true) else outputChatBox("Error2") end else outputChatBox("Error1") end end addCommandHandler("givem",transfer) * Perdón por el formato de las etiquetas lua, pero sin importar como lo intente, siguen apareciendo así. Link to comment
UserToDelete Posted January 9, 2015 Author Share Posted January 9, 2015 por ejemplo, hay 3 jugadores venadHD jake paloman si yo escribo "/givem a 100" le da el dinero a 2 jugadores en vez de a 1 Como hago para que solo sea uno? function transfer (source, _, name, dinero) dinero2 = tonumber(dinero) or 0 player = getPlayerFromPartialName(name) takeFromSource = takePlayerMoney(source, dinero2) playerName = getPlayerName(source) if player then if takeFromSource == true then outputChatBox("Dinero transferido", source, 0, 255, 0, true) givePlayerMoney(player ,dinero) outputChatBox("Has recibido: "..dinero2.."$ de: "..playerName, player, 0, 255, 0, true) else outputChatBox("Error") end else outputChatBox("Error") end end addCommandHandler("givem",transfer) Nada , nada, solo coge un jugador Link to comment
Recommended Posts