Download removido, a pedido de suposto autor do conteúdo. E como ninguem mais reivindicou a autoria deste conteúdo, resolvi remover o conteúdo, conforme solicitado.
Para usar esse sistema em outros portais, vc deve mudar o action id (lembrando que os portais de fim/inicio do circuito devem conter sempre a msm action id entre si) e eu tb aconselho a vc mudar o str, da seguinte forma:
No 1° sistema vc deixa do jeito que está:
No 2° sistema vc já muda:
No 3°, a msm coisa:
E assim por diante.
local posEntrada = {x = 69691, y= 73731, z= 7} --posicao para onde o player será levado ao entrar no 1 portallocal posSaida = {x = 69691, y= 73731, z= 7} --posicao para onde o player será levado ao sair pelo 2 portallocal outfitfemale = 136 --outfit que o player recebera ao entrar no portal, se for femealocal outfitmale = 128 --outfit que o player recebera ao entrar no portal, se for macholocal info = {} --deixe isso da forma como estalocal str = "dentroDoTp" --deixe da forma que estafunction onStepIn(cid, position) if getPlayerStorageValue(cid, str) < 1 then setPlayerStorageValue(cid, str, 1) doTeleportThing(cid, posEntrada) table.insert(info, getPlayerGUID(cid), getCreatureOutfit(cid)) if getPlayerSex(cid) == 0 then doCreatureChangeOutfit(cid, {lookType=outfitfemale}) doSendMagicEffect(getPlayerPosition(cid), 12) else doCreatureChangeOutfit(cid, {lookType=outfitmale}) doSendMagicEffect(getPlayerPosition(cid), 12) end else setPlayerStorageValue(cid, str, 0) doTeleportThing(cid, posSaida) doSendMagicEffect(getPlayerPosition(cid), 12) outfitOld = info[getPlayerGUID(cid)] doCreatureChangeOutfit(cid, outfitOld) table.remove(info, getPlayerGUID(cid)) endreturn trueend
Sim, são as funções. As vezes as funções mudam sua forma de serem escritas, as vezes certas funções são removidas, outras são adicionadas...
A seguir tem 3 tópicos com todas as funções do tfs nas versões 0.2, 0.3/0.4 e 1.0 para que vc possa observar essas mudanças:
tfs 0.2
tfs 0.3/0.4
tfs 1.0
Não testei. Vê se funfa:
local days = 2 --dias que o player irá ganhar de vipfunction onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Por favor, não esqueça de informar o nome do membro.") return false end player = getPlayerByNameWildcard(tostring(param)) if not (isInArray(getPlayersOnline(), player)) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "O membro informado não existe ou não está online.") return false endsetPlayerStorageValue(player, 85258, (os.time()+(days*24*60*60)))doSendMagicEffect(getPlayerPosition(player), math.random(28,30))local quantity = math.floor((getPlayerStorageValue(player, 85258) - os.time())/(24 * 60 * 60))doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você ganhou mais "..days.." dias de VIP. Agora lhe restam "..quantity.." dias de VIP.")return trueend
Se não souber instalar a talkaction basta falar q eu te ajudo.
Para configurar o level, vc tem que ir no seu config.lua
Procure por algo do tipo:
newPlayerLevel = 8
Agora os itens iniciais. O server geralmente tem um script responsável por isso. Mande o seu creaturescripts.xml e também diga quais são os mods que vc tem dentro da sua pasta mods para que eu possa identificar onde o seu script de first items está.
Em actions/scripts/, crie um arquivo chamado regitem.lua e adicione:
function onUse(cid, item, fromPosition, itemEx, toPosition)
if getPlayerStorageValue(cid, 12543) <= os.time() then
setPlayerStorageValue(cid, 12543, os.time() + 10*60)
setPlayerStorageValue(cid, 12544, 1)
doPlayerSendTextMessage(cid, 22, "Voce usou um regeneration item. Durante 10 min, voce invocara forcas e, depois, restaurara sua vida e mana maximas. Ate la, aguarde.")
doRemoveItem(item.uid, 1)
doCreateItem(7717, 1, fromPosition)
else
doPlayerSendCancel(cid, "Voce ainda esta invocando forcas jogador. Nao podera usar outro regeneration item ate acabar esta invocacao.")
end
return true
end
Em creaturescripts/scripts/, crie um arquivo chamado regitem.lua e adicione:
Ponto de partida - criando um sistema.
de: Tony Araújo (OrochiElf)
Olá pessoal, hoje eu vou dar uma dica/ensinar a vocês a como inicializar um sistema (como sair daquela parte chata "Onde eu faço isso? Como eu faço isso?")
Então, eu vi aqui no fórum que a maioria das pessoas, não conseguem pensar de forma (abrangente) e é essa a grande dificuldade dos iniciantes, porque na programação é mais do que necessário você conseguir pensar de forma grande, várias possibilidades possíveis kkkk.
Exemplo: Eu ultimamente estou desenvolvendo um sistema de market para 0.3.6, pro meu servidor de pokémon e muitas pessoas não tem nem ideia de como "iniciar" o pensamento para desenvolver este sistema simples, então vamos lá.. pensar um pouquinho.
Inicio da ideia.
1º Onde eu começo a criar este sistema?
Ideia: Então, como o sistema de market usa basicamente o sistema de canais (channels), obviamente que seria na parte de canais do servidor, mas pera ai.. no datapack (pasta data) do meu servidor, não tem nenhum arquivo além do Channels.xml, que seja para manipular os canais..
Resolução 1/2: Depois que eu perceber que eu não é no datapack, eu já sei que é nas sources do servidor.
Duvida: mas pera ai, em que local/arquivo da source?
Resolução 2/2: Já que o meu sistema é usando os canais (Channels), eu vou pesquisar algo haver com channels (já que é em inglês kkk), maas... eu não irei encontrar nenhum arquivo chamado channels, porém eu encontrei um chamado (chat), então.. eu ja tenho uma ideia de que o meu sistema iria inicializar ali.
2º Como eu começo a criar este sistema?
Ideia: Então.. para começar a criar o sistema eu preciso saber PRIMEIRAMENTE como funciona o sistema de canais (NÃO TENTE PULAR ESTA ETAPA).
Resolução: É necessário o estudo da área antes de começar o seu sistema, para garantir que irá pelo caminho certo.
3º Inicializando o sistema / Finalizando a ideia de inicialização.
Depois que eu aprendi como funciona o sistema de canais, eu ja posso me arriscar a editar ou escrever no arquivo, SEMPRE FAÇA UM BACKUP.
OBS: Lembre-se nada é COMPLICADO, se você pensa de maneira SIMPLES.
Bom galera.. isso não é um TUTORIAL, mas eu creio que possa ajudar a algumas pessoas a terem a "fagulha" que precisam para colocarem suas ideias em ação.
Trago hoje um gifzinho rápido do sistema de basic attack que estou desenvolvendo. Ele consiste em uma customização completa do ataque básico do jogador sem precisar de armas. A customização abrange desde efeitos, dano base, tipo de dano, distância e skill base até critical, dodge, rajadas, cleave e outros.
O inicio desse sistema foi postado aqui no fórum por mim, mostro pra vocês agora a evolução dele e o leque de possibilidades que aquele sisteminha que postei abre quando alterado.
Opa, xTibianos. hoje venho lhes trazer um npc simples que eu havia feito um tempo atrás pra um membro aqui do fórum. Só fiz dar uma completada nele hoje... E adicionar 2 tipos de restrições (opicionais): restringir para apenas X vocações poderem falar com o npc; ou apenas para jogadores com X level conseguirem falar com ele.
Este npc funciona da seguinte maneira: o player fala uma palavra(s)-gatilho que fará(ão) com que o npc dê uma resposta à essa(s) palavra(s). No próprio título deste tópico eu citei 2 exemplos que servem para esse npc: dar informações sobre certo item, certa localidade, etc; ou mesmo contar histórias: numa frase do npc ele pode citar um macaco dourado (palavra-gatilho), aí quando o player falar "macaco dourado" o npc descreverá o que está por trás deste macaco dourado, podendo até mesmo citar uma localidade onde ele foi visto pela última vez, e quando o player falar essa localidade o npc pode descrever a rota para se chegar nela, etc.
Bom, vai da imaginação de cada um. sahusahusasah
Agora seguiremos para a instalação:
Vá até a pasta data\npc e crie um arquivo chamado informante.xml e coloque isso dentro:
<?xml version="1.0" encoding="UTF-8"?><npc name="Informante" script="data/npc/scripts/informante.lua" walkinterval="1500" speed="100" walkradius="2" floorchange="0"><health max="100" now="100"/><look type="130" head="19" body="47" legs="132" feet="114" addons="0" mount="0"/><parameters> <parameter key="message_farewell" value="Até a próxima, |PLAYERNAME|."/></parameters></npc>
Agora vá até a pasta data\npc\scripts e crie um arquivo chamado informante.lua e coloque isso dentro:
----------------------------------------------------------NPC feito por: Danihcv ; para: xTibia.com----------------------------------------------------------local keywordHandler = KeywordHandler:new()local npcHandler = NpcHandler:new(keywordHandler)NpcSystem.parseParameters(npcHandler)function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) endfunction onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) endfunction onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) endfunction onThink() npcHandler:onThink() end------------------------------PARTE CONFIGURAVEL------------------------------local msgs = { --["AQUI VOCÊ PÕE AS PALAVRAS-GATILHO QUE FARÃO O NPC DAR UMA RESPOSTA"] = "AQUI VOCÊ PÕE A FRASE À PALAVRA-GATILHO"["informacoes"] = "Sobre o que você quer saber? Sobre a {mysterious island} ou sobre a {second promotion}?",["mysterious island"] = 'É uma ilha que antigos diziam ficar ao sudoeste de Carlin. Há um teleport que dizem aparecer nos pântanos de Venore, talvez, ele leve a essa ilha.',["second promotion"] = 'Há um NPC que vem de muito longe e fica a caminhas pelos campos de Thais, dizem que ele pode dar a segunda vocação para os aventureiros.',}local vocs = {} --vocações que podem falar com o npc. Caso vc queira deixar sem restrição de vocação, deixe vaziolocal levelMin = 0 --caso vc queira definir um nivel minimo para falar com o npc coloque o nivel, caso não, deixe em 0-------------------------------FIM DA PARTE CONFIGURAVEL-------------------------------function greetCallback(cid)--------------------------------PARTE 2 CONFIGURAVEL--------------------------------local msgGreet = 'Olá, '..getCreatureName(cid)..'. O que você procura? {Informacoes}?' --mensagem de boas-vindaslocal msgBye = 'Até a próxima, '..getCreatureName(cid)..'.' --mensagem de despedida---------------------------------FIM DA PARTE 2 CONFIGURAVEL--------------------------------- if #vocs > 0 then if not isInArray(vocs, getPlayerVocation(cid)) then npcHandler:say('Eu não falo com '..getVocationInfo(getPlayerVocation(cid)).name..'s.', cid) npcHandler:releaseFocus(cid) npcHandler:resetNpc(cid) return false end end if getPlayerLevel(cid) < levelMin then npcHandler:say('Eu não falo com jogadores com nivel menor que '..levelMin..'.', cid) npcHandler:releaseFocus(cid) npcHandler:resetNpc(cid) return false end npcHandler:say(msgGreet, cid) npcHandler:addFocus(cid) return falseendfunction creatureSayCallback(cid, type, msg) if #vocs > 0 then if not isInArray(vocs, getPlayerVocation(cid)) then npcHandler:say('Eu ja disse que não falo com '..getVocationInfo(getPlayerVocation(cid)).name..'s.', cid) npcHandler:releaseFocus(cid) npcHandler:resetNpc(cid) return false end end if getPlayerLevel(cid) < levelMin then npcHandler:say('Eu já disse que não falo com jogadores com nivel menor que '..levelMin..'.', cid) npcHandler:releaseFocus(cid) npcHandler:resetNpc(cid) return false end for k, v in pairs(msgs) do if msgcontains(msg, k) then npcHandler:say(msgs[k], cid) elseif msgcontains(msg, 'bye') or msgcontains(msg, 'goodbye') or msgcontains(msg, 'xau') or msgcontains(msg, 'tchau') then npcHandler:say(msgBye, cid) npcHandler:releaseFocus(cid) npcHandler:resetNpc(cid) return false end end return trueendnpcHandler:setCallback(CALLBACK_GREET, greetCallback)npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)npcHandler:addModule(FocusModule:new())
***ATENÇÃO NESSE SCRIPT /\ Pois ele possui 2 partes para configurar. Uma logo abaixo da outra.
Por hoje é tudo, pessoal! Espero que gostem e façam bom uso. Abraços, Danihcv!
Opa, xTibianos. hoje venho lhes trazer um npc simples que eu havia feito um tempo atrás pra um membro aqui do fórum. Só fiz dar uma completada nele hoje... E adicionar 2 tipos de restrições (opicionais): restringir para apenas X vocações poderem falar com o npc; ou apenas para jogadores com X level conseguirem falar com ele.
Este npc funciona da seguinte maneira: o player fala uma palavra(s)-gatilho que fará(ão) com que o npc dê uma resposta à essa(s) palavra(s). No próprio título deste tópico eu citei 2 exemplos que servem para esse npc: dar informações sobre certo item, certa localidade, etc; ou mesmo contar histórias: numa frase do npc ele pode citar um macaco dourado (palavra-gatilho), aí quando o player falar "macaco dourado" o npc descreverá o que está por trás deste macaco dourado, podendo até mesmo citar uma localidade onde ele foi visto pela última vez, e quando o player falar essa localidade o npc pode descrever a rota para se chegar nela, etc.
Bom, vai da imaginação de cada um. sahusahusasah
Agora seguiremos para a instalação:
Vá até a pasta data\npc e crie um arquivo chamado informante.xml e coloque isso dentro:
<?xml version="1.0" encoding="UTF-8"?><npc name="Informante" script="data/npc/scripts/informante.lua" walkinterval="1500" speed="100" walkradius="2" floorchange="0"><health max="100" now="100"/><look type="130" head="19" body="47" legs="132" feet="114" addons="0" mount="0"/><parameters> <parameter key="message_farewell" value="Até a próxima, |PLAYERNAME|."/></parameters></npc>
Agora vá até a pasta data\npc\scripts e crie um arquivo chamado informante.lua e coloque isso dentro:
----------------------------------------------------------NPC feito por: Danihcv ; para: xTibia.com----------------------------------------------------------local keywordHandler = KeywordHandler:new()local npcHandler = NpcHandler:new(keywordHandler)NpcSystem.parseParameters(npcHandler)function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) endfunction onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) endfunction onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) endfunction onThink() npcHandler:onThink() end------------------------------PARTE CONFIGURAVEL------------------------------local msgs = { --["AQUI VOCÊ PÕE AS PALAVRAS-GATILHO QUE FARÃO O NPC DAR UMA RESPOSTA"] = "AQUI VOCÊ PÕE A FRASE À PALAVRA-GATILHO"["informacoes"] = "Sobre o que você quer saber? Sobre a {mysterious island} ou sobre a {second promotion}?",["mysterious island"] = 'É uma ilha que antigos diziam ficar ao sudoeste de Carlin. Há um teleport que dizem aparecer nos pântanos de Venore, talvez, ele leve a essa ilha.',["second promotion"] = 'Há um NPC que vem de muito longe e fica a caminhas pelos campos de Thais, dizem que ele pode dar a segunda vocação para os aventureiros.',}local vocs = {} --vocações que podem falar com o npc. Caso vc queira deixar sem restrição de vocação, deixe vaziolocal levelMin = 0 --caso vc queira definir um nivel minimo para falar com o npc coloque o nivel, caso não, deixe em 0-------------------------------FIM DA PARTE CONFIGURAVEL-------------------------------function greetCallback(cid)--------------------------------PARTE 2 CONFIGURAVEL--------------------------------local msgGreet = 'Olá, '..getCreatureName(cid)..'. O que você procura? {Informacoes}?' --mensagem de boas-vindaslocal msgBye = 'Até a próxima, '..getCreatureName(cid)..'.' --mensagem de despedida---------------------------------FIM DA PARTE 2 CONFIGURAVEL--------------------------------- if #vocs > 0 then if not isInArray(vocs, getPlayerVocation(cid)) then npcHandler:say('Eu não falo com '..getVocationInfo(getPlayerVocation(cid)).name..'s.', cid) npcHandler:releaseFocus(cid) npcHandler:resetNpc(cid) return false end end if getPlayerLevel(cid) < levelMin then npcHandler:say('Eu não falo com jogadores com nivel menor que '..levelMin..'.', cid) npcHandler:releaseFocus(cid) npcHandler:resetNpc(cid) return false end npcHandler:say(msgGreet, cid) npcHandler:addFocus(cid) return falseendfunction creatureSayCallback(cid, type, msg) if #vocs > 0 then if not isInArray(vocs, getPlayerVocation(cid)) then npcHandler:say('Eu ja disse que não falo com '..getVocationInfo(getPlayerVocation(cid)).name..'s.', cid) npcHandler:releaseFocus(cid) npcHandler:resetNpc(cid) return false end end if getPlayerLevel(cid) < levelMin then npcHandler:say('Eu já disse que não falo com jogadores com nivel menor que '..levelMin..'.', cid) npcHandler:releaseFocus(cid) npcHandler:resetNpc(cid) return false end for k, v in pairs(msgs) do if msgcontains(msg, k) then npcHandler:say(msgs[k], cid) elseif msgcontains(msg, 'bye') or msgcontains(msg, 'goodbye') or msgcontains(msg, 'xau') or msgcontains(msg, 'tchau') then npcHandler:say(msgBye, cid) npcHandler:releaseFocus(cid) npcHandler:resetNpc(cid) return false end end return trueendnpcHandler:setCallback(CALLBACK_GREET, greetCallback)npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)npcHandler:addModule(FocusModule:new())
***ATENÇÃO NESSE SCRIPT /\ Pois ele possui 2 partes para configurar. Uma logo abaixo da outra.
Por hoje é tudo, pessoal! Espero que gostem e façam bom uso. Abraços, Danihcv!
Opa, xTibianos. hoje venho lhes trazer um npc simples que eu havia feito um tempo atrás pra um membro aqui do fórum. Só fiz dar uma completada nele hoje... E adicionar 2 tipos de restrições (opicionais): restringir para apenas X vocações poderem falar com o npc; ou apenas para jogadores com X level conseguirem falar com ele.
Este npc funciona da seguinte maneira: o player fala uma palavra(s)-gatilho que fará(ão) com que o npc dê uma resposta à essa(s) palavra(s). No próprio título deste tópico eu citei 2 exemplos que servem para esse npc: dar informações sobre certo item, certa localidade, etc; ou mesmo contar histórias: numa frase do npc ele pode citar um macaco dourado (palavra-gatilho), aí quando o player falar "macaco dourado" o npc descreverá o que está por trás deste macaco dourado, podendo até mesmo citar uma localidade onde ele foi visto pela última vez, e quando o player falar essa localidade o npc pode descrever a rota para se chegar nela, etc.
Bom, vai da imaginação de cada um. sahusahusasah
Agora seguiremos para a instalação:
Vá até a pasta data\npc e crie um arquivo chamado informante.xml e coloque isso dentro:
<?xml version="1.0" encoding="UTF-8"?><npc name="Informante" script="data/npc/scripts/informante.lua" walkinterval="1500" speed="100" walkradius="2" floorchange="0"><health max="100" now="100"/><look type="130" head="19" body="47" legs="132" feet="114" addons="0" mount="0"/><parameters> <parameter key="message_farewell" value="Até a próxima, |PLAYERNAME|."/></parameters></npc>
Agora vá até a pasta data\npc\scripts e crie um arquivo chamado informante.lua e coloque isso dentro:
----------------------------------------------------------NPC feito por: Danihcv ; para: xTibia.com----------------------------------------------------------local keywordHandler = KeywordHandler:new()local npcHandler = NpcHandler:new(keywordHandler)NpcSystem.parseParameters(npcHandler)function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) endfunction onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) endfunction onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) endfunction onThink() npcHandler:onThink() end------------------------------PARTE CONFIGURAVEL------------------------------local msgs = { --["AQUI VOCÊ PÕE AS PALAVRAS-GATILHO QUE FARÃO O NPC DAR UMA RESPOSTA"] = "AQUI VOCÊ PÕE A FRASE À PALAVRA-GATILHO"["informacoes"] = "Sobre o que você quer saber? Sobre a {mysterious island} ou sobre a {second promotion}?",["mysterious island"] = 'É uma ilha que antigos diziam ficar ao sudoeste de Carlin. Há um teleport que dizem aparecer nos pântanos de Venore, talvez, ele leve a essa ilha.',["second promotion"] = 'Há um NPC que vem de muito longe e fica a caminhas pelos campos de Thais, dizem que ele pode dar a segunda vocação para os aventureiros.',}local vocs = {} --vocações que podem falar com o npc. Caso vc queira deixar sem restrição de vocação, deixe vaziolocal levelMin = 0 --caso vc queira definir um nivel minimo para falar com o npc coloque o nivel, caso não, deixe em 0-------------------------------FIM DA PARTE CONFIGURAVEL-------------------------------function greetCallback(cid)--------------------------------PARTE 2 CONFIGURAVEL--------------------------------local msgGreet = 'Olá, '..getCreatureName(cid)..'. O que você procura? {Informacoes}?' --mensagem de boas-vindaslocal msgBye = 'Até a próxima, '..getCreatureName(cid)..'.' --mensagem de despedida---------------------------------FIM DA PARTE 2 CONFIGURAVEL--------------------------------- if #vocs > 0 then if not isInArray(vocs, getPlayerVocation(cid)) then npcHandler:say('Eu não falo com '..getVocationInfo(getPlayerVocation(cid)).name..'s.', cid) npcHandler:releaseFocus(cid) npcHandler:resetNpc(cid) return false end end if getPlayerLevel(cid) < levelMin then npcHandler:say('Eu não falo com jogadores com nivel menor que '..levelMin..'.', cid) npcHandler:releaseFocus(cid) npcHandler:resetNpc(cid) return false end npcHandler:say(msgGreet, cid) npcHandler:addFocus(cid) return falseendfunction creatureSayCallback(cid, type, msg) if #vocs > 0 then if not isInArray(vocs, getPlayerVocation(cid)) then npcHandler:say('Eu ja disse que não falo com '..getVocationInfo(getPlayerVocation(cid)).name..'s.', cid) npcHandler:releaseFocus(cid) npcHandler:resetNpc(cid) return false end end if getPlayerLevel(cid) < levelMin then npcHandler:say('Eu já disse que não falo com jogadores com nivel menor que '..levelMin..'.', cid) npcHandler:releaseFocus(cid) npcHandler:resetNpc(cid) return false end for k, v in pairs(msgs) do if msgcontains(msg, k) then npcHandler:say(msgs[k], cid) elseif msgcontains(msg, 'bye') or msgcontains(msg, 'goodbye') or msgcontains(msg, 'xau') or msgcontains(msg, 'tchau') then npcHandler:say(msgBye, cid) npcHandler:releaseFocus(cid) npcHandler:resetNpc(cid) return false end end return trueendnpcHandler:setCallback(CALLBACK_GREET, greetCallback)npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)npcHandler:addModule(FocusModule:new())
***ATENÇÃO NESSE SCRIPT /\ Pois ele possui 2 partes para configurar. Uma logo abaixo da outra.
Por hoje é tudo, pessoal! Espero que gostem e façam bom uso. Abraços, Danihcv!
@@atakashi, ok, vamo lá. Vá em creaturescripts.xml (data\creaturescripts) e adicione essa tag:
<event type="kill" name="PPkill" event="script" value="PPkill.lua"/>
Agora vá na pasta scripts (data\creaturescripts) e crie um arquivo chamado PPkill.lua e coloque isso dentro:
local m = {"crystalcrusher", "cliff strider", "demon"}
local pointQntd = 1
function onKill(cid, target)
if(isMonster(target) == true) then
local n = getCreatureName(target)
if isInArray(m, string.lower(n)) then
db.query('UPDATE `accounts` SET `premium_points` = `premium_points` + '..pointQntd..' WHERE `id`= '.. getPlayerAccountId(cid) ..'')
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Você ganhou '..pointQntd..' Premium Point por matar '..getCreatureName(target)..'.')
end
end
return true
end
Agora ainda dentro da pasta scritps, procure o arquivo login.lua e adicione isso, antes do ultimo return true:
registerCreatureEvent(cid, "PPkill")