Ir para conteúdo
  • Cadastre-se

Posts Recomendados

gostei, agora entendi oque ele quis dizer mas acho q vc deveria colocar um if pra verificar uma quantidade máxima e após ganhar, a quantidade máxima (para aquele player) se tornasse igual ao maior valor já ganho. Podia começar com 10k e a cada vez que ganhasse ele retornasse o valor do premio e salvasse num storage, daí se o valor do storage fosse maior que 10k, o máximo que ele poderia apostar é igual ao valor do storage.

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

Eu fiz o código com base no que eu vi no global, a única coisa diferente é que lá tem uma quantia mínima e máxima e também o gold quando ganho seria adicionado no coal porem seria muito complicado então coloquei pra adicionar no player mesmo.

E colocar min/max seria fácil com a função countMoneyOnPos(pos)

16/11/2014

23/11/2014

 

RIP AnneMotta 21/01/2012 - 15/01/2014

Liga das lendas: DIAMOND É A META

6qpqBbJ.png

Link para o post
Compartilhar em outros sites
  • 2 weeks later...
  • 4 weeks later...

Toda vez que ele gira o dado aparece esse erro: 

 

 


[Error - NPC interface]

data/npc/scripts/dicer.lua:onCreatureSay

Description:

<luaDoRemoveItem> Item not found

Sendo que os itens que não acha é o Gold, Platinum e Crystal..

Sign's


r6z42f.png
Feito por: Anne Motta

dxo51e.png
Feito por: Mim! kk ' Primeira Sign *-*




Link para o post
Compartilhar em outros sites

acho q vc esqueceu de configurar o script:

local posCoal = {x = 169, y = 58, z = 7} -- POSIÇÃO DO COAL, ONDE O GOLD DEVE ESTAR

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

Ta certo, o NPC está funcionando direitinho, mas a cada Roll no dice aparece o erro..

Sign's


r6z42f.png
Feito por: Anne Motta

dxo51e.png
Feito por: Mim! kk ' Primeira Sign *-*




Link para o post
Compartilhar em outros sites
  • 3 weeks later...

Eu não sei mexer no tfs 1.0 então não vou poder resolver isso, caso alguém saiba fique a vontade pra arrumar :D

 

Sabe alguém ai quer você sabe mim ajudar com isso não PLZ REP+ com urgente :)

Link para o post
Compartilhar em outros sites
  • 1 month later...

arrumei o erro que dava:

 

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}

function onCreatureAppear(cid)				npcHandler:onCreatureAppear(cid)			end
function onCreatureDisappear(cid)			npcHandler:onCreatureDisappear(cid)			end
function onCreatureSay(cid, type, msg)			npcHandler:onCreatureSay(cid, type, msg)		end
function onThink()					npcHandler:onThink()					end

function creatureSayCallback(cid, type, msg)
	if(not npcHandler:isFocused(cid)) then
		return false
	end

	local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

	
	local coins = {[2148] = 1, [2152] = 100, [2160] = 10000}

function countMoneyOnPos(pos)
 local money = 0
 for stack = 1, 255  do
  pos.stackpos = stack
  local item = getThingFromPos(pos)
  if item and item.uid > 0 then
   if coins[item.itemid] then
    money = money + coins[item.itemid] * item.type
   end
  end
 end
 return money
end
	

	
local posCoal = {x = 145, y = 49, z = 7} -- POSIÇÃO DO COAL, ONDE O GOLD DEVE ESTAR
local posNpc = {x = 145, y = 48, z = 7} -- POSIÇÃO DO NPC
local pos = getPosByDir(getThingPos(cid), getCreatureLookDirection(cid), 1) -- NÃO ALTERAR

	if msgcontains(msg, 'l') or msgcontains(msg, 'L') or msgcontains(msg, 'low') or msgcontains(msg, 'Low') then
		if countMoneyOnPos(pos) > 0 then
			if math.random(1, 6) <= 3 then
			doPlayerAddMoney(cid, countMoneyOnPos(pos)*2)
				doSendMagicEffect(posNpc, 26)
				doSendMagicEffect(posNpc, 28)
				doCreatureSay(getNpcId(), getCreatureName(cid)..' tirou o numero '..math.random(1, 3)..', parabéns!', TALKTYPE_ORANGE_1)
			else
				doSendMagicEffect(posNpc, 2)
				doSendMagicEffect(posNpc, 26)
				doCreatureSay(getNpcId(), getCreatureName(cid)..' tirou o numero '..math.random(4, 6)..', tente novamente!', TALKTYPE_ORANGE_1)
			end
							for stack = 1, 255  do
				  pos.stackpos = stack
				  local item = getThingFromPos(pos)
				  if item and item.uid > 0 then
				   if coins[item.itemid] then
					doRemoveItem(item.uid)
				   end
				  end
				 end
		else
			doCreatureSay(getNpcId(), getCreatureName(cid)..', coloque uma quantia de gold no recipiente para começar a apostar!', TALKTYPE_ORANGE_1)
		end
		
	elseif msgcontains(msg, 'h') or msgcontains(msg, 'H') or msgcontains(msg, 'high') or msgcontains(msg, 'High') then
		if countMoneyOnPos(pos) > 0 then
			if math.random(1, 6) <= 3 then
				doPlayerAddMoney(cid, countMoneyOnPos(pos)*2)
				doSendMagicEffect(posNpc, 26)
				doSendMagicEffect(posNpc, 28)
				doCreatureSay(getNpcId(), getCreatureName(cid)..' tirou o numero '..math.random(4, 6)..', parabéns!', TALKTYPE_ORANGE_1)
			else
				doSendMagicEffect(posNpc, 2)
				doSendMagicEffect(posNpc, 26)
				doCreatureSay(getNpcId(), getCreatureName(cid)..' tirou o numero '..math.random(1, 3)..', tente novamente!', TALKTYPE_ORANGE_1)
			end
							for stack = 1, 255  do
				  pos.stackpos = stack
				  local item = getThingFromPos(pos)
				  if item and item.uid > 0 then
				   if coins[item.itemid] then
					doRemoveItem(item.uid)
				   end
				  end
				 end
		else
			doCreatureSay(getNpcId(), getCreatureName(cid)..', coloque uma quantia de gold no recipiente para começar a apostar!', TALKTYPE_ORANGE_1)
		end
	end
