Ir para conteúdo
  • Cadastre-se

Ed.Specter

Membro
  • Total de itens

    50
  • Registro em

  • Última visita

  • Dias Ganhos

    1

Tudo que Ed.Specter postou

  1. posta o npc. faço pra vc. fiz aqui, não testei tudo... testa tudo ai, e se achar qualquer bug me avisa! desculpem a bagunça, faz um tempo que não faço um script assim.. em data/talkactions/scripts cria um arquivo lua e coloca isso dentro: em talkactions.xml coloca a tag: talkaction words="!transferir(ou oq vc desejar)" event="script" value="NomeDoArquivo.lua"/> em data/actions/scripts cria um arquivo.lua e coloca isso dentro: em actions.xml coloca a tag: <action itemid="2161(id do item)" script="NomeDoArquivo.lu
  2. adiciona a função que citei. e vê se funciona esse aqui: talkactions function onSay(cid, words, param, param2, channel) local t = string.explode(param, ",") local target = getCreatureByName(t[1]) local points = tonumber(t[2]) local item = 2233 local storage = 21223 if(param == '') then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.") end if (target ~= nil) and isPlayer(target) and not isPlayerGhost(target) then if (points ~= nil) and (type(points) == 'number') and (points>0) then if getPlayerVipPoints(cid) > points th
  3. não amigo, esse que mandei n serve para checar se o player tem a storage 13901, ele checa se o player tem premium.. esse 13901, é a uniqueid que você coloca no tile, você terá que fazer o mesmo colocando storage no script de premium. faz um teste, coloca o script que te mandei, e coloca a uniqueid no tile. tenta passar com um player que tem premium, e outro que n tem.
  4. é melhor usar um script pra checar o premium.. em data/movements/scripts cria um arquivo lua e coloca isso dentro: e em data/movements/movements.xml coloca a seguinte tag: <movevent type="StepIn" uniqueid="13901" event="script" value="Nome Do Arquivo.lua"/> no rme coloca o numero da uniqueid no tile que o player vai conseguir passar ou n. a mesma da tag.
  5. nesse caso ai o player vai entrar mesmo se estiver com o amulet na bp. getPlayerItems não retorna todos os itens do jogador? acho que seria melhor usar getPlayerSlotItem
  6. não entendeu! rsr ou eu não te entendi. é só fazer o script com essa função ai que te passei. vc vai falar o comando e vai simular o trade, com o item que colocar na função. se precisar de ajuda, vai pedindo aqui.
  7. não entendi. a função doStartTrade precisa de um item. você vai usar o talkactions pra chamar o trade, tipo [ !trade Player, 4 ] no caso, vai da trade no player para trocar 4 pontos. ae a TradeAccept para fazer acontecer a troca, quando eles aceitarem. você vai usar o talkaction como um trade, coloca todas as condições nele.
  8. Em luascript.h, adicione essa linha: static int32_t luaDoStartTrade(lua_State* L); coloca abaixo de linhas parecidas. Em luascript.cpp, adicione isso: //doStartTrade(cid, target, item) lua_register(m_luaState, "doStartTrade", LuaInterface::luaDoStartTrade); coloca perto de linhas parecidas. e em luascript.cpp ainda. coloca isso também: (perto de algo parecido) int32_t LuaInterface::luaDoStartTrade(lua_State* L) { ScriptEnviroment* env = getEnv(); Item* item = env->getItemByUID(popNumber(L)); if(!item) { errorEx(ge
  9. Oneshot criou uma função doStartTrade(cid, target, item) que simula o trade, é só colocar a função na source e criar o código em lua, é bem simples na verdade.
  10. @Liane Maria testa isso aqui.. local config = { [2001] = {pos = {x=1000, y=1000, z=1}, storage = 1001}, -- [actionid], pos= aonde que leva, storage [2002] = {pos = {x=1000, y=1000, z=2}, storage = 1002}, [2003] = {pos = {x=1000, y=1000, z=3}, storage = 1003}, [2004] = {pos = {x=1000, y=1000, z=4}, storage = 1004}, [2005] = {pos = {x=1000, y=1000, z=5}, storage = 1005}, [2006] = {pos = {x=1000, y=1000, z=6}, storage = 1006}, } local ultimoTeleport = {x=1000, y=1000, z=7} -- ultimo teleport para aonde que leva function onStepIn(player, item, position, fromPosition)
  11. como você configurou? o script não roda ou da erro ?
  12. em movements/scripts.. adiciona aa tags, e coloca o actionid nos teleportes.
  13. testa isso aqui, não testei.. local config = { [2001] = {pos = {x=1000, y=1000, z=1}, storage = 1001}, -- [actionid], pos= aonde que leva, storage [2002] = {pos = {x=1000, y=1000, z=2}, storage = 1002}, [2003] = {pos = {x=1000, y=1000, z=3}, storage = 1003}, [2004] = {pos = {x=1000, y=1000, z=4}, storage = 1004}, [2005] = {pos = {x=1000, y=1000, z=5}, storage = 1005}, [2006] = {pos = {x=1000, y=1000, z=6}, storage = 1006}, } local ultimoTeleport = {x=1000, y=1000, z=7} -- ultimo teleport para aonde que leva function onStepIn(player, item, position, fromPosition) local t = c
  14. Não testei, e não lembro se math.random só retorna números inteiros. testa ae.. local items = { --id do item, quantidade, chance de ganhar [6527] = {quant = 1, chance = 0.1}, [8301] = {quant = 1, chance = 0.5}, -- deixa a chance nessa ordem, se quiser, altera a ordem dos item [8302] = {quant = 1, chance = 1} } function onUse(cid, item, frompos, item2, topos) if item.itemid == 10520 then local a = math.random(0, 1) for _, i in pairs(items) do if a <= i.chance then doPlayerAddItem(cid, _, i.quant) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo