Postado Maio 31, 2015 10 anos Em 31/05/2015 em 06:07, anthonyx22 disse: olha agr quando eu vou falar HI ele nem responde ele fica mudo qualquer coisa desbug hi ele nao ta respondendo mais Em 31/05/2015 em 06:07, anthonyx22 disse: olha agr quando eu vou falar HI ele nem responde ele fica mudo qualquer coisa desbug hi ele nao ta respondendo mais Estou sem nada pra testar e não sou muito bom com NPCs kk Mostrar conteúdo oculto local focus = 0 local talk_start = 0 local target = 0 local days = 0 storage = 19400 -- storage em que será salvo o tempo tempo = 5 -- em minutos function onThingMove(creature, thing, oldpos, oldstackpos) end function onCreatureAppear(creature) end function onCreatureDisappear(cid, pos) if focus == cid then selfSay('Good bye then.') focus = 0 talk_start = 0 end end function onCreatureTurn(creature) end function msgcontains(txt, str) return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)')) end function onCreatureSay(cid, type, msg) msg = string.lower(msg) if (msgcontains(msg, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < 4 then selfSay('Hello ' .. getCreatureName(cid) .. '! Oi eu lhe dou 1 nivel por 10 Gold') focus = cid talk_start = os.clock() elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then selfSay('Sorry, ' .. getCreatureName(cid) .. '! I talk to you in a minute.') elseif focus == cid then talk_start = os.clock() if msgcontains(msg, 'promotion') or msgcontains(msg, 'promote') then if getPlayerVocation(cid) > 4 then selfSay('Sorry, you are already promoted.') talk_state = 0 elseif not isPremium(cid) then selfSay('Sorry, you must be premium to buy promotion.') talk_state = 0 else selfSay('Do you want to buy promotion for 20k?') talk_state = 1 end elseif msgcontains(msg, 'desbug') or msgcontains(msg, 'desbugar') then selfSay('Quer Desbugar por 10 Gold?') talk_state = 2 elseif talk_state == 1 then if msgcontains(msg, 'yes') then if pay(cid,200000000) then doPlayerSetVocation(cid, getPlayerVocation(cid)+4) selfSay('You are now promoted!') else selfSay('Sorry, you do not have enough money.') end end talk_state = 0 elseif talk_state == 2 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,2160,10) == 0 then selfSay('Voce Nao Tem Golds Suficiente.') else selfSay('Voce Foi Desbugado.') addLevel(cid, 1) end end talk_state = 0 if getPlayerStorageValue(cid, config.storage) - os.time() <= 0 then setPlayerStorageValue(cid, config.storage, os.time() + (config.tempo*1)) else doPlayerSendCancel(cid, "You have to wait " ..(getPlayerStorageValue(cid, config.storage) - os.time()).. " seconds until you can broadcast again.") return true end elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then selfSay('Good bye, ' .. getCreatureName(cid) .. '!') focus = 0 talk_start = 0 end end end function onThink() doNpcSetCreatureFocus(focus) if (os.clock() - talk_start) > 45 then if focus > 0 then selfSay('Next Please...') end focus = 0 end if focus ~= 0 then if getDistanceToCreature(focus) > 5 then selfSay('Good bye then.') focus = 0 end end end
Postado Maio 31, 2015 10 anos Autor poxa ainda nao funciono tipo agr eu consigo ter dialogo soque ele nao da o tempo para eu parar de falar tipo eu posso ficar falando hi desbug direto igual no primeiro script que eu te passei Em 31/05/2015 em 06:20, TopllDanStar disse: Estou sem nada pra testar e não sou muito bom com NPCs kk Mostrar conteúdo oculto Mostrar conteúdo oculto local focus = 0 local talk_start = 0 local target = 0 local days = 0 storage = 19400 -- storage em que será salvo o tempo tempo = 5 -- em minutos function onThingMove(creature, thing, oldpos, oldstackpos) end function onCreatureAppear(creature) end function onCreatureDisappear(cid, pos) if focus == cid then selfSay('Good bye then.') focus = 0 talk_start = 0 end end function onCreatureTurn(creature) end function msgcontains(txt, str) return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)')) end function onCreatureSay(cid, type, msg) msg = string.lower(msg) if (msgcontains(msg, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < 4 then selfSay('Hello ' .. getCreatureName(cid) .. '! Oi eu lhe dou 1 nivel por 10 Gold') focus = cid talk_start = os.clock() elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then selfSay('Sorry, ' .. getCreatureName(cid) .. '! I talk to you in a minute.') elseif focus == cid then talk_start = os.clock() if msgcontains(msg, 'promotion') or msgcontains(msg, 'promote') then if getPlayerVocation(cid) > 4 then selfSay('Sorry, you are already promoted.') talk_state = 0 elseif not isPremium(cid) then selfSay('Sorry, you must be premium to buy promotion.') talk_state = 0 else selfSay('Do you want to buy promotion for 20k?') talk_state = 1 end elseif msgcontains(msg, 'desbug') or msgcontains(msg, 'desbugar') then selfSay('Quer Desbugar por 10 Gold?') talk_state = 2 elseif talk_state == 1 then if msgcontains(msg, 'yes') then if pay(cid,200000000) then doPlayerSetVocation(cid, getPlayerVocation(cid)+4) selfSay('You are now promoted!') else selfSay('Sorry, you do not have enough money.') end end talk_state = 0 elseif talk_state == 2 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,2160,10) == 0 then selfSay('Voce Nao Tem Golds Suficiente.') else selfSay('Voce Foi Desbugado.') addLevel(cid, 1) end end talk_state = 0 if getPlayerStorageValue(cid, config.storage) - os.time() <= 0 then setPlayerStorageValue(cid, config.storage, os.time() + (config.tempo*1)) else doPlayerSendCancel(cid, "You have to wait " ..(getPlayerStorageValue(cid, config.storage) - os.time()).. " seconds until you can broadcast again.") return true end elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then selfSay('Good bye, ' .. getCreatureName(cid) .. '!') focus = 0 talk_start = 0 end end end function onThink() doNpcSetCreatureFocus(focus) if (os.clock() - talk_start) > 45 then if focus > 0 then selfSay('Next Please...') end focus = 0 end if focus ~= 0 then if getDistanceToCreature(focus) > 5 then selfSay('Good bye then.') focus = 0 end end end agora ta igual o primeiro script eu consigo manter dialogo mais ainda ele nao proibe os 5 minutos para o cara nao fica toda hora falando hi desbug
Postado Maio 31, 2015 10 anos Tente assim Mostrar conteúdo oculto local focus = 0 local talk_start = 0 local target = 0 local days = 0 local tempo = 10 -- em segundos local strg = 12980 -- Storage onde salvará o tempo (Não Mexa) function onThingMove(creature, thing, oldpos, oldstackpos) end function onCreatureAppear(creature) end function onCreatureDisappear(cid, pos) if focus == cid then selfSay('Good bye then.') focus = 0 talk_start = 0 end end function onCreatureTurn(creature) end function msgcontains(txt, str) return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)')) end function onCreatureSay(cid, type, msg) msg = string.lower(msg) if (msgcontains(msg, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < 4 then selfSay('Hello ' .. getCreatureName(cid) .. '! Oi eu lhe dou 1 nivel por 10 Gold') focus = cid talk_start = os.clock() elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then selfSay('Sorry, ' .. getCreatureName(cid) .. '! I talk to you in a minute.') elseif focus == cid then talk_start = os.clock() if msgcontains(msg, 'promotion') or msgcontains(msg, 'promote') then if getPlayerVocation(cid) > 4 then selfSay('Sorry, you are already promoted.') talk_state = 0 elseif not isPremium(cid) then selfSay('Sorry, you must be premium to buy promotion.') talk_state = 0 else selfSay('Do you want to buy promotion for 20k?') talk_state = 1 end elseif msgcontains(msg, 'desbug') or msgcontains(msg, 'desbugar') then selfSay('Quer Desbugar por 10 Gold?') talk_state = 2 elseif talk_state == 1 then if msgcontains(msg, 'yes') then if pay(cid,200000000) then doPlayerSetVocation(cid, getPlayerVocation(cid)+4) selfSay('You are now promoted!') else selfSay('Sorry, you do not have enough money.') end end talk_state = 0 if not exhaustion.check(cid, strg) then exhaustion.set(cid, strg, tempo) else doPlayerSendCancel(cid, "Voce precisa aguardar "..exhaustion.get(cid, strg).." segundos para usar novamente.") end elseif talk_state == 2 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,2160,10) == 0 then selfSay('Voce Nao Tem Golds Suficiente.') else selfSay('Voce Foi Desbugado.') addLevel(cid, 1) end end talk_state = 0 elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then selfSay('Good bye, ' .. getCreatureName(cid) .. '!') focus = 0 talk_start = 0 end end end function onThink() doNpcSetCreatureFocus(focus) if (os.clock() - talk_start) > 45 then if focus > 0 then selfSay('Next Please...') end focus = 0 end if focus ~= 0 then if getDistanceToCreature(focus) > 5 then selfSay('Good bye then.') focus = 0 end end end ou assim Mostrar conteúdo oculto local focus = 0 local talk_start = 0 local target = 0 local days = 0 function onThingMove(creature, thing, oldpos, oldstackpos) end function onCreatureAppear(creature) end function onCreatureDisappear(cid, pos) if focus == cid then selfSay('Good bye then.') focus = 0 talk_start = 0 end end function onCreatureTurn(creature) end function msgcontains(txt, str) return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)')) end function onCreatureSay(cid, type, msg) msg = string.lower(msg) if not exhaustion.check(cid, strg) then exhaustion.set(cid, strg, tempo) else doPlayerSendCancel(cid, "Voce precisa aguardar "..exhaustion.get(cid, strg).." segundos para usar novamente.") end if (msgcontains(msg, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < 4 then selfSay('Hello ' .. getCreatureName(cid) .. '! Oi eu lhe dou 1 nivel por 10 Gold') focus = cid talk_start = os.clock() elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then selfSay('Sorry, ' .. getCreatureName(cid) .. '! I talk to you in a minute.') elseif focus == cid then talk_start = os.clock() if msgcontains(msg, 'promotion') or msgcontains(msg, 'promote') then if getPlayerVocation(cid) > 4 then selfSay('Sorry, you are already promoted.') talk_state = 0 elseif not isPremium(cid) then selfSay('Sorry, you must be premium to buy promotion.') talk_state = 0 else selfSay('Do you want to buy promotion for 20k?') talk_state = 1 end elseif msgcontains(msg, 'desbug') or msgcontains(msg, 'desbugar') then selfSay('Quer Desbugar por 10 Gold?') talk_state = 2 elseif talk_state == 1 then if msgcontains(msg, 'yes') then if pay(cid,200000000) then doPlayerSetVocation(cid, getPlayerVocation(cid)+4) selfSay('You are now promoted!') else selfSay('Sorry, you do not have enough money.') end end talk_state = 0 elseif talk_state == 2 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,2160,10) == 0 then selfSay('Voce Nao Tem Golds Suficiente.') else selfSay('Voce Foi Desbugado.') addLevel(cid, 1) end end talk_state = 0 elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then selfSay('Good bye, ' .. getCreatureName(cid) .. '!') focus = 0 talk_start = 0 end end end function onThink() doNpcSetCreatureFocus(focus) if (os.clock() - talk_start) > 45 then if focus > 0 then selfSay('Next Please...') end focus = 0 end if focus ~= 0 then if getDistanceToCreature(focus) > 5 then selfSay('Good bye then.') focus = 0 end end end Editado Maio 31, 2015 10 anos por TopllDanStar (veja o histórico de edições)
Postado Maio 31, 2015 10 anos Autor Em 31/05/2015 em 06:31, TopllDanStar disse: Tente assim Mostrar conteúdo oculto Mostrar conteúdo oculto local focus = 0 local talk_start = 0 local target = 0 local days = 0 local tempo = 10 -- em segundos local strg = 12980 -- Storage onde salvará o tempo (Não Mexa) function onThingMove(creature, thing, oldpos, oldstackpos) end function onCreatureAppear(creature) end function onCreatureDisappear(cid, pos) if focus == cid then selfSay('Good bye then.') focus = 0 talk_start = 0 end end function onCreatureTurn(creature) end function msgcontains(txt, str) return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)')) end function onCreatureSay(cid, type, msg) msg = string.lower(msg) if (msgcontains(msg, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < 4 then selfSay('Hello ' .. getCreatureName(cid) .. '! Oi eu lhe dou 1 nivel por 10 Gold') focus = cid talk_start = os.clock() elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then selfSay('Sorry, ' .. getCreatureName(cid) .. '! I talk to you in a minute.') elseif focus == cid then talk_start = os.clock() if msgcontains(msg, 'promotion') or msgcontains(msg, 'promote') then if getPlayerVocation(cid) > 4 then selfSay('Sorry, you are already promoted.') talk_state = 0 elseif not isPremium(cid) then selfSay('Sorry, you must be premium to buy promotion.') talk_state = 0 else selfSay('Do you want to buy promotion for 20k?') talk_state = 1 end elseif msgcontains(msg, 'desbug') or msgcontains(msg, 'desbugar') then selfSay('Quer Desbugar por 10 Gold?') talk_state = 2 elseif talk_state == 1 then if msgcontains(msg, 'yes') then if pay(cid,200000000) then doPlayerSetVocation(cid, getPlayerVocation(cid)+4) selfSay('You are now promoted!') else selfSay('Sorry, you do not have enough money.') end end talk_state = 0 elseif talk_state == 2 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,2160,10) == 0 then selfSay('Voce Nao Tem Golds Suficiente.') else selfSay('Voce Foi Desbugado.') addLevel(cid, 1) end end talk_state = 0 if not exhaustion.check(cid, strg) then exhaustion.set(cid, strg, tempo) else doPlayerSendCancel(cid, "Voce precisa aguardar "..exhaustion.get(cid, strg).." segundos para usar novamente.") end elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then selfSay('Good bye, ' .. getCreatureName(cid) .. '!') focus = 0 talk_start = 0 end end end function onThink() doNpcSetCreatureFocus(focus) if (os.clock() - talk_start) > 45 then if focus > 0 then selfSay('Next Please...') end focus = 0 end if focus ~= 0 then if getDistanceToCreature(focus) > 5 then selfSay('Good bye then.') focus = 0 end end end ou assim Mostrar conteúdo oculto Mostrar conteúdo oculto local focus = 0 local talk_start = 0 local target = 0 local days = 0 function onThingMove(creature, thing, oldpos, oldstackpos) end function onCreatureAppear(creature) end function onCreatureDisappear(cid, pos) if focus == cid then selfSay('Good bye then.') focus = 0 talk_start = 0 end end function onCreatureTurn(creature) end function msgcontains(txt, str) return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)')) end function onCreatureSay(cid, type, msg) msg = string.lower(msg) if not exhaustion.check(cid, strg) then exhaustion.set(cid, strg, tempo) else doPlayerSendCancel(cid, "Voce precisa aguardar "..exhaustion.get(cid, strg).." segundos para usar novamente.") end if (msgcontains(msg, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < 4 then selfSay('Hello ' .. getCreatureName(cid) .. '! Oi eu lhe dou 1 nivel por 10 Gold') focus = cid talk_start = os.clock() elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then selfSay('Sorry, ' .. getCreatureName(cid) .. '! I talk to you in a minute.') elseif focus == cid then talk_start = os.clock() if msgcontains(msg, 'promotion') or msgcontains(msg, 'promote') then if getPlayerVocation(cid) > 4 then selfSay('Sorry, you are already promoted.') talk_state = 0 elseif not isPremium(cid) then selfSay('Sorry, you must be premium to buy promotion.') talk_state = 0 else selfSay('Do you want to buy promotion for 20k?') talk_state = 1 end elseif msgcontains(msg, 'desbug') or msgcontains(msg, 'desbugar') then selfSay('Quer Desbugar por 10 Gold?') talk_state = 2 elseif talk_state == 1 then if msgcontains(msg, 'yes') then if pay(cid,200000000) then doPlayerSetVocation(cid, getPlayerVocation(cid)+4) selfSay('You are now promoted!') else selfSay('Sorry, you do not have enough money.') end end talk_state = 0 elseif talk_state == 2 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,2160,10) == 0 then selfSay('Voce Nao Tem Golds Suficiente.') else selfSay('Voce Foi Desbugado.') addLevel(cid, 1) end end talk_state = 0 elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then selfSay('Good bye, ' .. getCreatureName(cid) .. '!') focus = 0 talk_start = 0 end end end function onThink() doNpcSetCreatureFocus(focus) if (os.clock() - talk_start) > 45 then if focus > 0 then selfSay('Next Please...') end focus = 0 end if focus ~= 0 then if getDistanceToCreature(focus) > 5 then selfSay('Good bye then.') focus = 0 end end end O Primeiro que se me mandou ele fala direitinho soque ainda permite que eu continue falando hi desbug. O Segundo que se me mandou eu falo hi desbug ele nem responde
Postado Maio 31, 2015 10 anos local focus = 0 local talk_start = 0 local target = 0 local days = 0 local tempo = 10 -- em segundos local strg = 12980 -- Storage onde salvará o tempo (Não Mexa) function onThingMove(creature, thing, oldpos, oldstackpos) end function onCreatureAppear(creature) end function onCreatureDisappear(cid, pos) if focus == cid then selfSay('Good bye then.') focus = 0 talk_start = 0 end end function onCreatureTurn(creature) end function msgcontains(txt, str) return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)')) end function onCreatureSay(cid, type, msg) msg = string.lower(msg) if (msgcontains(msg, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < 4 then selfSay('Hello ' .. getCreatureName(cid) .. '! Oi eu lhe dou 1 nivel por 10 Gold') focus = cid talk_start = os.clock() elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then selfSay('Sorry, ' .. getCreatureName(cid) .. '! I talk to you in a minute.') elseif focus == cid then talk_start = os.clock() if msgcontains(msg, 'promotion') or msgcontains(msg, 'promote') then if getPlayerVocation(cid) > 4 then selfSay('Sorry, you are already promoted.') talk_state = 0 elseif not isPremium(cid) then selfSay('Sorry, you must be premium to buy promotion.') talk_state = 0 else selfSay('Do you want to buy promotion for 20k?') talk_state = 1 end elseif msgcontains(msg, 'desbug') or msgcontains(msg, 'desbugar') then selfSay('Quer Desbugar por 10 Gold?') talk_state = 2 elseif talk_state == 1 then if msgcontains(msg, 'yes') then if pay(cid,200000000) then doPlayerSetVocation(cid, getPlayerVocation(cid)+4) selfSay('You are now promoted!') else selfSay('Sorry, you do not have enough money.') end end talk_state = 0 if not exhaustion.check(cid, strg) then exhaustion.set(cid, strg, tempo) else doPlayerSendCancel(cid, "Voce precisa aguardar "..exhaustion.get(cid, strg).." segundos para usar novamente.") end elseif talk_state == 2 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,2160,10) == 0 then selfSay('Voce Nao Tem Golds Suficiente.') else selfSay('Voce Foi Desbugado.') addLevel(cid, 1) end end talk_state = 0 elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then selfSay('Good bye, ' .. getCreatureName(cid) .. '!') focus = 0 talk_start = 0 end end end function onThink() doNpcSetCreatureFocus(focus) if (os.clock() - talk_start) > 45 then if focus > 0 then selfSay('Next Please...') end focus = 0 end if focus ~= 0 then if getDistanceToCreature(focus) > 5 then selfSay('Good bye then.') focus = 0 end end end
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.