Ir para conteúdo

Featured Replies

Postado

Fala galera do TK, preciso da ajuda de voces urgente, eu tenho um servidor de Dragon ball versao 8.6 tfs 0.4, Dentro do game contem npcs, que vendem vocações ai o player compra normal até ai tudo bem, mais tem player que é reborn, e consegue comprar a vocaçao fazendo assim as vezes as skills dele subirem pra tipo 40000000, e quando ele bate em um monstro o servidor freeza, E só volta se religar, e eu tenho que deletar todos player com essas skills altissimas, gostaria que algum de voces que saiba mecher com isso Tipo, colocar alguma regra que nao possa comprar a vocaçao depois do reborn, ou depois de comprar reborn, nao transforme nem nada para nao bugar, aqui está a script:

 

function onThink(cid, interval)
local itemid = 2136      < ID DO ITEM QUE EU USO
local outfit = {lookType = 377}  < OUTFIT DA VOCAÇAO 

if isPlayer(cid) then
if getPlayerItemCount(cid, itemid) >= 1 then
if getPlayerStorageValue(cid,30023) == 4 then
doPlayerSetVocation(cid, 663) < Vocaçao depois do reborn
else
doPlayerSetVocation(cid, 658) < Vocaçao antes do reborn
end
doPlayerRemoveItem(cid, itemid, 1)
doCreatureChangeOutfit(cid, outfit)
addEvent(doRemoveCreature, 1, cid)
end
end
return true
end

  • Respostas 22
  • Visualizações 793
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • @douglasfamil1 veja se é isso local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onC

  • @douglasfamil1   assim?   local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} f

Postado

Não entendi muito bem,qual seria a função sobre essa script que você postou?

E oque você realmente quer?

Porfavor poste o npc a script.lua do npc que vende a vocation

Postado
  • Autor
23 horas atrás, Gnius disse:

Não entendi muito bem,qual seria a função sobre essa script que você postou?

E oque você realmente quer?

Porfavor poste o npc a script.lua do npc que vende a vocation

SCRIPT DO NPC QUE VENDE A VOCATION 

 

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

local items = {
          item1 = {6527, 2205}, -- item1 item que será pedido e que será dado na primeira troca
}
local counts = {
          count1 = {30, 1}, -- count1 quantidade que será pedido e que será dado na primeira troca
}

function creatureSayCallback(cid, type, msg)
    if(not npcHandler:isFocused(cid)) then
        return false
    end
    local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
        if msgcontains(msg, 'vocation cabba') then
            selfSay('Voce deseja trocar '.. counts.count1[1] ..' '.. getItemNameById(items.item1[1]) ..' por '.. counts.count1[2] ..' '.. getItemNameById(items.item1[2]) ..'?',cid)
            talkState[talkUser] = 1
        elseif talkState[talkUser] == 1 then
            if msgcontains(msg, 'yes') then
                if getPlayerItemCount(cid, items.item1[1]) >= counts.count1[1] then
                    doPlayerRemoveItem(cid, items.item1[1], counts.count1[1])
                    doPlayerAddItem(cid, items.item1[2], counts.count1[2])
                    selfSay('Voce acaba de trocar '.. counts.count1[1] ..' '.. getItemNameById(items.item1[1]) ..' por '.. counts.count1[2] ..' '.. getItemNameById(items.item1[2]) ..'.', cid)
                    talkState[talkUser] = 0
                else
                    selfSay('Voce precisa de '.. counts.count1[1] ..' '.. getItemNameById(items.item1[1]) ..'.', cid)
                end
            end
        end
return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

 

Bem explicando novamente oque eu quero fazer, eu quero que o npc fassa um check na id da vocaçao do player antes de ele comprar a vocation por exemplo colocar pra fazer o check id 999 se o player for essa vocaçao ele nao ira conseguir comprar a vocaçao do npc entende???

Postado
3 minutos atrás, douglasfamil1 disse:

SCRIPT DO NPC QUE VENDE A VOCATION 

 

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

local items = {
          item1 = {6527, 2205}, -- item1 item que será pedido e que será dado na primeira troca
}
local counts = {
          count1 = {30, 1}, -- count1 quantidade que será pedido e que será dado na primeira troca
}

function creatureSayCallback(cid, type, msg)
    if(not npcHandler:isFocused(cid)) then
        return false
    end
    local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
        if msgcontains(msg, 'vocation cabba') then
            selfSay('Voce deseja trocar '.. counts.count1[1] ..' '.. getItemNameById(items.item1[1]) ..' por '.. counts.count1[2] ..' '.. getItemNameById(items.item1[2]) ..'?',cid)
            talkState[talkUser] = 1
        elseif talkState[talkUser] == 1 then
            if msgcontains(msg, 'yes') then
                if getPlayerItemCount(cid, items.item1[1]) >= counts.count1[1] then
                    doPlayerRemoveItem(cid, items.item1[1], counts.count1[1])
                    doPlayerAddItem(cid, items.item1[2], counts.count1[2])
                    selfSay('Voce acaba de trocar '.. counts.count1[1] ..' '.. getItemNameById(items.item1[1]) ..' por '.. counts.count1[2] ..' '.. getItemNameById(items.item1[2]) ..'.', cid)
                    talkState[talkUser] = 0
                else
                    selfSay('Voce precisa de '.. counts.count1[1] ..' '.. getItemNameById(items.item1[1]) ..'.', cid)
                end
            end
        end
return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

 

Bem explicando novamente oque eu quero fazer, eu quero que o npc fassa um check na id da vocaçao do player antes de ele comprar a vocation por exemplo colocar pra fazer o check id 999 se o player for essa vocaçao ele nao ira conseguir comprar a vocaçao do npc entende???

Qual da ID da vocation que ele ta usando pra não comprar a vocação no npc?

Por exemplo

Eu tou usando X vocation e vo tentar comprar uma nova vocation no npc,

Qual seria essa vocation que seria impedida de comprar no npc?

Postado

@douglasfamil1 veja se é isso

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

local items = {
          item1 = {6527, 2205}, -- item1 item que será pedido e que será dado na primeira troca
}
local counts = {
          count1 = {30, 1}, -- count1 quantidade que será pedido e que será dado na primeira troca
}

local vocation = 5 -- vocation proibida..

function creatureSayCallback(cid, type, msg)
    if(not npcHandler:isFocused(cid)) then
        return false
    end
    local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
        if msgcontains(msg, 'vocation cabba') then
            selfSay('Voce deseja trocar '.. counts.count1[1] ..' '.. getItemNameById(items.item1[1]) ..' por '.. counts.count1[2] ..' '.. getItemNameById(items.item1[2]) ..'?',cid)
            talkState[talkUser] = 1
        elseif talkState[talkUser] == 1 then
            if msgcontains(msg, 'yes') then
            if getPlayerVocation(cid) ~= vocation then
                if getPlayerItemCount(cid, items.item1[1]) >= counts.count1[1] then
                    doPlayerRemoveItem(cid, items.item1[1], counts.count1[1])
                    doPlayerAddItem(cid, items.item1[2], counts.count1[2])
                    selfSay('Voce acaba de trocar '.. counts.count1[1] ..' '.. getItemNameById(items.item1[1]) ..' por '.. counts.count1[2] ..' '.. getItemNameById(items.item1[2]) ..'.', cid)
                    talkState[talkUser] = 0
                else
                    selfSay('Voce precisa de '.. counts.count1[1] ..' '.. getItemNameById(items.item1[1]) ..'.', cid)
                end
                else
                    selfSay('Voce está proibido de comprar aqui.', cid)
                end
            end
        end
return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo