UserToDelete Posted January 8, 2015 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)
Alexs Posted January 8, 2015 Posted January 8, 2015 · Hidden Hidden Prueba con 'getPlayerFromNamePart', es una función útil que puedes encontrar en la wiki. Developer @ MYVAL
UserToDelete Posted January 8, 2015 Author 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
Alexs Posted January 8, 2015 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. Developer @ MYVAL
UserToDelete Posted January 8, 2015 Author 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)
Alexs Posted January 8, 2015 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í. Developer @ MYVAL
UserToDelete Posted January 9, 2015 Author 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
Recommended Posts