Ir para conteúdo

Sun

Membro
  • Registro em

  • Última visita

Tudo que Sun postou

  1. me passa seu transformar ou algo que mude a look type, e me mande tbm a forma que vc configurou a script!
  2. seu servidor é qual derivado?
  3. Sun postou uma resposta no tópico em Suporte OTServer Derivados
    esta spell, está registrada neste personagem em questão?
  4. vai na sua src em creatureevent.cpp procure por onKill e veja se tem Lasthit @poko360 se puder me falar como funciona esse pvp enforced tbm
  5. sim verdade! erro meu!
  6. function onKill(cid, target, damage) local storage = getPlayerStorageValue(target, 2310) local life = getCreatureMaxHealth(target) if damage >= (life / 2) then if getPlayerLevel(cid) <= getPlayerLevel(target) and isPlayer(cid) and isPlayer(target) then doSendAnimatedText(getPlayerPosition(cid), "5000000", 215) doPlayerAddExperience(cid, (getPlayerExperience(target) / 500)) elseif getPlayerLevel(cid) > getPlayerLevel(target) and isPlayer(cid) and isPlayer(target) then doSendAnimatedText(getPlayerPosition(cid), "5000000", 215) doPlayerAddExperience(cid, (getPlayerExperience(target) / 5000)) return true end end return true end não tenho a mínima ideia de como funciona este system de pvp enforced, mas oque alterei foi, o player tem que dar 50% da vida no player para poder ganhar a exp @poko360 ei @Vodkart vi em minha source (0.4) e nela onKill não possui Lasthit , se ele estiver usando a mesma que eu uso, que é a do fire, provavelmente este parâmetro não irá funcionar.
  7. vocation = { [1] = {speed = 250}, -- ## [] = vocation ## -- [2] = {speed = 250}, [3] = {speed = 250}, [4] = {speed = 250}, [5] = {speed = 250}, [6] = {speed = 250}, [7] = {speed = 250} } function onLogin(cid) if vocation[getPlayerVocation(cid)] then doChangeSpeed(cid, -getCreatureSpeed(cid)) doChangeSpeed(cid, vocation[getPlayerVocation(cid)].speed) end return true end login.lua registerCreatureEvent(cid, "Speed") creaturescript.xml <event type="login" name="Speed" script="speed.lua" /> @Nother Base script feita com a versão 0.4, se testar e funcionar contigo, repute e coloque como {Solução}, para que mais pessoas com necessidade do script, possam ser ajudadas tbm!.
  8. Sun postou uma resposta no tópico em Playground (Off-topic)
    Isso acontece pois muitos iniciaram na comunidade não apenas com foco de ajuda, mas também no aprendizado! com o passar dos anos, a comunidade apenas virou algo sanguessuga, apenas querendo para si e nunca dividindo oque tem! Muitos ainda continuam com esses pensamentos de querer as coisas apenas para si, e muitos apenas de tirar água de pedra. O tk não morreu, mas a vontade de ajudar pessoas deste tipo (muitos são assim) foi se acabando, pq muitos que pediam system, o revendiam ou postava sem os devidos créditos. @Heyron
  9. Sun postou uma resposta no tópico em Suporte Tibia OTServer
    function onSay(cid, words, param, channel) local t = string.explode(param, ",") local id = getPlayerGUIDByName(t[1]) local tid = getPlayerByNameWildcard(t[1]) if not t[1] then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player " .. t[1] .. " not found!.") return true end if t[1] ~= id then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player not exist.") return true end if not t[2] then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "unspecified amount.") return true end if tid then setPlayerStorageValue(tid, 15555, getPlayerStorageValue(cid, 15555) + t[2]) doSendAnimatedText(getPlayerPosition(tid), "+" .. t[2] .. " points.", COLOR_DARKYELLOW) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este jogador está offline, mas recebeu os " .. t[2] .. " points.") db.executeQuery("INSERT INTO `player_storage`(player_id, key, value) VALUES(" .. id .. ", " .. 15555 .. ", " .. t[2] .. ");") end return true end troque seu addpoints por este acima, ele irá adicionar points mesmo se o jogador estiver Off
  10. Sun postou uma resposta no tópico em Suporte Tibia OTServer
    daria
  11. Sun postou uma resposta no tópico em Suporte Tibia OTServer
    olha ai funcionando perfeitamente!
  12. Sun postou uma resposta no tópico em Suporte Tibia OTServer
    em actions/script/bau_points info_table = { id_points = 2260 } e lembrando, você só pode alterar isso, qualquer outra alteração no script não irá fazer funcionar ele
  13. Sun postou uma resposta no tópico em Suporte Tibia OTServer
    dessa forma é pelo báu, você provavelmente configurou errado, ou esqueceu algo, pq aqui funciona perfeitamente!
  14. nos mostre esta função player:setAttackSpeed @Thensus Warrior
  15. Sun postou uma resposta no tópico em Suporte Tibia OTServer
    Em talkactions/scripts crie uma arquivo chamado addpoints.lua e cole \/ function onSay(cid, words, param) local t = string.explode(param, ",") if(not t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") return true end local tid = getPlayerByNameWildcard(t[1]) if(not tid or (isPlayerGhost(tid) and getPlayerGhostAccess(tid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player " .. t[1] .. " not found.") return true end if not t[2] then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sem valor adicional.") else setPlayerStorageValue(tid, 15555, getPlayerStorageValue(cid, 15555) + t[2]) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você adicionou " .. t[2] .. " points " .. "para " .. t[1].. ".") doPlayerSendTextMessage(tid, MESSAGE_STATUS_CONSOLE_BLUE, "Você recebeu " .. t[2] .. " points.") doSendAnimatedText(getPlayerPosition(tid), "+" .. t[2] .. " points.", COLOR_DARKYELLOW) end return true end -- /teste yeths, valor em talkactions/scripts ainda, crie um arquivo chamado removepoints.lua e cole \/ function onSay(cid, words, param) local t = string.explode(param, ",") if(not t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") return true end local tid = getPlayerByNameWildcard(t[1]) if(not tid or (isPlayerGhost(tid) and getPlayerGhostAccess(tid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player " .. t[1] .. " not found.") return true end if not t[2] then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sem valor adicional.") else if (getPlayerStorageValue(tid, 15555) - t[2]) < 0 then setPlayerStorageValue(tid, 15555, 0) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você removeu todos os points do jogador " .. t[1].. ".") return true end setPlayerStorageValue(tid, 15555, getPlayerStorageValue(tid, 15555) - t[2]) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você removeu " .. t[2] .. " points do jogador " .. t[1].. ".") end return true end -- /teste yeths, valor em talkactions/scripts ainda crie um arquivo chamado getpoints.lua e cole \/ function onSay(cid, words, param) local tid = getPlayerByNameWildcard(param) if(not tid or (isPlayerGhost(tid) and getPlayerGhostAccess(tid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player " .. param .. " not found.") return true end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este jogador possui " .. getPlayerStorageValue(tid, 15555) .. " points.") return true end -- /teste yeths, valor agora em talkactions.xml coloque essas tags <!-- points --> <talkaction words="/addpoints" event="script" value="addpoints.lua"/> <talkaction words="/removepoints" event="script" value="removepoints.lua"/> <talkaction words="/obterpoints" event="script" value="getpoints.lua"/> em actions/scripts crie um arquivo chamado bau_points.lua info_table = { id_points = 2260 } function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, 15555) >= 1 then data = os.date("%d/%m/%y", os.time()) timer = os.date("%H:%M:%S", os.time()) local test = io.open("points.txt", "a+") local read = "" if test then read = test:read("*all") test:close() end read = read.."Dia: " .. data .. " hora:" .. timer .. " nome do jogador: "..getCreatureName(cid).. ", valor retirado: " ..getPlayerStorageValue(cid, 15555).." points.\n" local reopen = io.open("points.txt", "w") reopen:write(read) reopen:close() doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você recebeu +" .. getPlayerStorageValue(cid, 15555) .. " points.") doPlayerAddItem(cid, info_table.id_points, getPlayerStorageValue(cid, 15555)) setPlayerStorageValue(cid, 15555, 0) else return doPlayerSendCancel(cid, "Você não possui points.") end end agora em actions.xml coloque essas tags <!-- points --> <action actionid="ACTIONSID" event="script" value="bau_points.lua"/> ultimo passo, vai em creaturescript/scripts e procure por login.lua if getPlayerStorageValue(cid, 15555) == -1 then setPlayerStorageValue(cid, 15555, 0) end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce possui " .. getPlayerStorageValue(cid, 15555) .. " points.") oque esse script irá fazer, ele te permite dar points para o jogador, te permite retirar os points do jogador, te permite olhar quantos pontos o jogador possui. além de coisas banais como, ao adicionar points no jogador, irá aparecer no player {+quantida adicionada} isso também irá criar um arquivo no sua pastar do executavel do seu servidor, dizendo quem pegou e quanto tirou de lá!. exemplo: como usar? /addpoints nomedojogardor, quantia de points /removepoints nomedojogador, quantia a ser retirada /obterpoints nomedojogador @Nother este script foi criado para um servidor de um amigo, então está 100% creditos totalmente meu! espero o seu feedback.
  16. Tabela_infos = { Sqm = 6 } Direction = { [407] = {number = 3, direction = 0}, -- ## [IDTILE], quantos sqm ele vai andar [103] = {number = 1, direction = 3} } function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) for value, key in pairs(Direction) do if getTileItemById(getPlayerPosition(cid), value) then for i = 1, key.number, 1 do doMoveCreature(cid, key.direction) end end break end return true end @JulianoZN testei aqui, está funcional! <movevent type="StepIn" itemid="ID;ID;ID" event="script" value="arquivo.lua"/> @JulianoZN não se esqueça desta tag! aqui está as direções do tibia!
  17. no caso movements, actions é quando clica.
  18. ~ Olá galera, fiz parte do grupo por uns anos e fiquei 3 longos anos sem dar as caras Antes pessoas me ajudavam, hoje, consigo ajudar as pessoas, e queria compartilhar com vocês conhecimento sobre itemAttribute! essa função do tibia é maravilhosa, porém muitos não sabem seu potencial ou até mesmo não coloca ela em seus planos, ela é bem simples porém deixa duvida em muitos, principalmente servidores de Poketibia que utiliza isso em quase tudo. getItemAttribute(uid, key) -- ## oque é get? get em inglês seria algo como obter, então a função traduzida seria, obter atributo do item! ## -- getItemAttribute(uid, key) -- ## UID seria direcionado a qual item eu estaria perguntando seu attributo, lembrando que eu obtenho isso com a key ##-- --## quando se pesquisa pelo atributo do item, o mais importante seria a chave que está contido no item, a key, no caso é uma {string} doItemSetAttribute(uid, key, value) -- ## oque é set? set seria algo como "definir", usamos para "dar" algo, traduzido fica definir atributo no item doItemSetAttribute(uid, key, value) -- ## uid novamente! seria o item a ser setado o attributo, chave, será algo que iremos colocar, como "defense" ## -- -- ## oque seria value? value seria o valor, como 1, etc já que é defense podemos fazer se tiver mais, defende mais ## doItemEraseAttribute(uid, key) --## oque é do? do seria como "faça", na tradução seria, faça um corte no atributo do item doItemEraseAttribute(uid, key) --## uid novamente! será o item, a chave seria aque você setou no item, essa função retira o attributo!. ##-- exemplo dos Attribute sendo usados -- ## exemplo de catch seria o charmander ## -- Ensino = {"Charmander", 3200, 1515, 4} -- ## fazemos de exemplo que 3200 seria vida do charmander e 1515 seria o id do item do seu portfoil e 4 o sexo item = doCreateItemEx(12664, 1) -- ## 12664 seria o id da pokebola, 1 seria a quantia doPlayerAddItemEx(cid, item, true, CONST_SLOT_BACKPACK) doItemSetAttribute(item, "poke", 3200) -- ## vida do pokemon ## -- doItemSetAttribute(item, "nome", "Charmander") -- ## nome do pokemon ## -- doItemSetAttribute(item, "portrait", 1515) -- ## portrait do pokemon ## -- doItemSetAttribute(item, "gender", 4) -- ## 4 seria o sexo dele ## -- -- ## claro que ná hora de fazer seu system de catch irá ser assim, mas isso é apenas um exemplo de como irá funcionar ## -- -- ## lembrando que o valor do doItemSetAttribute pode ser além de numero. ## -- Espero que muitos pratiquem ai, e que vocês tenham conseguido entender o tópico e se aventurem para usar a função!. bye
  19. ai eu teria que reeditar o script, mas ai iria te gerar muitos pisos desses
  20. da forma que fiz foi, onde ele estiver olhando ele vai, ou seja, se ele olhar pra cima, vai para cima, se tiver olhando para baixo, irá para baixo. @JulianoZN
  21. opá, que isso, se puder ajudar dando rep+ e colocando o resultado da resposta, isso ira ajudar mais pessoas.
  22. provavelmente pode ser isso, pois sei que o script está funcional. Boa sorte!
  23. eu o criei em 0.4, tanto que funciona perfeitamente! olhei as funçoes da versão 0.3.6 e essa função é existente dele, junto com a getCreatureLookDirection é bastante estranho não funcionar no seu. @JulianoZN
  24. @JulianoZN reeditei!.
  25. Sun postou uma resposta no tópico em Códigos C++
    @Yan Liima nice!!!

Informação Importante

Confirmação de Termo