-
Total de itens
489 -
Registro em
-
Última visita
-
Dias Ganhos
15
Tudo que Leoxtibia postou
-
pedido scripts [Resolvido] Chance de critico em ataque básico por vocação
pergunta respondeu ao fefuxd de Leoxtibia em Resolvidos
Como assim "o que mudou?". Só é você olhar as linhas que foram adicionadas. Sobre o config.lua, eu deixei o meu assim: criticalHitChance = 7 criticalHitMultiplier = 1 displayCriticalHitNotify = false Aquele erro ainda aparece? Testei aqui e tá funcionando. Se outro erro estiver aparecendo, fale qual é. -
pedido scripts [Resolvido] Chance de critico em ataque básico por vocação
pergunta respondeu ao fefuxd de Leoxtibia em Resolvidos
@Edit Bom, com relação a esse erro que você tá falando, não sei qual o problema, se você colocou como eu disse acima, deveria funcionar. Testei aqui no tfs 0.4 e funcionou. No entanto, ao testar percebi outras coisas. Tenta com esse aqui, @fefuxd Confira se você colocou certinho no login.lua. -
suporte scripts [Resolvido] Tempo de Batalha CONDITION_INFIGHT
pergunta respondeu ao XZero de Leoxtibia em Resolvidos
No seu config.lua, altere 60 para os segundos de espera desejados. huntingDuration = 60 * 1000 -
pedido scripts [Resolvido] Item que ao usar não perder lv e skills por um periodo
pergunta respondeu ao Gabrielkss de Leoxtibia em Resolvidos
Não testado. Em creaturescripts/scripts: deathProtect.lua No login.lua: registerCreatureEvent(cid, "DeathProtect") Em creaturescripts.xml: <event type="death" name="DeathProtect" event="script" value="deathProtect.lua"> Em actions/scripts: protect.lua Em actions.xml: <action itemid="ID_DO_ITEM" script="protect.lua" /> -
pedido scripts [Resolvido] Chance de critico em ataque básico por vocação
pergunta respondeu ao fefuxd de Leoxtibia em Resolvidos
Não -
pedido scripts [Resolvido] Chance de critico em ataque básico por vocação
pergunta respondeu ao fefuxd de Leoxtibia em Resolvidos
Para players. Não testado. Em creaturescripts/scripts: CriticalVocs.lua local hit = {mage = 1.2, knight = 2.0, paladin = 1.4} -- porcentagem de aumento do hit, 1.2 = 20%, 2.0 = 100%, 1.4 = 40% e por aí vai...function onStatsChange(cid, attacker, type, combat, value) if type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS and isCreature(attacker) then if (getPlayerStorageValue(attacker, 19830)) >= math.random (0,100) then if isSorcerer(cid) or isDruid(cid) then critical = math.ceil(value*hit.mage) elseif isKnight(cid) then critical = math.ceil(value*hit.knight) elseif isPaladin(cid) then critical = math.ceil(value*hit.paladin) end doTargetCombatHealth(attacker, cid, combat, -critical, -critical, 255) doSendAnimatedText(getCreaturePos(attacker), "CRITICAL!!", 144) doSendMagicEffect(getCreaturePos(cid), 9) return false end endreturn trueend No login.lua: local chance = {mage = 20, knight = 10, paladin = 30} -- a chance de cada vocação para que aconteça um hit críticoregisterCreatureEvent(cid, "CriticalHit")if getPlayerStorageValue(cid, 19830) == -1 then if isSorcerer(cid) or isDruid(cid) then setPlayerStorageValue(cid, 19830, chance.mage) elseif isKnight(cid) then setPlayerStorageValue(cid, 19830, chance.knight) elseif isPaladin(cid) then setPlayerStorageValue(cid, 19830, chance.paladin) endend Em creaturescripts.xml: <event type="statschange" name="CriticalHit" event="script" value="CriticalVocs.lua"/> -
pedido scripts [Resolvido] Chance de critico em ataque básico por vocação
pergunta respondeu ao fefuxd de Leoxtibia em Resolvidos
Esse ataque crítico é somente para players, certo? -
pedido scripts Nome Vip Saindo do Player
tópico respondeu ao Gabrielkss de Leoxtibia em Tópicos Sem Resposta
Tenta aí. Em creaturescripts/scripts: efeitovip.lua local time = 5 -- Tempo em segundos para aparecer o efeitolocal effect = 30 -- número do efeito que vai usarfunction onLogin(cid)VipEffect(cid)endfunction VipEffect(cid)if vip.hasVip(cid) == TRUE then if not isCreature(cid) then return LUA_ERROR end doSendMagicEffect(getCreaturePosition(cid), effect) doSendAnimatedText(getCreaturePosition(cid), "VIP", TEXTCOLOR_DARKRED) addEvent(VipEffect, time*1000, cid) end return TRUEendend Coloca em login.lua: registerCreatureEvent(cid, "EfeitoVip") Em creaturescripts.xml: <event type="login" name="EfeitoVip" event="script" value="efeitovip.lua"/> -
pedido scripts [Resolvido] auto transformar gold em platinum
pergunta respondeu ao fefuxd de Leoxtibia em Resolvidos
O script já faz isso também -
pedido scripts [Resolvido] auto transformar gold em platinum
pergunta respondeu ao fefuxd de Leoxtibia em Resolvidos
Vê aí se funciona. Em data/creaturescripts/scripts: changeCash.lua function onThink(cid, interval) if(not isCreature(cid)) then return end changeCash(cid, 2148) changeCash(cid, 2152) endfunction changeCash(cid, cash)cash_count = math.floor(getPlayerItemCount(cid, cash)/100) if cash_count ~= 0 then doPlayerRemoveItem(cid, cash, cash_count*100) if cash == 2148 then doPlayerAddItem(cid, 2152, cash_count) elseif cash == 2152 then doPlayerAddItem(cid, 2160, cash_count) end endend No login.lua: registerCreatureEvent(cid, "changeCoins") No creaturescripts.xml: <event type="think" name="changeCoins" event="script" value="changeCash.lua"/> -
pedido scripts [TFS 0.4] Sistema do food
tópico respondeu ao NelsonMaldonado de Leoxtibia em Tópicos Sem Resposta
Não entendi muito bem o que você quis dizer com essa parte do item não stackable. Mas, se for isso, aí vai. Não testei. local new_foods = {[2677] = {'regMP', 5, 15}, -- [id] = {comando, quanto vai aumentar, tempo}[2672] = {'regHP', 5, 15},}local fish = {mage = {'magic', 5, 15}, knight = {'melee', 5, 15}, paladin = {'dist', 5, 15}}function onUse(cid, item, fromPosition, itemEx, toPosition) if (item.itemid == 2667) then -- id do peixe if isSorcerer(cid) or isDruid(cid) then setConditionTime(cid,item,fromPosition, fish.mage[1], fish.mage[2], fish.mage[3]) elseif isPaladin(cid) then setConditionTime(cid,item, fromPosition, fish.paladin[1], fish.paladin[2], fish.paladin[3]) elseif isKnight(cid) then setConditionTime(cid,item,fromPosition, fish.knight[1], fish.knight[2], fish.knight[3]) end return true end local foods = new_foods[item.itemid] setConditionTime(cid, item, fromPosition, foods[1], foods[2], foods[3]) return trueendfunction setConditionTime(cid, item, fromPosition, param, rise, effect_time)local table = {['regMP'] = {obj = CONDITION_REGENERATION, cond = CONDITION_PARAM_MANAGAIN},['regHP'] = {obj = CONDITION_REGENERATION, cond = CONDITION_PARAM_HEALTHGAIN},['magic'] = {obj = CONDITION_ATTRIBUTES, cond = CONDITION_PARAM_STAT_MAGICLEVEL},['melee'] = {obj = CONDITION_ATTRIBUTES, cond = CONDITION_PARAM_SKILL_MELEE},['shield'] = {obj = CONDITION_ATTRIBUTES, cond = CONDITION_PARAM_SKILL_SHIELD},['dist'] = {obj = CONDITION_ATTRIBUTES, cond = CONDITION_PARAM_SKILL_DISTANCE},} if isItemStackable(item.itemid) then return doCreatureSay(cid, "Item can not be stackable.", TALKTYPE_ORANGE_1, cid) end local condition = createConditionObject(table[param].obj) setConditionParam(condition, CONDITION_PARAM_TICKS, effect_time * 1000) setConditionParam(condition, table[param].cond, rise) local exhaust = createConditionObject(CONDITION_EXHAUST) setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100)) if(doAddCondition(cid, condition)) then doSendMagicEffect(fromPosition, CONST_ME_MAGIC_RED) doRemoveItem(item.uid, 1) doCreatureSay(cid, "You are stronger!", TALKTYPE_ORANGE_1, cid) end return true end -
É só editar as mensagens em local historia e local sobrelivro. Além do id do item que vai ganhar e a quantidade. Espero ter ajudado. 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 historia = "Era uma vez uma vaca que se chamava Vitória, ela morreu e acabou-se a história." --- aqui o local da história local sobrelivro = "O livro fica perto da casa da vaca Vitória." --- msg quando o player falar livro local item,count = 2160,1 -- id do item, quantidade local tempo = 3 -- tempo em horas para poder pegar o item novamente if msgcontains(msg, "historia") then npcHandler:say(historia, cid) talkState[talkUser] = 1 elseif msgcontains(msg, "livro") and talkState[talkUser] == 1 then npcHandler:say(sobrelivro, cid) talkState[talkUser] = 2 elseif msgcontains(msg, "spy report") and talkState[talkUser] == 2 then if getPlayerStorageValue(cid, 4976) - os.time() <= 0 then doPlayerAddItem(cid, item, count) setPlayerStorageValue(cid, 4976, os.time()+tempo*60*60) npcHandler:say("Obrigado por trazer o spy report! Pegue este item como recompensa.", cid) return true else npcHandler:say("Você deve esperar um tempo para pegar o item novamente.", cid) return true end end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
- 5 respostas
-
- npc historiador
- otserv
-
(e 2 mais)
Tags:
-
Em data/creaturescripts/scripts crie um arquivo.lua e cole isto dentro: function onLogin(cid) queststats = getPlayerStorageValue(cid, 8751) if queststats == -1 then doPlayerPopupFYI(cid,"Sejam Bem Vindos ao Xtibia\nPedidos com:\nLeoxtibia\nBlablabla\nFim\nE muito mais...\nVisitem o site: [www.xtibia.com]") setPlayerStorageValue(cid, 8751,1) end return true end É só editar as msgs lembrando que para pular uma linha é só colocar \n. Em data/creaturescripts.xml cole a tag: <event type="login" name="Tutorial" event="script" value="NOMEDOSEUARQUIVO.lua"/>
-
Agora explicou... 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 treiner = {x=1,y=1,z=1} local thais = {x=1,y=1,z=1} if msgcontains(msg, "travel") or msgcontains(msg, "Travel") then if getPlayerStorageValue(cid, 3210) == -1 then selfSay("Posso te levar para {treiner}", cid) talkState[talkUser] = 1 else selfSay("Se vc esta falando comigo eh pq deseja voltar para o mundo inferior?", cid) talkState[talkUser] = 2 end elseif talkState[talkUser] == 1 and msgcontains(msg, "treiner") then doTeleportThing(cid, treiner) doSendMagicEffect(treiner, 10) setPlayerStorageValue(cid, 3210, 1) selfSay("Boa viagem.", cid) talkState[talkUser] = 0 elseif talkState[talkUser] == 2 and msgcontains(msg, "yes") then doTeleportThing(cid, thais) doSendMagicEffect(thais, 10) setPlayerStorageValue(cid, 3210, -1) selfSay("Boa viagem.", cid) talkState[talkUser] = 0 end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) É só editar as posições treiner e thais.
-
Em data/npcs crie um arquivo.xml e cole isto dentro: <?xml version="1.0" encoding="UTF-8"?> <npc name="NOMEDOSEUNPC" script="data/npc/scripts/NOMEDOSEUARQUIVO.lua" walkinterval="5000" floorchange="0"> <health now="100" max="100"/> <look type="128" head="38" body="39" legs="96" feet="118" addons="3"/> <parameters> <parameter key="message_greet" value="Hello, |PLAYERNAME|! I can {travel} you to many places."/> <parameter key="message_farewell" value="Good bye."/> <parameter key="module_keywords" value="1" /> </parameters> </npc> Em data/npcs/scripts crie um arquivo.lua e cole isto: 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 t = { ["treiner"] = {pos = {x=1,y=1,z=1}}, ["thais"] = {pos = {x=1,y=1,z=1}} } if msgcontains(msg, "travel") or msgcontains(msg, "Travel") then selfSay("Posso te levar para {treiner} ou {thais}.", cid) talkState[talkUser] = 1 elseif talkState[talkUser] == 1 then if t[msg] then doTeleportThing(cid, t[msg].pos) doSendMagicEffect(t[msg].pos, 10) selfSay("Boa viagem.", cid) talkState[talkUser] = 0 end end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
Jjuanterres, não é permitido criar tópicos com títulos como o que você tinha colocado. Tente deixar claro sua dúvida/pedido. Já o renomeei. Quanto ao script: Em data/movements/scripts crie um arquivo.lua e cole isto dentro: local t = { [1] = {looktype=127}, -- id da vocação, looktype para qual irá se transformar [2] = {looktype=128}, [3] = {looktype=129}, [4] = {looktype=130} } function onEquip(cid, item, slot) local outfit = getCreatureOutfit(cid) outfit.lookType = t[getPlayerVocation(cid)].looktype doSetCreatureOutfit(cid, outfit, -1) return true end function onDeEquip(cid, item, slot) doRemoveCondition(cid, CONDITION_OUTFIT) return true end Em movements.xml adicione a tag: <movevent type="Equip" itemid="ID_DA_BAG" slot="backpack" event="script" value="NOMEDOSEUARQUIVO.lua"/> <movevent type="DeEquip" itemid="ID_DA_BAG" slot="backpack" event="script" value="NOMEDOSEUARQUIVO.lua"/>
-
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 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 Honor_Storage = 90194 function getHonorPoints(cid) local Honor = getPlayerStorageValue(cid, Honor_Storage) return Honor < 0 and 0 or Honor end local shopWindow = {} local t = { [2195] = {price = 5}, -- [id do item] e em price qnto honor points vai custar [2493] = {price = 25}, [2361] = {price = 30}, [8851] = {price = 20}, [8925] = {price = 30}, [2640] = {price = 50}, [2494] = {price = 100}, [9932] = {price = 50}, [2472] = {price = 70}, [8931] = {price = 100} } local w = { [2195] = {price = 5}, -- [id do item] e em price qnto honor points vai dar [2493] = {price = 25}, [2361] = {price = 30}, [8851] = {price = 20}, [8925] = {price = 30}, [2640] = {price = 50}, [2494] = {price = 100}, [9932] = {price = 50}, [2472] = {price = 70}, [8931] = {price = 100} } local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks) if t[item] and getHonorPoints(cid) < t[item].price then selfSay("You do not have "..t[item].price.." Honor Points.", cid) else doPlayerAddItem(cid, item) setPlayerStorageValue(cid, Honor_Storage, getPlayerStorageValue(cid, Honor_Storage) - t[item].price) selfSay("Here is your item.", cid) end return true end local onSell = function(cid, item, subType, amount, ignoreCap, inBackpacks) if w[item] then doPlayerRemoveItem(cid, item, amount) setPlayerStorageValue(cid, Honor_Storage, getPlayerStorageValue(cid, Honor_Storage) + w[item].price) selfSay("Here is your Honor!", cid) else selfSay("You do not have "..getItemNameById(w[item])..".", cid) end return true end if (msgcontains(msg, 'trade') or msgcontains(msg, 'TRADE'))then for var, ret in pairs(t) do table.insert(shopWindow, {id = var, subType = 0, buy = ret.price, sell = 0, name = getItemNameById(var)}) end for i, k in pairs(w) do table.insert(shopWindow, {id = i, subType = 0, buy = 0, sell = k.price, name = getItemNameById(i)}) end openShopWindow(cid, shopWindow, onBuy, onSell) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) É só configurar em: Não testado, estou com pressa. Qualquer coisa só falar.
-
<?xml version="1.0" encoding="UTF-8"?> <npc name="NOMEDOSEUNPC" script="data/npc/scripts/NOMEDOSEUARQUIVO.lua" walkinterval="5000" floorchange="0"> <health now="100" max="100"/> <look type="128" head="38" body="39" legs="96" feet="118" addons="3"/> <parameters> <parameter key="message_greet" value="Ola, |PLAYERNAME|! Voce quer {sair} de rookguard?"/> <parameter key="message_farewell" value="Good bye."/> <parameter key="module_keywords" value="1" /> </parameters> </npc> 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 newpos = {x=1,y=1,z=1} if msgcontains(msg, "sair") then if getPlayerLevel(cid) >= 8 then selfSay("Voc\ê quer sair de rookguard?", cid) talkState[talkUser] = 1 else selfSay("Voc\ê n\ão tem level 8.", cid) talkState[talkUser] = 0 end elseif talkState[talkUser] == 1 and msgcontains(msg, "yes") then selfSay("Voc\ê tem absoluta certeza disso? N\ão ser\á poss\ível voltar para rookguard.", cid) talkState[talkUser] = 2 elseif talkState[talkUser] == 2 and msgcontains(msg, "yes") then doTeleportThing(cid, newpos) doSendMagicEffect(newpos, 10) selfSay("Ok. Ent\ão v\á!", cid) talkState[talkUser] = 0 end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
Simplesmente foda, cara. Parabéns pelo seu trabalho. Rep +
-
É amigo, você esqueceu de falar isso. Mas aí está: Só editar em: local city = 1 -- id da city que será do player 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 vocid = 4 -- vocação que vai dar local pos = {x=1,y=1,z=1} -- posição que irá local city = 1 -- id da city que será do player if(msgcontains(msg, "knight")) then if(getPlayerLevel(cid) >= 8 and isRookie(cid)) then selfSay("Voc\ê quer ser um knight?", cid) talkState[talkUser] = 1 else selfSay("Você não tem level 8 ou j\á tem vocac\ão.", cid) talkState[talkUser] = 0 end elseif talkState[talkUser] == 1 and msgcontains(msg, "yes") then doPlayerSetVocation(cid,vocid) doPlayerSetTown(cid, city) doTeleportThing(cid, pos) doSendMagicEffect(pos, 10) selfSay("Agora voc\ê eh um knight.", cid) talkState[talkUser] = 0 end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
Boa iniciativa Overloker. Que bom que ainda tem pessoas como você na seção de Pedidos Design/Gráficos. Então, vou deixar o meu pedido também: Plano de fundo: Bandeira de Sergipe --- bota uns efeitos aí pra ficar massa.. se der pra fazer ela se mexer... Texto: Leoxtibia Fico no aguardo. Vlw.
-
"You can't empurar players if anti-push está actived." AHUIAHIUAHIU Você can't falar english. Bom script.
-
Nome do seu npc.xml <?xml version="1.0" encoding="UTF-8"?> <npc name="NOMEDOSEUNPC" script="data/npc/scripts/NOMEDOSEUARQUIVO.lua" walkinterval="5000" floorchange="0"> <health now="100" max="100"/> <look type="128" head="38" body="39" legs="96" feet="118" addons="3"/> <parameters> <parameter key="message_greet" value="Ola, |PLAYERNAME|! Eu posso te promover a {knight}."/> <parameter key="message_farewell" value="Good bye."/> <parameter key="module_keywords" value="1" /> </parameters> </npc> nomedoseuarquivo.lua 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 vocid = 4 -- vocação que vai dar local pos = {x=1,y=1,z=1} -- posição que irá if(msgcontains(msg, "knight")) then if(getPlayerLevel(cid) >= 8 and isRookie(cid)) then selfSay("Voc\ê quer ser um knight?", cid) talkState[talkUser] = 1 else selfSay("Você não tem level 8 ou j\á tem vocac\ão.", cid) talkState[talkUser] = 0 end elseif talkState[talkUser] == 1 and msgcontains(msg, "yes") then doPlayerSetVocation(cid,vocid) doTeleportThing(cid, pos) doSendMagicEffect(pos, 10) selfSay("Agora voc\ê eh um knight.", cid) talkState[talkUser] = 0 end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Como você pediu em npcs diferentes, é só editar a posição, as msgs e a vocação que vai dar.
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.