Ir para conteúdo

GniusPlay

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    GniusPlay deu reputação a LeoTK em Limite de x item por conta   
    Fique atento então na hora de você fazer o pedido claramente você diz
    Por exemplo, ele só poderia ter na sua conta 5 pedras, se colocasse pra ter 6 pedra não teria como! "Na sua conta" significa verificação de 5 pedras por conta independente de quantos players tenha.... isso entra no caso de accountStorage como eu citei por exemplo o certo é 5 pedras por player sendo cid fique atento ao fazer os pedidos porque pequenos detalhes fazem a diferença no entendimento para cumprir os requisitos solicitados.
     
    Abraço que bom que conseguiu  
  2. Obrigado
    GniusPlay deu reputação a FlameArcixt em Limite de x item por conta   
    Tem q por no npc também, se não, ele vai vender com 5 item na bag, tem que por no trade pros players não trocarem.
  3. Obrigado
    GniusPlay deu reputação a FlameArcixt em Limite de x item por conta   
    @GniusPlay Depende, como esse item é adquirido? por comando ou oq?
     
    XML: 
    LUA:
     
  4. Haha
    GniusPlay deu reputação a Vodkart em Ativar script depois de 5 segundos   
    tile_storage = 876448 function doTeleportWithDelay(cid, pos, delay) -- by vodkart if not isCreature(cid) then return LUA_ERROR end if delay > 0 then if #getPlayersInArea(battleroyale.area) > 1 then setPlayerStorageValue(cid, tile_storage, -1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "{Battle Royale Teleport} O teletransporte foi desativado ainda existem pessoas na area.") return true end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "{Battle Royale Teleport} "..delay.." segundos para se teletransportar.") addEvent(doTeleportWithDelay, 1000, cid, pos, delay-1) else doTeleportThing(cid, pos) doSendMagicEffect(getPlayerPosition(cid), 10) local battlewin = 1 local item = doPlayerAddItem(cid, 5805, 1) doItemSetAttribute(item, "description", getCreatureName(cid).." conquistou este trofeu apos vencer uma partida no Battle Royale.") doBroadcastMessage(""..getCreatureName(cid).." Venceu o evento Battle Royale") doPlayerAddItem(cid,12618,1) doPlayerAddItem(cid,2152,30) addTopbattle(cid, battlewin) setPlayerStorageValue(cid, tile_storage, -1) end end function onStepIn(cid, item, position, fromPosition) local pos = {x = 1037, y = 1034, z = 7} local time = 5 -- segundos if #getPlayersInArea(battleroyale.area) > 1 then return true end if getPlayerStorageValue(cid, tile_storage) <= 0 then doTeleportWithDelay(cid, pos, time) setPlayerStorageValue(cid, tile_storage, 1) end return true end  
  5. Obrigado
    GniusPlay deu reputação a 139 em 0 Erro ao pokemon passar por cima de tile   
    function onStepIn(cid, item, position, fromPosition)
    if not isPlayer(cid) then return true end
        if getPlayerGuildId(cid) > 0 then
            doPlayerSendTextMessage(cid, 27, "Voce entrou, Guild "..getPlayerGuildName(cid)..".")
        else
            doPlayerSendTextMessage(cid, 27, "Desculpe,mais somente players que possuem guild pode entrar nessa area.")
            doTeleportThing(cid, fromPosition)
        end
    return true
    end
  6. Curtir
    GniusPlay deu reputação a Endless em (Resolvido)ERRO para criar guild no modern acc   
    Testa utilizando a seguinte alteração:

    Vai no diretório system/application/models/guilds_models.php e da ctrl+f em $sql = $this->db->get_where e troca a linha por esta abaixo:
     
    $sql = $this->db->get_where('players', array('online' => 0, 'rank_id' => 0, 'level >=' => $level, 'account_id' => $_SESSION['account_id']))->result();
    O código da função deve ficar assim:
     
    public function getCharactersAllowedToCreateGuild($level = 0) {         $characters = array();         $this->db->select('id, name, level');         $sql = $this->db->get_where('players', array('online' => 0, 'rank_id' => 0, 'level >=' => $level, 'account_id' => $_SESSION['account_id']))->result();         foreach($sql as $cmd) {             $characters[] = array('id'=>$cmd->id, 'name'=>$cmd->name,'level'=>$cmd->level);         }         return $characters;     }
    Eu não testei, e muito menos sei se vai funcionar, pois eu nunca trabalhei com Modern, até porque ele é bem antigo, principalmente em questão de sintaxe para funções no php, eu nem recomendaria ficar utilizando ele, se fosse para optar eu optaria por 1 MyAAC da vida ou o próprio Gesior AAC, ambos recebem atualizações constantes, o Znotee volta e meia recebe 1 que outra att. Mas eu acredito que deva funcionar, basicamente coloquei na condição para retornar os players que forem maiores ou iguais ao level necessário e não somente apenas os player com level igual. Testa ae.
    Aguardo retorno. Abraços!!
  7. Obrigado
    creaturescripts.xml:
     
    <event type="statschange" name="hpCheck" event="script" value="hpCheck.lua"/>
    creaturescripts/scripts/hpCheck.lua:

     
    local percentage = 50 local area1 = {x = x, y = y, z = z} -- canto superior esquerdo local area2 = {x = x, y = y, z = z} -- canto superior direito local area3 = {x = x, y = y, z = z} -- destino a ser teleportado local function getHpPercentage(cid) percent = 100 * getCreatureHealth(cid) / getCreatureMaxHealth(cid) percent = math.floor(percent) return(percent) end function onStatsChange(cid, attacker, type, combat, value) if type == STATSCHANGE_HEALTHLOSS then if getHpPercentage(cid) <= percentage then isInArea(getCreaturePosition(cid), area1, area2) then doTeleportThing(cid, area3, false) end end return true end
    e no seu login.lua registre o evento:
     
    registerCreatureEvent(cid, "hpCheck")  
  8. Obrigado
    GniusPlay deu reputação a ITALOx em {Evento} System Bomberman   
    Salve Tibiaking.
     
     
    Hoje trago um evento bomberman
     
    Ele é bem simples e para poketibia, estou postando pq o mesmo que comprou o sistema para DBO e o desenvolvedor deu pra ele de poketibia... então ele autorizou postar aqui. então vou deixar o download ai pra vocês usar :D 
     
     
    Explicação de algumas coisas: primeiro de tudo. o sistema não é do meu "gosto" e eu não sei como posso ajudar a configurar. se você entende um pouco de lua não vai precisar.. aos que não entende ver se alguém possa te ajudar aqui. :D
     
     
    Download:
    Bombermon.rar
     
    Scan: https://www.virustotal.com/gui/file/834e6b0fcd7d05c1e8eef9ce9d01033a68dd6a8a5bbbb63e88ba993b2410eb63/detection
     
    Bom uso para todos!
     
    Créditos:
    Marshmello - por desenvolver 
    Ivisson - Comprador e autor do evento.
    Eu por postar aqui.
     
    Vídeo de demonstração:
    Obs: creio que não é o mesmo que o cara que fez isso. possa ser diferente. não sei :D
     
     
  9. Obrigado
    GniusPlay deu reputação a Agaka em (Resolvido)Baú que dá irem com Action   
    @Gnius Não sei se você considerou ou não, mas quando um item com um actionid 'não fixo' é movido ele perde esse atributo.
    Mas caso tenha considerado e isso não te cause problema algum, aqui está:
     
    actions.xml
    <action actionid="ACTIONID" event="script" value="SEU ARQUIVO.lua"/> script do baú
    function onUse(cid, item, fromPosition, itemEx, toPosition) local storage = 88888888 -- Storage local item = 2160 -- itemID local actionValue = 1993 -- actionID if (getCreatureStorage(cid, storage) < 1) then doItemSetAttribute(doPlayerAddItem(cid, item, 1), "aid", actionValue) doCreatureSetStorage(cid, storage, 1) else doPlayerSendTextMessage(cid, 26, "Empty.") end return true end  
  10. Gostei
    GniusPlay deu reputação a Kemmlly em (Resolvido)Script que o player dobra o exp   
    arquivo /data/creaturescripts/scripts/double.lua
    function onLogin(cid) local storage = 998899 -- STORAGE QUE QUER USAR local xp = 2 -- QUANTIDADE QUE VAI MULTIPLICAR O XP if getPlayerStorageValue(cid, storage) == 1 then local rates = getPlayerRates(cid) doCreatureSay(cid, "Voce esta com o XP dobrado, aproveite!", TALKTYPE_ORANGE_1, true, cid) doPlayerSetExperienceRate(cid, rates[SKILL__LEVEL]*xp) end return true end tag /data/creaturescripts/creaturescripts.xml
    <event type="login" name="double" event="script" value="double.lua"/>  
  11. Gostei
    GniusPlay deu reputação a Doughell em [TalkAction] Scripts para PokeTIBIA   
    Olá a todos!
    Estou aqui para mostrar um script aonde será bem útil a servidores de Pokémon.
    Não é nada mais do quem um SHOP in-game.

    Como assim?
    Com estes 3 comandos será possível comprar Revives, Hyper Potions, Ultra Balls, trocar de nome pelo jogo e até mesmo comprar o Ditto.
    Detalhe o tipo de moeda que utilizei foi Small Diamonds, caso queria modificar leia passo a passo.
    Como se percebe, a maioria de servidores hoje em dia vende apenas estes items e outros, mais esses são os padrões.
    Chega de enrolação e vamos direto ao script.







    Changename Script:
    Primeiramente crie um arquivo em otserv/talkactions/scripts chamado changename.lua e adicione isso em seu arquivo.
    (Este script serve para modificar o nome do jogador pelo jogo).


    -- Creditos a Doughell function onSay(cid, words, param) local maxLen = 15 -- tamanho maximo do nome local itemid = 2145 ------ Numero do Item que ser&#225; removido local proibido = [{"!","@","*"}-- simbolos proibidos for i = 1, #proibido do if string.find(tostring(param), proibido[i]) then doPlayerSendCancel(cid,"[AUTO SHOP] You can not use symbols in their name.") return TRUE end end if tostring(param) == "" then -- checkar se n&#227;o &#233; nome vazio doPlayerSendCancel(cid, "[AUTO SHOP] Choose a name to make the change of his surname.") return TRUE end if string.len(tostring(param)) > maxLen then doPlayerSendCancel(cid, "[AUTO SHOP] You can use a maximum of " .. maxLen .. " letters.") return TRUE end if not getTilePzInfo(getCreaturePosition(cid)) then doPlayerSendCancel(cid,"[AUTO SHOP] Can only be used in Protection Zone.") return TRUE end if getPlayerItemCount(cid, itemid) >= 1 then doPlayerRemoveItem(cid, itemid, 5) db.executeQuery("UPDATE `players` SET `name` = '"..param.."' WHERE `id` = "..getPlayerGUID(cid)..";") doPlayerSendTextMessage(cid,25,"[AUTO SHOP] You will be logged out in 5 seconds for the changes to be made.") addEvent(doRemoveCreature, 5*1000, cid, true) else doPlayerSendCancel(cid,"[AUTO SHOP] You don't have " .. getItemNameById(itemid) .. " to make the purchase of changename.") end return TRUE end Agora em talkactions.xml adicione em Players: <talkaction words="!changename" event="script" value="changename.lua"/> -- Explicação do Script (Changename): local maxLen = 15 -- tamanho maximo do nome O número 15 e a quantidade máxima de caracteres que poderá ser utilizado na troca de nome. local itemid = 2145 ------ Numero do Item que será removido Este e o ID do item que será removido, no caso do 2145 e Small Diamonds (moeda principal do PokeXGames). Aconselho a usar Small Diamonds. local proibido = {"!","@","*"} -- simbolos proibidos Estes e os símbolos proibidos, caso queria adicionar mais faça o seguinte: {"!","@","*","?"} adicionando dessa seguinte maneira: ,"?"} Ditto Script: Crie um arquivo em otserv/talkactions/scripts com o nome de ditto2.lua e adicione isso em seu arquivo: (Este script serve para adicionar a caixa do Ditto no jogador). function onSay(cid,words,param) if doPlayerRemoveItem(cid,2145,10) == TRUE then doPlayerAddItem(cid,1738,1) doCreatureSay(cid,"[AUTO SHOP] You bought your Pokemon Ditto, it cost 10 diamonds.",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"[AUTO SHOP] You do not have two diamonds to make the purchase.",TALKTYPE_ORANGE_1) end end Agora em talkactions.xml adicione em Players: <talkaction words="!buyditto" event="script" value="ditto2.lua"/> A segunda parte do script você precisa ir otserv/actions/scripts crie um arquivo chamado ditto_.lua e adicione o seguinte: (Este script serve para o id da caixa ser usado para conseguir o Ditto) function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, 15215) <= 100 then doPlayerSendTextMessage(cid, 20,"[AUTO SHOP] Thank donations.") setPlayerStorageValue(cid, 15215, 1) local pox = getTownTemplePosition(1) local health = 325 local maxhealth = 325 local description = "Contains a Ditto." local poke1 = "This is Ditto's pokeball. HP = ["..health.."/"..maxhealth.."]" item = doCreateItemEx(2219) doItemSetAttribute(item, "poke", poke1) doItemSetAttribute(item, "nome", "Ditto") doItemSetAttribute(item, "apelido", "Ditto") doItemSetAttribute(item, "description", description) doPlayerAddItemEx(cid, item, true) doTransformItem(item, 2222) doPlayerSendTextMessage(cid, 27, "[AUTO SHOP] You just get the Pokemon Ditto.") doPlayerSendTextMessage(cid, 27, "Do not forget to donate this item has a cost of 10 diamonds, and you can not get this Pokemon through quests / npcs / catchs.") doTeleportThing(cid, pox) doSendMagicEffect(pox, 21) doPlayerAddSoul(cid, 1) doPlayerRemoveItem(cid,1738,1) setPlayerStorageValue(cid, 54842, "Ditto, ") return TRUE else doPlayerSendTextMessage(cid, 20, "Have you got this Pokemon.") end end Agora em actions.xml adicione: <action itemid="1738" event="script" value="ditto_.lua"/> -- Explicação do Script (Ditto): PARTE DAS TALKACTIONS if doPlayerRemoveItem(cid,2145,10) == TRUE then O número 2145 e o id da Small Diamonds, já o número 10 e a quantidade de Small Diamonds que precisa para comprar o Ditto. doPlayerAddItem(cid,1738,1) O número 1738 e o id da box, caso modificar este número modifique tambem em actions.xml! PARTE DAS ACTIONS doSendMagicEffect(pox, 21) O número 21 e o número do efeito que vai ser utilizado ao abrir a box, pode ser modificado em qual você preferir. doPlayerAddSoul(cid, 1) Será adicionado 1 de soul, como se fosse 1 de catch (dependendo de alguns servidores) se preferir retire a linha inteira. doPlayerRemoveItem(cid,1738,1) Este e o id da box, caso você muda-lá na talkactions, e na actions.xml mude aqui tambem. Kit Script: Crie um arquivo em otserv/talkactions/scripts chamado kit.lua e adicione isso dentro dele: (Este script serve para receber Revives, Ultra Balls e Hyper Potions). function onSay(cid,words,param) if doPlayerRemoveItem(cid,2145,2) == TRUE then doPlayerAddItem(cid,2269,100) doPlayerAddItem(cid,2275,100) doPlayerAddItem(cid,2146,100) doCreatureSay(cid,"[AUTO-SHOP]: You just buy ultra ball 100x, 100x revive and 100x hyper potion. All this will cost 2 diamonds!",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"[AUTO-SHOP]: You do not have two diamonds to make the purchase.",TALKTYPE_ORANGE_1) end end Agora em talkactions.xml adicione: <talkaction words="!buykit" event="script" value="kit.lua"/> -- Explicação do Script (Kit): if doPlayerRemoveItem(cid,2145,2) == TRUE then O id 2145 e o Small Diamonds e o número 2 e a quantidade que será retirada para a realização da compra do kit. doPlayerAddItem(cid,2269,100) O id 2269 e o da Ultra Ball e o número 100 e a quantidade que o player receberá de Ultra Balls. doPlayerAddItem(cid,2275,100) O id 2275 e o do Revive, e o número 100 e a quantidade que o player receberá de Revives. doPlayerAddItem(cid,2146,100) O id 2146 e o da Hyper Potion, e o número 100 e a quantidade que o player receberá de Hyper Potions. Bom, estes são os scripts prometido, mas se alguém quiser coloca outras talkactions como a !buykit vou colocar abaixo o que poderam usar de base: function onSay(cid,words,param) if doPlayerRemoveMoney(cid,10000) == TRUE then doPlayerAddItem(cid,2173,1) doCreatureSay(cid,"Mensagem que ele conseguiu comprar o item.",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"Mensagem quando n&#227;o possui dinheiro ou diamantes suficientes.",TALKTYPE_ORANGE_1) end end


    if doPlayerRemoveMoney(cid,10000) == TRUE then
    Essa função diz que irá remover 10k para comprar o item, se você quiser que remova outra coisa por exemplo um shield você adiciona a seguinte função no lugar dessa:

    doPlayerRemoveItem(cid,1738,1)
    ficando assim:
    doPlayerRemoveItem(cid,1738,1) = TRUE then
    O id do shield você modifica no 1738 e a quantidade no número 1.


    doPlayerAddItem(cid,2173,1)
    Esas função adiciona o item e a quantidade no jogador, exemplo:
    2173 e o ID do item, e o número 1 e a quantidade só modificar do seu gosto.

    O que você pode adicionar em um script?
    Efeitos, para adicionar um efeito basta colocar essa função:

    doSendMagicEffect(getThingPos(cid), 132)
    O número 132 e o número do efeito, para pesquisar mais procure pelo jogo no GOD o seguinte:
    /z 1, /z 2, /z 3 até o seu limite.


    É isso ai galera, qualquer dúvida postem ou dêem sujestões!
    Detalhe: as cores nos scripts foram retiradas por bug, em outra hora adicionarei novamente!

Informação Importante

Confirmação de Termo