Ir para conteúdo
  • Cadastre-se

[PEDIDO] SCRIPT DE DAR ITENS PARA TODOS OS PLAYERS ONLINE 1.0


Posts Recomendados

14 horas atrás, yuriowns disse:

Boa noite rapaziada, venho aqui saber se alguém tem algum script para TFS 1.0 que de itens para os players online através de um comando que somente os CMs podem utilizar, valeu!!!

 

Bom dia, segue o script data/talkactions/scripts/items.lua

 

local config = {
	items = {
		[1] = {id = 2650, count = 1},
		[2] = {id = 2160, count = 15}, 
		[3] = {id = 2160, count = 26}, 
		[4] = {id = 2382, count = 2},
		-- [5] = {id = 2382, count = 2}, Adicionar novo item, seguir a sequencia entre [] 
		-- [6] = {id = 2382, count = 2}, Adicionar novo item, seguir a sequencia entre [] 
	}, 
}

function onSay(player, words, param)

	if not (player:getGroup():getAccess()) then
		return false
	end

	for _,pid in ipairs(getOnlinePlayers()) do
		local player = Player(pid)
		if (player:isPlayer() and not player:getGroup():getAccess()) then
			player:sendTextMessage(TALKTYPE_ORANGE_1, "Parabens, voce recebeu os seguintes items do ADM!")	
			for i=1, #config.items do
				player:addItem(config.items[i].id, config.items[i].count)
				local itemType = ItemType(config.items[i].id)
				player:sendTextMessage(3, "- "..config.items[i].count.." "..itemType:getName().."(s).")	
			end
		end
	end
end

 

XML data/talkactions/talkactions.xml

<talkaction words="/items" separator=" " script="items.lua" />

 

Link para o post
Compartilhar em outros sites
3 horas atrás, MatteusDeli disse:

 

Bom dia, segue o script data/talkactions/scripts/items.lua

 


local config = {
	items = {
		[1] = {id = 2650, count = 1},
		[2] = {id = 2160, count = 15}, 
		[3] = {id = 2160, count = 26}, 
		[4] = {id = 2382, count = 2},
		-- [5] = {id = 2382, count = 2}, Adicionar novo item, seguir a sequencia entre [] 
		-- [6] = {id = 2382, count = 2}, Adicionar novo item, seguir a sequencia entre [] 
	}, 
}

function onSay(player, words, param)

	if not (player:getGroup():getAccess()) then
		return false
	end

	for _,pid in ipairs(getOnlinePlayers()) do
		local player = Player(pid)
		if (player:isPlayer() and not player:getGroup():getAccess()) then
			player:sendTextMessage(TALKTYPE_ORANGE_1, "Parabens, voce recebeu os seguintes items do ADM!")	
			for i=1, #config.items do
				player:addItem(config.items[i].id, config.items[i].count)
				local itemType = ItemType(config.items[i].id)
				player:sendTextMessage(3, "- "..config.items[i].count.." "..itemType:getName().."(s).")	
			end
		end
	end
end

 

XML data/talkactions/talkactions.xml


<talkaction words="/items" separator=" " script="items.lua" />

 

Qual é o comando certo pra dar crystal coins?

Link para o post
Compartilhar em outros sites

Em talkaction.xml adiciona:


    <talkaction log="yes" words="/item-all"  access="6" script="itemall.lua"/>

Depois em talkaction/script/crie um arquivo com o nome itemall.lua e add:

Spoiler

function onSay(cid, words, param, channel)
local adm = getPlayerName(cid)
local t = string.explode(param, ",")
if t[1] ~= nil and t[2] ~= nil then
local list = {}
for i, tid in ipairs(getPlayersOnline()) do
    list[i] = tid
end
for i = 1, #list do
doPlayerAddItem(list[i],t[1],t[2])
end
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.")
end
return true
end

/item-all id do item

16 minutos atrás, yuriowns disse:

Qual é o comando certo pra dar crystal coins?

/items e o id