return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites
  • 8 months later...

Gente, eu estou usando esse codigo mas estou com um problema

no caso, o player quando ganha nao recebe 2x o valor, ele recebe 3x!

 

eu acho que o script tá configurado para devolver o dinheiro da aposta + o dobro do valor por ter ganho!

 

no caso, eu aposto 1kk

se eu vencer, eu pego meu 1kk de volta +2kk!

 

Alguem sabe corrigir isso? eu quero que ele so recebe o dobro do valor

Link para o post
Compartilhar em outros sites
  • 2 weeks later...

Deu o seguinte erro: 

 

 
data/npc/scripts/dicer.lua:39: attempt to call global 'getThingPosition' (a nil value)
stack traceback:
        [C]: in function 'getThingPosition'
        data/npc/scripts/dicer.lua:39: in function 'callback'
        data/npc/lib/npcsystem/npchandler.lua:430: in function 'onCreatureSay'
        data/npc/scripts/dicer.lua:8: in function <data/npc/scripts/dicer.lua:8>
 
(Tfs 1.1)
 
Se souber de alguma solução por favor .. rs obrigado
Link para o post
Compartilhar em outros sites
  • 2 months later...

Para resolver o problema de triplicar a quantia ganha, eu mudei apenas 1 linha do código e aqui funcionou direitinho.

 

Primeiro: Para resolver todos os problemas eu usei o código passado pelo xWhiteWolf.

Aqui ficou perfeito, não deu nenhum problema, apenas o erro de triplicar a quantia de gold.

 

Segundo: Altere a linha: 

local posNpc = {x = 126, y = 47, z = 5} -- POSIÇÃO DO NPC
local pos = getPosByDir(getThingPos(cid), getCreatureLookDirection(cid), 1) -- NÃO ALTERAR
 
if msgcontains(msg, 'l') or msgcontains(msg, 'L') or msgcontains(msg, 'low') or msgcontains(msg, 'Low') then
if countMoneyOnPos(pos) > 0 then
if math.random(1, 6) <= 3 then
doPlayerAddMoney(cid, countMoneyOnPos(pos)*2)
doSendMagicEffect(posNpc, 26)
doSendMagicEffect(posNpc, 28)
doCreatureSay(getNpcId(), getCreatureName(cid)..' tirou o numero '..math.random(1, 3)..', parabéns!', TALKTYPE_ORANGE_1)
 

 

Ficando assim:

local posNpc = {x = 126, y = 47, z = 5} -- POSIÇÃO DO NPC
local pos = getPosByDir(getThingPos(cid), getCreatureLookDirection(cid), 1) -- NÃO ALTERAR
 
if msgcontains(msg, 'l') or msgcontains(msg, 'L') or msgcontains(msg, 'low') or msgcontains(msg, 'Low') then
if countMoneyOnPos(pos) > 0 then
if math.random(1, 6) <= 3 then
doPlayerAddMoney(cid, countMoneyOnPos(pos)*1)
doSendMagicEffect(posNpc, 26)
doSendMagicEffect(posNpc, 28)
doCreatureSay(getNpcId(), getCreatureName(cid)..' tirou o numero '..math.random(1, 3)..', parabéns!', TALKTYPE_ORANGE_1)

 

Só não me pergunte como fiz kkk. Testei e funcionou!

 

Espero ter ajudado!

Editado por nemseihein (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 2 weeks later...

queria esse npc para seguinte forma tipo meu ot tem evento q ser o cara falar 2 numero e ele acerta ele ganha um premio q seria item aleatório tem como fazer ???  eu faço eu mesmo na mão com adm mais e chato -.- dasiodjsaiod os premio eu coloco os id dos item.

 

ex e baixo de perdendo

 

jogador:oi

npc: diga 2 numero se você acerta ganhara um premeio

jogador: 1.2

npc: a que pena errou 

 

agora ganhado

 

jogador:oi

npc: diga 2 numero se você acerta ganhara um premeio

jogador:5,6

npc: opa acerto aki esta seu premio 

Editado por diego.tonioti (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 3 months later...
  • 1 month later...

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