Postado Dezembro 31, 2017 7 anos Autor Em 31/12/2017 em 16:58, gabrielzika disse: @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()) Ali no id da vocation que é pra ser proibida tem como adicionar varias vocations ali? por que quero adicionar todas as vocations dps do rb pra nao conseguirem comprar por exemplo 444,445 tem como aumentar o numero de vocaçoes para serem bloqueadas de comprar ali?
Postado Dezembro 31, 2017 7 anos @douglasfamil1 assim? 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.. local vocation1 = 6 -- vocation proibida.. local vocation2 = 7 -- vocation proibida.. local vocation3 = 8 -- 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 and getPlayerVocation(cid) ~= vocation1 and getPlayerVocation(cid) ~= vocation2 and getPlayerVocation(cid) ~= vocation3 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()) MEU SERVER: http://otpokemonxy.net/ Nosso → Grupo Oficial OtPokemon XY 24 Horas Nosso → Site Oficial OtPokemon XY 24 Horas Nossa → Pagina Oficial OtPokemon XY 24 Horas
Postado Dezembro 31, 2017 7 anos Autor Em 31/12/2017 em 17:10, gabrielzika disse: @douglasfamil1 assim? 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.. local vocation1 = 6 -- vocation proibida.. local vocation2 = 7 -- vocation proibida.. local vocation3 = 8 -- 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 and getPlayerVocation(cid) ~= vocation1 and getPlayerVocation(cid) ~= vocation2 and getPlayerVocation(cid) ~= vocation3 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()) Isso mesmo mais seria obrigatoriamente colocar local vocation1? tipo o 1 na frente ou não?
Postado Dezembro 31, 2017 7 anos @douglasfamil1 sim.. local vocation5 = 440 getPlayerVocation(cid) ~= vocation5 MEU SERVER: http://otpokemonxy.net/ Nosso → Grupo Oficial OtPokemon XY 24 Horas Nosso → Site Oficial OtPokemon XY 24 Horas Nossa → Pagina Oficial OtPokemon XY 24 Horas
Postado Dezembro 31, 2017 7 anos Autor Em 31/12/2017 em 17:17, gabrielzika disse: @douglasfamil1 sim.. local vocation5 = 440 getPlayerVocation(cid) ~= vocation5 Amigo pelo o que eu vi voce entende muito desse tipo de coisa, Não sei se seria pedir de mais mais se eu for adicionar todas as vocações ira ser mais de 500 linhas e se eu for colocar todas essas linhas em todos os npcs que vende vocaçao creio que o Servidor ficara muito pesado então pensei aqui em uma solução mais simples que eu estava tentando arrumar mais nao consegui, por exemplo quando voce vai nesse npc de comprar a vocation, ele te da um item que te reloga e te transforma na vocation, Ok, Só que acontece o bug que eu falei que se o player for RB As skills dele pode simplesmente bugar para 90000000000000000, e freezar o server, então acontece isso direto no meu servidor e eu tenho que deletar o player etc, e isso enche o saco de mais, então gostaria de te pedir uma solução pra isso, script do item function onThink(cid, interval) local itemid = 2272 local outfit = {lookType = 975} if isPlayer(cid) then if getPlayerItemCount(cid, itemid) >= 1 then if getPlayerStorageValue(cid,30023) == 4 then doPlayerSetVocation(cid, 904) < PRIMEIRA TRANSFORMAÇÃO DA REBORN else doPlayerSetVocation(cid, 899) < ID DA PRIMEIRA VOCAÇAO end doPlayerRemoveItem(cid, itemid, 1) doCreatureChangeOutfit(cid, outfit) addEvent(doRemoveCreature, 1, cid) end end return true end Vou explicar oque eu quero, quero que o player vire a vocation e tals mais que nao bugue as skills, igual do wodbowars ja ouviu falar dele ou ja jogou? se eu coloco player para virar antes da reborn, quando ele da reborn ele nao consegue mais transformar por causa disso ai.
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.