Ir para conteúdo

Fast Food Delivery


LaisDosOts

Posts Recomendados

CARAMBOLA, FIZ QUESTÃO DE EDITAR UM POUCO ESSE POST, PQP EU TINHA PROBLEMAS AYEHUDSAIOF flw

 

--

 

Saudações XTibia o/

Estav aeu, procurando tutoriais de scripting no Google, e acabei achando um script muito legal (na minha opinião).

Como eu disse, Achei um script muito legal, não é meu '-'

Quote do Post Original (#####) com devidos créditos (Como o XTibia proibe escrever sobre outros fóruns, não foi possivel ser mostrado os créditos inteiros)

Nome: Fast Food Delivery (FFD)

Versão: 1.0

 

Versão do Tibia: 8.5+ (não testado em versões anteriores)

Teste: TFS cryingdamson

 

Autor: PeJuGe (97%)

 

Nível: Iniciante

 

Outros Créditos:

2% Skyen Hasus e VConde2 -> Organização e concerto de um erro

1% MotoBoy -> Idéia do Fast Food

 

Comentário: Este script consiste na entrega de alimento (facilmente adaptável para qualquer item) em um determinado tempo, cobrando na entrega.

 

 

Não sei se vai ser muito útil, talvez os players vão preferir matar rat pra pegar cheese, ou ir lá no npc pra comprar '-'

 

Bom, mas é script. Inovação xD

 

 

Vamos ao Script

 

Vá na pasta Data/Talkactions/Scripts , copie um arquivo.lua e renomeie para fastfooddelivery.

Coloque isso dentro:

Reparem na função MakeDelivery ^^

--[[ Autor : PeJuGe (2009)
 Outros créditos: 4% Skyen Hasus e VConde2 -> Organização e concerto de um erro
				  1% MotoBoy			   -> Idéia do Fast Food
 EXCLUSIVIDADE: ######
 NÃO REMOVA OS CRÉDITOS
]]--

--Configurações
local comidas = {   --> Coloque respectivamente "Nome" e Preço
["Meat"] = 50,
["Ham"] = 90,
["Fish"] = 150,
["Dragon Ham"] = 200
}
local tempo = 5 --> Tempo da entrega em segundos
local container = "Present"  --> Pacote em que será entrege o item

local msg = MESSAGE_STATUS_CONSOLE_BLUE  --> Tipo da mensagem
local sat = 350   --> Cor da mensagem animada
-- Fim das Configurações

function onSay(cid, words, param)

_, _, param1, param2= param:find("([%s%w]+) ([%s%w%d]+)")
local param2 = tonumber(param2)	

  if (param == '') then
   return doPlayerSendTextMessage(cid, msg, "Atendente: Bem vindo ao Fast Food Delivery. \nPara ver nosso cardápio utilize: !food cardapio\nPara fazer o seu pedido utilize: !food Alimento Quantidade (Ex.: !food Meat 5).\nPara cancelar seu pedido utilize: !food cancel")
  elseif (param == 'cardapio') then
	  doPlayerSendTextMessage(cid, msg, "Atendente: Aqui no Fast Food Delivery vendemos:")
	  for k,v in pairs(comidas) do
		  doPlayerSendTextMessage(cid, msg, k.." por "..v.." gold(s) cada.")
	  end
	  return TRUE
  elseif (param == 'cancel') then
	   if getPlayerStorageValue(cid, 2002) ==  1 then
		  setPlayerStorageValue(cid, 2002, 0)
		  doPlayerSendTextMessage(cid, msg, "Atendente: Sua entrega foi cancelada. Ligue novamente quando desejar.")
		  doSendAnimatedText(getCreaturePosition(cid), "Cancelado", 350)
	   else doPlayerSendTextMessage(cid, msg, "Atendente: Desculpe, não há nenhum pedido registrado em seu nome.")
	   end
  return TRUE
  end

  if comidas[param1] ~= nil then
  if getPlayerStorageValue(cid, 2002) ==  0 then
	 if param2 ~= nil or param2 == number then
		if param2 > 100 or param2 == 0 then
		   return doPlayerSendTextMessage(cid, msg, "Atendente: Desculpe, nosso entregador carrega no máximo 100 unidades e no mínimo 1 unidade.")
		else if getPlayerMoney(cid) > comidas[param1] * param2 then
				doPlayerSendTextMessage(cid, msg, "Atendente: Obrigado por utilizar o Fast Food Delivery. Seu pedido foi registrado e sua entrega chegará dentro de "..tempo.." segundo(s).\nPedido: "..param2.." "..param1.." por "..comidas[param1].." gold(s) cada.\nTotal: "..comidas[param1] * param2.." gold(s).")
				doSendAnimatedText(getCreaturePosition(cid), "Pedido", sat)
				setPlayerStorageValue(cid, 2002, 1)
				stopEvent(onSay)
				addEvent(MakeDelivery, 6000, cid, getItemIdByName(param1), comidas[param1],getItemIdByName(container), param2)	
			 else doPlayerSendTextMessage(cid, msg, "Atendente: Desculpe, você não tem dinheiro suficiente.")
			 end
		end
	 else return doPlayerSendTextMessage(cid, msg, "Atendente: Por favor, informe um número (menor que 100 e maior que 0) com a quantidade desejada.")
	 end
  else return doPlayerSendTextMessage(cid, msg, "Atendente: Por favor, aguarde a entrega do seu produto para fazer um novo pedido.\nPara cancelar seu pedido utilize: !food cancel")
  end
  else return doPlayerSendTextMessage(cid, msg, "Atendente: Desculpe, não vendemos este item ou a quantidade determininada é invalida.\nPara mais informações utilize: !food")
  end

return TRUE
end								  

function MakeDelivery(uid, item, price, container, quantity)
  if getPlayerStorageValue(uid, 2002) == 1 then
	 if doPlayerRemoveMoney(uid, price * quantity) == true then
		doAddContainerItem(doPlayerAddItem(uid, container, 1), item, quantity)
		doSendAnimatedText(getCreaturePosition(uid), "Entrega!", sat)
		doSendMagicEffect(getCreaturePosition(uid), 2)
		setPlayerStorageValue(uid, 2002, 0)
	 else doPlayerSendTextMessage(uid, msg, "Entregador: Desculpe, a entrega pode ser feita somente mediante o pagamento, ligue novamente quando tiver dinheiro.")
		  setPlayerStorageValue(uid, 2002, 0)
	 end  
  end
  return TRUE
end

 

Vá a talkactions/talkactions.xml e copie este trecho para o arquivo:

<talkaction log="yes" words="!food" event="script" value="fastfooddelivery.lua"/>  

 

Quote do Post Original - Opção Opcional (Nossa)

3º Passo: (opcional)

Último passo, este é opcional, pois é para corrigir um erro, como dito anteriormente, caso não queira instalar o player pode fazer isto manualmente dizendo !food cancel (diga !food quando estiver logado para saber os comandos ou leia o tópico seguinte =D).

Vá até a pasta data/creaturescripts e insira o trecho a seguir logo abaixo de onLogin(cid):

 

Citação:

setPlayerStorageValue(cid, 2002, 0)

 

"OMG, ACABOU? YES =D" Pronto, seu script está instalado, agora basta aprender a configurá-lo.

 

Vamos agora mexer no Script dele.

 

Primeiro - Vamos mudar as comidas que serão vendidas.

 

Ache isso no Script

local comidas = { --> Coloque respectivamente "Nome" e Preço

["Meat"] = 50,

["Ham"] = 90,

["Fish"] = 150,

["Dragon Ham"] = 200

}

}

 

 

