Postado Julho 15, 2016 8 anos Então, antes queria esclarecer que postei nessa seção porque acho que meu post é sobre um conjunto de aspectos do servidor, e também porque a solução para o problema que quero resolver poderia ser feita de diferentes maneiras, por isso, para consultar alguém a me sugerir alguma delas. Meu problema é o seguinte: o Shop System do website do meu servidor não está enviando as mounts e addons que são compradas, ao invés disso, apenas envia pra o inventário deles o item com ID 11101. O que eu preciso: encontrar uma solução para conseguir vender as mounts e addons no Shop. Com urgência, pois isso prejudica as vendas necessárias para manutenção do servidor. Isso não significa que eu estou buscando especificamente "consertar" o Shop System para que ele conseguisse adicionar as mounts, já olhei diversos posts de pessoas que buscaram fazer isso e não tiveram resultado. O que eu quero com esse post é perguntar, na opinião de vocês, como eu poderia fazer uma solução para esse problema? Alguma das minhas ideias incluiem: Criar items que adicionariam cada addon ou mount especifica, uma espécie de doll, e corrigir na database o ID do item que é enviado para o player para enviar esse item. Assim não preciso corrigir nada no shop system em si, apenas modificar as IDs dos items na database no z_shop_offer. O problema dessa alternativa: não tenho a menor ideia de como conseguir criar um item que faria isso (adicionar um addon ou mount em especifico) Utilizar de alguma forma de adicionar manualmente os addons e mounts para o player. Por acaso, como poderia fazer isso? Existe alguma action ou command que faça isso? Como eu poderia adicionar elas diretamente na database? Ou, por fim, corrigir de fato o Shop System para que ele fizesse isso como deveria, fiz uma grande pesquisa e não encontrei nada que solucionasse, alguém tem alguma sugestão? Informações: Meu servidor é 10.95, muitas das mounts e addons que estão a venda são novos (shop systems antigos, que funcionavam, não incluem elas), o Shop System que estou enfrentando problemas é o que vem em algumas versões recentes do Gesior AAC, meu servidor usa o TFS 1.2. Agradeço quem puder discutir e colaborar e me ajudar a solucionar isso. E também, se algum scripter ou programador experiente souber como programar alguma dessas possíveis soluções e se propor para prestar esse serviço pra mim, entre em contato comigo por favor, eu estou disposto a pagar um valor apropriado pelo trabalho. Editado Julho 15, 2016 8 anos por Veika (veja o histórico de edições)
Postado Julho 15, 2016 8 anos ak Script Para Você Dar Montaria Para Os Player data\talkactions.xml <talkaction log="yes" words="/desmount" access="5" event="script" value="removemount.lua"/> <talkaction log="yes" words="/mount" access="5" event="script" value="darmount.lua"/> data\talkactions\scripts Criei Uma Pasta Chamada=darmount.lua function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.") return true end local t = string.explode(param, ",") t[1] = tonumber(t[1]) if(not t[1]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires numeric param.") return true end local pid = cid if(t[2]) then pid = getPlayerByNameWildcard(t[2]) if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player " .. t[2] .. " not found.") return true end end doPlayerAddMount(pid, t[1]) doSendMagicEffect(getThingPosition(pid), CONST_ME_MAGIC_BLUE) return true end Crie Outra Pasta Chamada=removemount.lua function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.") return true end local t = string.explode(param, ",") t[1] = tonumber(t[1]) if(not t[1]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires numeric param.") return true end local pid = cid if(t[2]) then pid = getPlayerByNameWildcard(t[2]) if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player " .. t[2] .. " not found.") return true end end doPlayerRemoveMount(pid, t[1]) doSendMagicEffect(getThingPosition(pid), CONST_ME_MAGIC_BLUE) return true end Se Funcionou +REP Obrigado
Postado Julho 15, 2016 8 anos Autor Obrigado por compartilhar esse código! Vou tentar mais tarde adicionar o script e usar ele, se funcionar, vou usar como solução provisória, porque ainda tenho esperança de conseguir alguma das outras soluções automatizadas pra isso, algo que evitasse manualmente adicionar cada vez que uma mount ou addon fosse comprado. Rep + pela ajuda
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.