LuaniTa 0 Postado Agosto 23, 2012 Share Postado Agosto 23, 2012 Oii, desculpem meu primeiro topico e post ser um pedido mas estou precisando muitoo de um script Seria um script que quando der look em um jogador apareça uma frase a mais. Exemplo quando se da look normal sem um sistema ao qual estou pedindo: You see yourself. You are god. Gostaria de saber se alguem consegue fazer para que quando completar uma missão que daria uma storage, ganha-se uma frase a mais. Exemplo: You see yourself. You are god. You are Zeus. E tambem se posteriormente fize-se uma outra missão pude-se trocar esse nome por outro, ganhando assim uma nova storage. Exemplo: You see yourself. You are god. You are Titan. Ficaria muito agradecida se alguem fize-se isso. Darei rep+ como agradecimento, e logo logo compartilharei alguns scripts com o pessoal do Xtibia Link para o comentário https://xtibia.com/forum/topic/192529-uma-nova-frase-quando-se-da-look/ Compartilhar em outros sites More sharing options...
0 notle2012 233 Postado Agosto 23, 2012 Share Postado Agosto 23, 2012 (editado) data/creaturescripts/scripts showVocation function onLook(cid, thing, position, lookDistance) local table = { [8080] = getPlayerSex(cid) == PLAYERSEX_MALE and "You are Zeus" or "frase do sexo female", [8081] = getPlayerSex(cid) == PLAYERSEX_MALE and "You are Titan" or "frase do sexo female" } local a = table[getPlayerStorageValue(cid)] if isPlayer(thing.uid) then doPlayerSetSpecialDescription(thing.uid, "\n[Promotion: " .. a .."]") end return true end data\creaturescripts\creaturescripts.xml <event type="look" name="showVoc" event="script" value="showVocation.lua"/> login.lua adiciona isso registerCreatureEvent(cid, "showVoc") Editado Agosto 23, 2012 por notle2012 Link para o comentário https://xtibia.com/forum/topic/192529-uma-nova-frase-quando-se-da-look/#findComment-1322582 Compartilhar em outros sites More sharing options...
0 Vodkart 1515 Postado Agosto 23, 2012 Share Postado Agosto 23, 2012 Daria sim, daria até mesmo para fazer tudo em uma única storage, oque mudaria na storage só seria os value... Link para o comentário https://xtibia.com/forum/topic/192529-uma-nova-frase-quando-se-da-look/#findComment-1322609 Compartilhar em outros sites More sharing options...
0 LuaniTa 0 Postado Agosto 23, 2012 Autor Share Postado Agosto 23, 2012 Olaa Notle2012, tentei fazer tudo certinhu como você escreveu porem não funcionou, não estou conseguindo dar Look nos players, isso antes de ganhar a storage e depois de ganhar tambem naum consigo. Sera que tens que acrescentar algo? Olaa Vodkart, tens como dar uma dica de como isso ficaria? no caso ficaria meio parecido com a do Notle? Link para o comentário https://xtibia.com/forum/topic/192529-uma-nova-frase-quando-se-da-look/#findComment-1322691 Compartilhar em outros sites More sharing options...
0 Oneshot 732 Postado Agosto 23, 2012 Share Postado Agosto 23, 2012 (editado) local specialDescriptions = { [1] = {[0] = "a titan", [1] = "a titan"}, [2] = {[0] = "a demigoddess", [1] = "a demigod"}, [3] = {[0] = "a goddess", [1] = "a god"} } local storage = 8181 function onLook(cid, thing, position, lookDistance) if not isPlayer(thing.uid) then return true end local n = getCreatureStorage(thing.uid, storage) if not specialDescriptions[n] then return true end local sex = getPlayerSex(thing.uid) if not specialDescriptions[n][sex] then return true end doPlayerSetSpecialDescription(thing.uid, "\n".. (sex == 0 and "She" or "He") .." is ".. specialDescriptions[n][sex] ..".") return true end Siga o mesmo procedimento passado pelo notle2012, só trocando o script. O meu funcionará um pouco diferente, você só precisa ir colocando valores maiores em uma única storage. Se a storage do jogador for igual a 1, então ele terá o título titan, caso seja igual a 2, passa a ser demigoddess/demigod, e por aí vai. Abraços. Editado Agosto 23, 2012 por Oneshot Link para o comentário https://xtibia.com/forum/topic/192529-uma-nova-frase-quando-se-da-look/#findComment-1322709 Compartilhar em outros sites More sharing options...
0 Vodkart 1515 Postado Agosto 23, 2012 Share Postado Agosto 23, 2012 (editado) function onLook(cid, thing, position, lookDistance) if isPlayer(thing.uid) then local type = getPlayerStorageValue(thing.uid, 89745) doPlayerSetSpecialDescription(thing.uid, "\n "..(getPlayerSex(cid) == 0 and "She" or "He").." are "..(type < 0 and "Titan" or type == 1 and "Hefesto" or type == 2 and "Apolo" or type == 3 and "Poseidon" or type == 4 and "Hades" or type == 5 and "Zeus")) end return true end fiz usando 5 tipos de deuses/titan a storage usada foi "89745" então se o jogador tiver storage -1 ou 0 ele vai ser "titan" Você pode usar da seguinte maneira setPlayerStorageValue(cid, 89745, 1) -- vira Hefesto setPlayerStorageValue(cid, 89745, 2) -- vira Apolo setPlayerStorageValue(cid, 89745, 3) -- vira Poseidon setPlayerStorageValue(cid, 89745, 4) -- vira Hades setPlayerStorageValue(cid, 89745, 5) -- vira Zeus Editado Agosto 23, 2012 por Vodkart Link para o comentário https://xtibia.com/forum/topic/192529-uma-nova-frase-quando-se-da-look/#findComment-1322711 Compartilhar em outros sites More sharing options...
0 fagundes14 7 Postado Agosto 23, 2012 Share Postado Agosto 23, 2012 @All Se Alguem Poder Me Ajudar. O Script De Look Do Meu Ot Estao Nas Sources E Ele Ta Bugado Ae Não Sei Como Fazer Um Script Que Quando Da LooK Aparece A Sua Vocaçao Ae Seria o Seguinte Tal Numero De Vocaçao Apareceria Tal Nome =D E E Isso ABRASSS Link para o comentário https://xtibia.com/forum/topic/192529-uma-nova-frase-quando-se-da-look/#findComment-1322743 Compartilhar em outros sites More sharing options...
0 LuaniTa 0 Postado Agosto 23, 2012 Autor Share Postado Agosto 23, 2012 Ola Oneshot, testei seu script, não deu erro algun no tfs, deu para dar look nos players, mas deu um pequenino problema.. Falo com o NPC para ganhar a Storage, e continuo com a mesma frase no look. You see yourself. You are a afrodite. No caso era pra ficar assim: You see yourself. You are a afrodite. She is Titan. Ola Vodkart, seu script ficou parecido com o do notle quando dou look em player, não aparece nem uma informação, nem mesmo antes, nem mesmo depois de ganhar a storage Meu NPC esta aqui: 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 exp = 15000 local t = {item1={2244,5}} --[[ XXXX = ID DO ITEM YY = QUANTIDADE DO ITEM ]]-- if(msgcontains(msg, 'certo') or msgcontains(msg, 'yes')) then selfSay('Me traga 5 Almas do Tartaro e volte a falar comigo ou ja tens as {almas} do tartaro? ', cid) talkState[talkUser] = 1 elseif msgcontains(msg, 'ervas') and talkState[talkUser] == 1 then if getPlayerStorageValue(cid,5078) == -1 then if(getPlayerItemCount(cid, t.item1[1]) >= t.item1[2]) then doPlayerRemoveItem(cid, t.item1[1], t.item1[2]) doPlayerAddExp(cid, exp) setPlayerStorageValue(cid,8181,1) selfSay('Muito Bem, agora ja podes entrar no Olimpo e sentar em um dos tronos Deuses !', cid) talkState[talkUser] = 0 else selfSay('voce ainda nao tem as ' .. t.item1[2] .. ' ' .. getItemNameById(t.item1[1]) .. ' que eu lhe pedi, va pegar e mostre que tens valor para ser um de nos.', cid) talkState[talkUser] = 0 end else selfSay('Then not.', cid) talkState[talkUser] = 0 end elseif msg == "no" and talkState[talkUser] == 1 then selfSay("Hmm..", cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) no caso estou usando a storage do Oneshot. setPlayerStorageValue(cid,8181,1) Este npc esta certinhu né? Ou algo de errado nele para dar a storage? Link para o comentário https://xtibia.com/forum/topic/192529-uma-nova-frase-quando-se-da-look/#findComment-1322750 Compartilhar em outros sites More sharing options...
0 caotic 393 Postado Agosto 23, 2012 Share Postado Agosto 23, 2012 Fagundes para monstrar a vocação e simples: function onLook(cid, thing, position, lookDistance) if isPlayer(thing.uid) then local str = " "..getPlayerName(cid).." Vocation "..getPlayerVocationName(cid).." Level "..getPlayerLevel(cid).." " doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, str) end return true end Link para o comentário https://xtibia.com/forum/topic/192529-uma-nova-frase-quando-se-da-look/#findComment-1322751 Compartilhar em outros sites More sharing options...
0 brun123 369 Postado Agosto 23, 2012 Share Postado Agosto 23, 2012 (editado) cometeu o erro que todos os iniciantes cometem com creature scripts... não um erro, mas esqueceu de uma coisinha abra o login.lua (data/creaturescripts/scripts) e procure por isso: registerCreatureEvent(cid, " você vai achar um monte de linha (provavelmente) dessas no seu login.lua, basta adicionar embaixo de alguma delas: registerCreatureEvent(cid, "nome do seu evento") O nome do seu evento você pega no creaturescripts.xml, quando você criou a tag. Se não me engano, basta usar a função doPlayerSetSpecialDescription(cid, blabla) na hora que o NPC dá a storage ao player, pois essa special description fica pra sempre no player, e sempre que derem look nele, ela é mostrada. O que você estão fazendo é sempre que dão look no player, muda a special description dele, mas coloca sempre o mesmo texto. Editado Agosto 23, 2012 por brun123 Link para o comentário https://xtibia.com/forum/topic/192529-uma-nova-frase-quando-se-da-look/#findComment-1322753 Compartilhar em outros sites More sharing options...
0 LuaniTa 0 Postado Agosto 23, 2012 Autor Share Postado Agosto 23, 2012 Brun123, esse post foi a respeito a qual post? Se for ao meu post, saliento que registrei sim no login.lua Fis o que Oneshot me orientou a fazer. Esta como o Notle2012 postou, apenas substitui o script do Notle pelo do Oneshot em creaturescripts/scripts/showVocation.lua E em login.lua ja esta registrado como registerCreatureEvent(cid, "showVoc") Ignore-me se sua resposta foi a outro usuario rsrs Link para o comentário https://xtibia.com/forum/topic/192529-uma-nova-frase-quando-se-da-look/#findComment-1322761 Compartilhar em outros sites More sharing options...
0 Vodkart 1515 Postado Agosto 23, 2012 Share Postado Agosto 23, 2012 Estranho luanita, eu antes de postar eu até testei... Eu acho que o npc está certo sim, a senhorita deve estar fazendo algo de errado. Link para o comentário https://xtibia.com/forum/topic/192529-uma-nova-frase-quando-se-da-look/#findComment-1322801 Compartilhar em outros sites More sharing options...
0 LuaniTa 0 Postado Agosto 23, 2012 Autor Share Postado Agosto 23, 2012 (editado) Ué sai.. tenho quase certeza que fis certinhu, talvez seja o tfs, naum? 3.5 versão do tibia 8.54 Vou postar como eu fis aki. Adicionei uma tag em Creaturescript.xml: <event type="look" name="showVoc" event="script" value="showVocation.lua"/> Adicionei um arquivo lua em creaturescripts/scripts/showVocation.lua: function onLook(cid, thing, position, lookDistance) if isPlayer(thing.uid) then local type = getPlayerStorageValue(thing.uid, 89745) doPlayerSetSpecialDescription(thing.uid, "\n "..(getPlayerSex(cid) == 0 and "She" or "He").." are "..(type < 0 and "Titan" or type == 1 and "Hefesto" or type == 2 and "Apolo" or type == 3 and "Poseidon" or type == 4 and "Hades" or type == 5 and "Zeus")) end return true end Adicionei em creaturescripts/scripts/login.lua: registerCreatureEvent(cid, "showVoc") Depois adicionei o npc.xml: <?xml version="1.0" encoding="UTF-8"?> <npc name="Eva" script="data/npc/scripts/graduacoes/deuses.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="226" head="38" body="79" legs="107" feet="114"/> <parameters> <parameter key="message_greet" value="Ola, entao veio falar comigo porque quer ser entrar no Olimpo {certo}?"/> </parameters></npc> Adicionei em npc/scripts/graduacoes/deuses.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 exp = 15000 local t = {item1={2244,5}} --[[ XXXX = ID DO ITEM YY = QUANTIDADE DO ITEM ]]-- if(msgcontains(msg, 'certo') or msgcontains(msg, 'yes')) then selfSay('Me traga 5 Almas do Tartaro e volte a falar comigo ou ja tens as {almas} do tartaro? ', cid) talkState[talkUser] = 1 elseif msgcontains(msg, 'ervas') and talkState[talkUser] == 1 then if getPlayerStorageValue(cid,5078) == -1 then if(getPlayerItemCount(cid, t.item1[1]) >= t.item1[2]) then doPlayerRemoveItem(cid, t.item1[1], t.item1[2]) doPlayerAddExp(cid, exp) setPlayerStorageValue(cid,89745,1) selfSay('Muito Bem, agora ja podes entrar no Olimpo e sentar em um dos tronos Deuses !', cid) talkState[talkUser] = 0 else selfSay('voce ainda nao tem as ' .. t.item1[2] .. ' ' .. getItemNameById(t.item1[1]) .. ' que eu lhe pedi, va pegar e mostre que tens valor para ser um de nos.', cid) talkState[talkUser] = 0 end else selfSay('Then not.', cid) talkState[talkUser] = 0 end elseif msg == "no" and talkState[talkUser] == 1 then selfSay("Hmm..", cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Creio que fis tudo certo, naum? Editado Agosto 23, 2012 por LuaniTa Link para o comentário https://xtibia.com/forum/topic/192529-uma-nova-frase-quando-se-da-look/#findComment-1322844 Compartilhar em outros sites More sharing options...
0 Vodkart 1515 Postado Agosto 23, 2012 Share Postado Agosto 23, 2012 (editado) mas você deu look em você mesma ou deu look num segundo char? e está o npc pra vc 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 msg = string.lower(msg) local exp,t = 15000,{2244,5} local s1,s2 = 15214,89745 if isInArray({'certo','right'}, msg) then if getPlayerStorageValue(cid, s1) <= 0 then talkState[talkUser] = 1 selfSay('Olá guerreiro, você pode me trazer '..t[2]..' '..getItemNameById(t[1])..'? {yes}', cid) else talkState[talkUser] = 2 selfSay('Já voltas-te bravo guerreiro! por acaso já tens as '..t[2]..' '..getItemNameById(t[1])..'? {yes}', cid) end elseif msgcontains(msg, 'yes') and talkState[talkUser] == 1 then selfSay('Muito bem então! Volte aqui quando tiver as '..t[2]..' '..getItemNameById(t[1])..' e será muito bem recompensado!', cid) setPlayerStorageValue(cid,s1,1) talkState[talkUser] = 0 elseif msgcontains(msg, 'yes') and talkState[talkUser] == 2 then if getPlayerStorageValue(cid, s1) == 1 then if doPlayerRemoveItem(cid, t[1], t[2]) then doPlayerAddExp(cid, exp) setPlayerStorageValue(cid,s2,1) setPlayerStorageValue(cid,s1,2) selfSay('Muito Bem, agora ja podes entrar no Olimpo e sentar em um dos tronos Deuses !', cid) talkState[talkUser] = 0 else selfSay('voce ainda nao tem as '..t[2]..' '..getItemNameById(t[1])..' que eu lhe pedi, va pegar e mostre que tens valor para ser um de nos.', cid) talkState[talkUser] = 0 end else selfSay('Você já tem o acesso ao olimpo!', cid) talkState[talkUser] = 0 end elseif msg == "no" and talkState[talkUser] >= 1 then selfSay("Hmm... ok.", cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Editado Agosto 23, 2012 por Vodkart Link para o comentário https://xtibia.com/forum/topic/192529-uma-nova-frase-quando-se-da-look/#findComment-1322845 Compartilhar em outros sites More sharing options...
0 LuaniTa 0 Postado Agosto 23, 2012 Autor Share Postado Agosto 23, 2012 Poxa vida.. verdade.. deu certo e eu não tinha visto, quando dou look em mim mesma naum aparecia nada.. rsrs Mas se dou look em alguem que tenha a storage aparece Sou muito tonta mesmo Obrigada a todos pela ajuda. Naum sabia que aqui no forum podia dar apenas 1 reputation por dia, testei aqui e o script do Oneshot e o seu Vodkart derao certinhu. Mostra apenas se der look em outro player e não em você mesmo, por isso nao sabia se estava funcionando, Obrigada denovo, gostei muito do forum Estarei voltando aqui no topico nos proximos 3 dias e estarei dando a reputation devida a todos pela exelente ajuda! Link para o comentário https://xtibia.com/forum/topic/192529-uma-nova-frase-quando-se-da-look/#findComment-1322870 Compartilhar em outros sites More sharing options...
0 Vodkart 1515 Postado Agosto 23, 2012 Share Postado Agosto 23, 2012 Sou muito tonta mesmo Concordo plenamente rsrsrs Obrigada a todos pela ajuda. Naum sabia que aqui no forum podia dar apenas 1 reputation por dia, testei aqui e o script do Oneshot e o seu Vodkart derao certinhu. Nem se esquenta com isso, REP é o de menos, o importante é que o seu pedido obteve sucesso. Mostra apenas se der look em outro player e não em você mesmo, por isso nao sabia se estava funcionando, Obrigada denovo, gostei muito do forum Estarei voltando aqui no topico nos proximos 3 dias e estarei dando a reputation devida a todos pela exelente ajuda! Errando que se aprende, ninguém nasceu sabendo nada, levei muita porrada pra aprende o pouco que sei hoje rsrs até outro dia. Link para o comentário https://xtibia.com/forum/topic/192529-uma-nova-frase-quando-se-da-look/#findComment-1322878 Compartilhar em outros sites More sharing options...
Pergunta
LuaniTa 0
Oii, desculpem meu primeiro topico e post ser um pedido mas estou precisando muitoo de um script
Seria um script que quando der look em um jogador apareça uma frase a mais.
Exemplo quando se da look normal sem um sistema ao qual estou pedindo: You see yourself. You are god.
Gostaria de saber se alguem consegue fazer para que quando completar uma missão que daria uma storage,
ganha-se uma frase a mais.
Exemplo: You see yourself. You are god. You are Zeus.
E tambem se posteriormente fize-se uma outra missão pude-se trocar esse nome por outro, ganhando assim uma nova storage.
Exemplo: You see yourself. You are god. You are Titan.
Ficaria muito agradecida se alguem fize-se isso. Darei rep+ como agradecimento, e logo logo compartilharei alguns scripts com o pessoal do Xtibia
Link para o comentário
https://xtibia.com/forum/topic/192529-uma-nova-frase-quando-se-da-look/Compartilhar em outros sites
17 respostass a esta questão
Posts Recomendados