Como lá mesmo está dizendo, coloque respectivamente "Nome" e "Preço".

 

Segundo - O tempo da entrega.

Se você não quiser o tempo que está no script, você pode mudá-lo =D

Pra não ficar aquela coisa chata de ficar esparando muito(vo matar o entregador de pizza, sabe?), é bom mudar sim '-'

 

Ache essa parte o script

 

local tempo = 5 --> Tempo da entrega em segundos

local container = "Present" --> Pacote em que será entrege o item

 

A coisa é xiq u.u

Entrega em pacote ^^

 

Bom, aqui você pode mudar o tempo da entrega, em segundos (no script, ta lá 5) e o pacote em que será entregue, um container de preferencia (que guarda coisas dentro - bag, backpack...)

 

Ex: Se quiser 1h, coloque local tempo = 60 (60 segundos = 1h)

 

Terceiro (Quote do post original)

3º Passo: (opcional)

-- Linha 18 --

Este passo é para configuração da cor das mensagens e mensagens animadas, caso tenha dificuldade neste passo pode pulá-lo, não mudará em nada, já está uma gracinha (que gay uhahuauha, mas ta rox ).

 

Citação:

local msg = MESSAGE_STATUS_CONSOLE_BLUE --> Tipo da mensagem

local sat = 350 --> Cor da mensagem animada

 

Em msg (no caso MESSAGE_STATUS_CONSOLE_BLUE) coloque o tipo de mensagem desejada e o tipo de mensagem animada em sat(no caso 350). Pronto, está configurado seu script =D. Qualquer outra informação você pode ver mais facilmente pelo jogo, o qual já é bastante explicativo, basta utilizar !food, não se esqueça de reiniciar o servidor ao instalar.

 

 

Em breve eu posto as ScreenShots, o pessoal do ot gostou.

 

Lembrando pro pessoal que o script não é meu, mas eu tentarei tirar dúvidas ^^

 

Ty XTibia o/

Editado por LaisDosOts
Link para o comentário
Compartilhar em outros sites

  • 1 year later...

Rep+ Hard Corporation,

Achamos otimo seu Script, foi tirado do fundo do bau da Página 13,8333333333 Do Forum de Actions, TalkActions & MoveEvents.

Parabens Pela Criaçao.

 

Hard Corporation

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...