Editado por Nysman (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
2 horas atrás, MatteusDeli disse:

 

Só configurar os itens e as quantidades no script e falar /items

Coloquei somente o id do crystal coin, eu falo /items mas não acontece nada

2 horas atrás, Nysman disse:

Em talkaction.xml adiciona:


    <talkaction log="yes" words="/item-all"  access="6" script="itemall.lua"/>

Depois em talkaction/script/crie um arquivo com o nome itemall.lua e add:

  Mostrar conteúdo oculto

function onSay(cid, words, param, channel)
local adm = getPlayerName(cid)
local t = string.explode(param, ",")
if t[1] ~= nil and t[2] ~= nil then
local list = {}
for i, tid in ipairs(getPlayersOnline()) do
    list[i] = tid
end
for i = 1, #list do
doPlayerAddItem(list[i],t[1],t[2])
end
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.")
end
return true
end

/item-all id do item

/items e o id

tentei mas deu erro na distro, provavelmente não seja para TFS 1.0, mas obrigado pela atenção amigo!!

Link para o post
Compartilhar em outros sites
38 minutos atrás, yuriowns disse:

Coloquei somente o id do crystal coin, eu falo /items mas não acontece nada

tentei mas deu erro na distro, provavelmente não seja para TFS 1.0, mas obrigado pela atenção amigo!!

Qual erro correu jovem?

 

Link para o post
Compartilhar em outros sites
Agora, worthdavi disse:

Qual script tu tá usando? E como tá o talkactions.xml? Acabei não entendo nada que vocês falaram.

Me responde isso que resolvo seu problema.

eu não consegui fazer funcionar nenhum script ainda, vc teria algum pronto pra TFS 1.0?

Link para o post
Compartilhar em outros sites
1 minuto atrás, yuriowns disse:

eu não consegui fazer funcionar nenhum script ainda, vc teria algum pronto pra TFS 1.0?

 

Em talkactions.xml

<talkaction words="/giveitem" separator=" " script="giveitem.lua" />

 

Em giveitem.lua

function onSay(player, words, param)
	if not player:getGroup():getAccess() or player:getGroup():getId() < 6 then
		return true
	end
	if param == "" then
    	player:sendCancelMessage("Invalid parameter.")
    	return false
   	elseif not tonumber(param) then
    	player:sendCancelMessage("Invalid parameter. Parameter must be a number.")
    	return false
    end
  	local id = param
  	local item = ItemType(id)
  	if item then
    	for _, c in pairs(Game.getPlayers()) do
      		if c then
        		c:addItem(id, 1)
        		c:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You received a " .. ItemType(id):getName()  .. ".")
        	end
        end
    else
    	player:sendCancelMessage("Item with this id does not exist.")
		return false
    end
	return false
end

 

 

Só usar o comando /giveitem id

Link para o post
Compartilhar em outros sites
1 minuto atrás, worthdavi disse:

 

Em talkactions.xml


<talkaction words="/giveitem" separator=" " script="giveitem.lua" />

 

Em giveitem.lua


function onSay(player, words, param)
	if not player:getGroup():getAccess() or player:getGroup():getId() < 6 then
		return true
	end
	if param == "" then
    	player:sendCancelMessage("Invalid parameter.")
    	return false
   	elseif not tonumber(param) then
    	player:sendCancelMessage("Invalid parameter. Parameter must be a number.")
    	return false
    end
  	local id = param
  	local item = ItemType(id)
  	if item then
    	for _, c in pairs(Game.getPlayers()) do
      		if c then
        		c:addItem(id, 1)
        		c:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You received a " .. ItemType(id):getName()  .. ".")
        	end
        end
    else
    	player:sendCancelMessage("Item with this id does not exist.")
		return false
    end
	return false
end

 

 

Só usar o comando /giveitem id

fiz tudo certinho e não acontece nada quando do o comando

Link para o post
Compartilhar em outros sites
function onSay(player, words, param)
	if param == "" then
    	player:sendCancelMessage("Invalid parameter.")
    	return false
   	elseif not tonumber(param) then
    	player:sendCancelMessage("Invalid parameter. Parameter must be a number.")
    	return false
    end
  	local id = param
  	local item = ItemType(id)
  	if item then
    	for _, c in pairs(Game.getPlayers()) do
      		if c then
        		c:addItem(id, 1)
        		c:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You received a " .. ItemType(id):getName()  .. ".")
        	end
        end
    else
    	player:sendCancelMessage("Item with this id does not exist.")
		return false
    end
	return false
end

 

 

tenta assim

mas assim qualquer um pode usar

Link para o post
Compartilhar em outros sites
function onSay(player, words, param)
	if player:getGroup():getId() < 3 then
    	return false
    end

	local split = param:splitTrimmed(",")
	if not split[1] then
		player:sendCancelMessage("Necessita de pelo menos um parametro")
		return false
    end
    
    local item = tonumber(split[1]) and ItemType(tonumber(split[1])) or ItemType(split[1])
    local itemid = item:getId()
    count = 1
    if split[2] then
        count = tonumber(split[2]) > 0 and tonumber(split[2]) or 1
    end
    if itemid > 0 then
        for _, pid in pairs(Game.getPlayers()) do
            if pid:addItem(itemid, count, false) then
                pid:sendTextMessage(22, "Você ganhou " ..count.. "x " ..item:getName().. ".")
            end
        end
        return true
    end
    player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Item invalido!")
  	return false
end

 

<talkaction words="!additem" separator=" " script="additem.lua" />

 

Pode usa com nome do item ou id, com parametro de quantidade e se tiver sem vai entregar só 1

!additem gold coin, 99

 

Se nao estiver funcionando vc precisa ver se o char q está testando está configurado certo para usar os comandos, pois o do worthdavi deveria está funcionando tbm. Ve algum comando que usa ja e muda o começo que verifica se é da staff

Discord: Naze#3578

 

Ter Linux Dentro de Windows com Acesso 'localhost' para testes e +

AutoLoot Otimizado Direto na Source (tfs 0.4/otx)

 

// Pirataria é crime, original é roubo, compartilhar é legal.

 

tumblr_muk78tEwDQ1qah4nko1_500.gif

Link para o post
Compartilhar em outros sites
9 minutos atrás, worthdavi disse:

function onSay(player, words, param)
	if param == "" then
    	player:sendCancelMessage("Invalid parameter.")
    	return false
   	elseif not tonumber(param) then
    	player:sendCancelMessage("Invalid parameter. Parameter must be a number.")
    	return false
    end
  	local id = param
  	local item = ItemType(id)
  	if item then
    	for _, c in pairs(Game.getPlayers()) do
      		if c then
        		c:addItem(id, 1)
        		c:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You received a " .. ItemType(id):getName()  .. ".")
        	end
        end
    else
    	player:sendCancelMessage("Item with this id does not exist.")
		return false
    end
	return false
end

 

 

tenta assim

mas assim qualquer um pode usar

aparece isso "You received a ." mas não recebo nenhum item.

2 minutos atrás, Naze disse:

function onSay(player, words, param)
	if not player:getGroup():getAccess() then
		return true
	end

	if player:getAccountType() < ACCOUNT_TYPE_GOD then
		return false
	end

	local split = param:splitTrimmed(",")
	if not split[1] then
		player:sendCancelMessage("Necessida de pelo menos um parametro")
		return false
    end
    
    local item = tonumber(split[1]) and ItemType(tonumber(split[1])) or ItemType(split[1])
    local itemid = item:getId()
    count = 1
    if split[2] then
        count = tonumber(split[2]) > 0 and tonumber(split[2]) or 1
    end
    print(split[2])
    if itemid > 0 then
        for _, pid in pairs(Game.getPlayers()) do
            if pid:addItem(itemid, count, false) then
                pid:sendTextMessage(22, "Você ganhou " ..count.. "x " ..item:getName().. ".")
            end
        end
        return true
    end
    player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Item invalido!")
end

 


<talkaction words="!additem" separator=" " script="additem.lua" />

 

Pode usa com nome do item ou id, com parametro de quantidade e se tiver sem vai entregar só 1

!additem gold coin, 99

fiz tudo certinho e não aconteceu nada, será que falta algo na source?

 

Link para o post
Compartilhar em outros sites

nao, como falei a conta que esta testando deve nao ter acesso

 

Discord: Naze#3578

 

Ter Linux Dentro de Windows com Acesso 'localhost' para testes e +

AutoLoot Otimizado Direto na Source (tfs 0.4/otx)

 

// Pirataria é crime, original é roubo, compartilhar é legal.

 

tumblr_muk78tEwDQ1qah4nko1_500.gif

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo