-
Total de itens
92 -
Registro em
-
Última visita
-
Dias Ganhos
6
Histórico de Reputação
-
gabrielzika recebeu reputação de lSainty em [ACTION] Auto Loot - Coletando ao abrir corpo
Então faz melhor ao invés de cagar pela boca
-
gabrielzika recebeu reputação de Nildson em [ACTION] Auto Loot - Coletando ao abrir corpo
Então faz melhor ao invés de cagar pela boca
-
gabrielzika recebeu reputação de Holograma em [ACTION] Auto Loot - Coletando ao abrir corpo
@Walox neste caso, no script do Tony basta coloca isso depois do penultimo end:
doSetItemActionId(item.uid, 0) Ficando assim:
function onUse(cid, item, fromPosition, itemEx, toPosition) if getItemAttribute(item.uid, "corpseowner") ~= cid then return doPlayerSendCancel(cid, "You're not the owner.") end local items = {} for i = 0, getContainerSize(item.uid) do local it = getContainerItem(item.uid, i) if it.uid > 0 then table.insert(items, {it.itemid, it.type}) doRemoveItem(it.uid) end end if #items > 0 then for k = 1, #items do local playerItem = getPlayerItemById(cid, true, items[k][1]) if playerItem.uid > 0 then if (playerItem.type + items[k][2]) > 100 then doPlayerAddItem(cid, items[k][1], (playerItem.type + items[k][2]) - 100) doTransformItem(playerItem.uid, items[k][1], 100) else doTransformItem(playerItem.uid, items[k][1], playerItem.type + items[k][2]) end else doPlayerAddItem(cid, items[k][1], items[k][2]) end end return true end doSetItemActionId(item.uid, 0) return false end Depois que o player coletar uma vez o corpse deixa de ter a ActionID, assim impossibilitando de o player tentar trollar o sistema.
-
gabrielzika recebeu reputação de kakaboi em Login.lua Erro
@Fawkzz12 encima de:
if getPlayerStorageValue(cid, 17000) >= 1 then coloque:
setPlayerStorageValue(cid, 17000, 0)
-
gabrielzika recebeu reputação de prot def em Como faço pra configurar aparencia do tile no minimapa?
@Jeremiasvct só clicar nessa setinha que tem no canto direito >>
-
gabrielzika recebeu reputação de Taiger em [Resolvido] Mensagem Catch Chanel
@Taiger malz ksks, tenta agr!
local pokesCheck = {"Alakazam", "Blastoise"} if isInArray(pokesCheck, poke) or pokes[poke].wildLvl >= 80 or poke:find("Shiny") then local text_color = poke:find("Shiny") and TALKTYPE_CHANNEL_O or TALKTYPE_CHANNEL_W for _, oid in ipairs(getPlayersOnline()) do doPlayerSendChannelMessage(oid, cid, "[Catch Channel] O jogador [".. getCreatureName(cid) .."] capturou um ["..poke.."]!.", text_color, 5) end end
-
gabrielzika recebeu reputação de Taiger em [Resolvido] Mensagem Catch Chanel
@Taiger
local pokesCheck = {"Alakazam", "Blastoise"} if isInArray(pokesCheck, poke) or pokes[poke].wildLvl >= 80 or poke:find("Shiny") then local text_color = poke:find("Shiny") and TALKTYPE_CHANNEL_O or TALKTYPE_CHANNEL_W for _, oid in ipairs(getPlayersOnline()) do doPlayerSendChannelMessage(oid, cid, "[Catch Channel] O jogador [".. getCreatureName(cid) .."] capturou um ["..poke.."]!.", text_color, 5) end end
-
gabrielzika recebeu reputação de Taiger em [Resolvido] Mensagem Catch Chanel
@Taiger veja se é isso:
if pokes[poke].wildLvl >= 80 or poke:find("Shiny") then local text_color = poke:find("Shiny") and TALKTYPE_CHANNEL_O or TALKTYPE_CHANNEL_W for _, oid in ipairs(getPlayersOnline()) do doPlayerSendChannelMessage(oid, cid, "[Catch Channel] O jogador [".. getCreatureName(cid) .."] capturou um ["..poke.."]!.", text_color, 5) end end
-
-
gabrielzika deu reputação a BlazerX em [OTC] Trainer Card
Trainer Card
Fala galera do Xtibia, vim trazer mais uma contribuição para a comunidade, é um módulo para otclient básico porém legal.
Como funciona?
O Trainer Card vai mostrar digamos algumas informações do seu personagem,
você pode adicionar mais informações a esse card, vai da criatividade de cada um deixar bem funcional.
Script do servidor:
Crique um arquivo na pasta do seu servidor em data/creaturescript/ e coloque o nome de trainercard.lua
Coloque a seguinte tag no arquivo do creaturescripts.xml:
<event type="extendedopcode" name="TrainerCard" event="script" value="trainercard.lua"/> Registre o evento no arquivo onLogin.lua onde se encontra na mesma pasta:
registerCreatureEvent(cid, "TrainerCard")
Módulo otClient:
Coloque o módulo na pasta do seu otClient em modules/
Para abrir o módulo pressione a tecla Ctrl+Shift+Q
Imagem do módulo:
A base que foi utilizada do servidor foi a DarkXPoke.
O meu módulo tem mais informações do que o da imagem, porém eu dei uma mexida,
o módulo que o Gengo me passou do Trainer Card que eu utilizo está em um nivel totalmente
diferente do apresentado nesse tutorial, eu só modifiquei para compartilhar com a galera.
Espero que tenham gostado e faça um bom proveito do módulo, use sua criatividade para fazer de um belo sistema funcional.
Créditos:
-
gabrielzika recebeu reputação de Taiger em [Resolvido] Unique item
@Taiger
local premio = doPlayerAddItem(cid, 18837, 1) doItemSetAttribute(premio, "unique", 1)
-
gabrielzika recebeu reputação de Marshmello em Talk Color
@Marshmello não deu certo pq as cores devem ser escritas na forma RGB e não como Hex igual ele disse no tópico...
Certo:
Color(255, 0, 0);
Errado:
Color(0xFF, 0x00, 0x00);
^^
-
gabrielzika recebeu reputação de Marshmello em [ACTION] Auto Loot - Coletando ao abrir corpo
Então faz melhor ao invés de cagar pela boca
-
gabrielzika recebeu reputação de Duhisback em [ACTION] Auto Loot - Coletando ao abrir corpo
Então faz melhor ao invés de cagar pela boca
-
gabrielzika recebeu reputação de Morduk em [OtClient] Mensagem Personalizada
Ótimo conteúdo!!
Quem estiver com problemas em colocar a cor, basta usar o mesmo broadcastclass.lua que ele disponiblizou.
-
gabrielzika recebeu reputação de diego2908 em error addon systemm
@diego2908 colocou um pokémon no slot?
-
gabrielzika recebeu reputação de Yan Liima em O jogador que Ter X storage ganha tantos % de exp
@AdilsonHacker veja se funciona:
local storage_guild = getGlobalStorageValue(123123) local rate = 1.3 -- 30% function onLogin(cid) if getPlayerGuildId(cid) == storage_guild then doPlayerSetRate(cid, SKILL__LEVEL, rate) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "Você tem "..((rate - 1)*100).."% de exp a mais!") else doPlayerSetRate(cid, SKILL__LEVEL, 1.0) -- Pode remover as storages dos players por aqui por exemplo: setPlayerStorageValue(cid, 154154, -1) setPlayerStorageValue(cid, 154154, -1) end return true end créditos Yan Liima...
-
gabrielzika recebeu reputação de Jeremiasvct em Como faço pra configurar aparencia do tile no minimapa?
@Jeremiasvct só clicar nessa setinha que tem no canto direito >>
-
gabrielzika recebeu reputação de Jeremiasvct em Como faço pra configurar aparencia do tile no minimapa?
@Jeremiasvct Object Builder.
-
gabrielzika recebeu reputação de LeoTK em [ACTION] Auto Loot - Coletando ao abrir corpo
@Walox neste caso, no script do Tony basta coloca isso depois do penultimo end:
doSetItemActionId(item.uid, 0) Ficando assim:
function onUse(cid, item, fromPosition, itemEx, toPosition) if getItemAttribute(item.uid, "corpseowner") ~= cid then return doPlayerSendCancel(cid, "You're not the owner.") end local items = {} for i = 0, getContainerSize(item.uid) do local it = getContainerItem(item.uid, i) if it.uid > 0 then table.insert(items, {it.itemid, it.type}) doRemoveItem(it.uid) end end if #items > 0 then for k = 1, #items do local playerItem = getPlayerItemById(cid, true, items[k][1]) if playerItem.uid > 0 then if (playerItem.type + items[k][2]) > 100 then doPlayerAddItem(cid, items[k][1], (playerItem.type + items[k][2]) - 100) doTransformItem(playerItem.uid, items[k][1], 100) else doTransformItem(playerItem.uid, items[k][1], playerItem.type + items[k][2]) end else doPlayerAddItem(cid, items[k][1], items[k][2]) end end return true end doSetItemActionId(item.uid, 0) return false end Depois que o player coletar uma vez o corpse deixa de ter a ActionID, assim impossibilitando de o player tentar trollar o sistema.
-
gabrielzika recebeu reputação de Poke X Ice em Erro em Script Poketibia
@Poke X Ice
function onUse (cid,item,frompos,item2,topos) local config = { level = 5, storage = 5951, uniqueid = 9000, effect = 29, items = { ["Ultra Ball"] = {item = 2392, quantidade = 50}, ["Nota Verde"] = {item = 2152, quantidade = 40}, ["Shiny Box"] = {item = 14838, quantidade = 1}, ["Hyper Potions"] = {item = 12345, quantidade = 100} } } if item.uid == config.uniqueid then if getPlayerLevel(cid) >= config.level then local queststatus = getPlayerStorageValue(cid, config.storage) if queststatus == -1 then for k, v in pairs(config.items) do local itemAdd = doPlayerAddItem(cid, v.item, v.quantidade) doItemSetAttribute(itemAdd, "unique", 1) end doPlayerSendTextMessage(cid, 22, "Parabens, você acaba de pegar seu Kit Inicial.") setPlayerStorageValue(cid, config.storage, 1) doSendMagicEffect(getThingPos(cid), config.effect) else doPlayerSendCancel(cid, "Você ja pegou seu Kit Inicial.") end else doPlayerSendCancel(cid, "Somente Level ".. config.level .."+ conseguem abrir este bau.") end end return 1 end Caso de algum erro de simbolos:
https://hastebin.com/woqakacede.rb
-
gabrielzika deu reputação a Noninhouh em [Tutorial] Ajustando andar diagonal
Bom, vou mostrar a vocês como editar o andar diagonal no otclient da maneira que vocês preferirem...
Atualmente, creio que quando você anda diagonalmente, tem um delay até que você possa andar novamente. Vou ensinar tirar esse delay, e deixar a velocidade ao gosto de vocês.
Em creature.cpp do server, procure pela linha:
if(std::abs(newPos.x - oldPos.x) >= 1 && std::abs(newPos.y - oldPos.y) >= 1) lastStepCost = 3; Esse lastStepCost será a velocidade que o player terá ao andar diagonalmente, em relação a velocidade de quando ele anda em uma direção reta, por exemplo, um player que demora 1 segundo para andar 1 sqm, demoraria 3 segundos para andar diagonalmente. Edite esse valor ao seu gosto!
Em creature.cpp do client, procure as linhas que tem isso:
getStepDuration(true) E deixe assim:
getStepDuration()
Agora procure por:
float factor = 3; if(g_game.getClientVersion() <= 810) factor = 2; Apague essa parte
Logo mais abaixo tem:
if(!ignoreDiagonal && (m_lastStepDirection == Otc::NorthWest || m_lastStepDirection == Otc::NorthEast || m_lastStepDirection == Otc::SouthWest || m_lastStepDirection == Otc::SouthEast)) interval *= factor; Em factor, deixe o mesmo valor que você deixou em lastStepCost no servidor.
Agora em localplayer.cpp no client, novamente procure por:
getStepDuration(true) E troque por:
getStepDuration()
Pronto, seu personagem andará diagonalmente mais suave, e com a velocidade que você escolheu.
-
gabrielzika recebeu reputação de theodorogobi em Erro no script
@theodorogobi
https://hastebin.com/fuwevatuji.rb
-
-
gabrielzika recebeu reputação de mister17 em Erro no script
@theodorogobi achei um erro que não tinha visto e já corrigi, eu apenas organizei o script e refiz algumas partes. Se te ajudei marque como melhor resposta para que pessoas com o mesmo problema possa resolve-lo
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.