Ir para conteúdo

caotic

Infante
  • Total de itens

    1599
  • Registro em

  • Última visita

  • Dias Ganhos

    7

Tudo que caotic postou

  1. Sei la velho. Acho que vai funcionar 8.54. Tenta ai.
  2. Sim. Ele ta bem limitadinho como eu disse. Pretendo fazer uma versão melhor
  3. Vamos ler a as regras HeelSpy. Esta seção serve para postar scripts. Tópico Movido a PEDIDOS E DUVIDAS DE SCRIPTS
  4. Olha o flood meu amigo. Leia as Regras
  5. Os scripts do luckOake são muito bem elaborados. A única coisa que não entendo. E essa paixão que o luck tem com MODS.
  6. Ola pessoal do ekstibiana. Versões para cima de 9.x foi retirado o sistema de banimento que e muito necessario em ots. Então resolvi desenvolver uma versão "beta" para vocês O sistema ta bem limitadinho mais e funcional. Para banir uma pessoa diga /ban(nome da pessoa,dias,comentario) depois a personagem sera banida e seu ip sera banido. Para ver a lista de banidos fale /banidos Limitações do sistema Vamos a instalar o sistema. GO! Execute o seguinte comando na sua database: CREATE TABLE "ban" ( "player" INT NOT NULL, "ip" INT NOT NULL, "time" INT NOT NULL ); Agora vá em lib e crie um arquivo lua chamado de ban e coloque isto: function doPlayerBan(cid, time, coment) exhaustion.set(cid, 24546, time*3600*24*1000) db.executeQuery("INSERT INTO `ban` VALUES (".. getPlayerGUID(cid) ..", ".. getPlayerIp(cid) ..", ".. time ..")") setPlayerStorageValue(cid, 42622, tostring(coment)) doBroadcastMessage(""..getPlayerName(cid).." foi banido em "..time.." dia(s) por "..coment.."") end function getPlayerBan(cid) return exhaustion.check(cid, 24546) end function getPlayerIPbyBan(cid) local ban = db.getResult("SELECT * FROM `ban` WHERE `player` = ".. getPlayerGUID(cid) ..";") return ban:getDataInt("ip") end function getBanTimeByIp(cid) local ban = db.getResult("SELECT * FROM `ban` WHERE `ip` = ".. getPlayerIp(cid) ..";") return ban:getDataInt("time") end function getPlayerBanDb(cid) local ban = db.getResult("SELECT * FROM `ban` WHERE `player` = ".. getPlayerGUID(cid) ..";") if ban:getID() == -1 then return true end return false end function getPlayerBanIpDb(cid) local ban = db.getResult("SELECT * FROM `ban` WHERE `ip` = ".. getPlayerIp(cid) ..";") if ban:getID() == -1 then return true end return false end function getPlayerTimeBan(cid) local ban = db.getResult("SELECT * FROM `ban` WHERE `player` = ".. getPlayerGUID(cid) ..";") return ban:getDataInt("time") end function getPlayerIpBan(cid) local ban = db.getResult("SELECT * FROM `ban` WHERE `player` ORDER BY `time`") if ban:getID() == -1 then return false end while true do local ips = ban:getDataInt("ip") if getPlayerIp(cid) == ips then return true end if not ban:next() then return false end end end function doShowTextBans(cid) local ban = db.getResult("SELECT * FROM `ban` WHERE `player` ORDER BY `time`") str = "Players Banidos:\n\n" if ban:getID() == -1 then doShowTextDialog(cid, 1387, "Não existe nenhum player Banido") return true end while true do local name = ban:getDataInt("player") local time = ban:getDataInt("time") local player = getPlayerNameByGUID(name) str = str .. player .. " - Banido por "..time.." dia(s) \n\n" if not ban:next() then doShowTextDialog(cid, 1397, str) break end end end function doShowTextBansForGroupUp(cid) local ban = db.getResult("SELECT * FROM `ban` WHERE `player` ORDER BY `time`") str = "Players Banidos:\n\n" if ban:getID() == -1 then doShowTextDialog(cid, 1387, "Não existe nenhum player Banido") return true end while true do local name = ban:getDataInt("player") local time = ban:getDataInt("time") local ip = ban:getDataInt("ip") local player = getPlayerNameByGUID(name) local ip = doConvertIntegerToIp(ip) str = str .. player .. " - Banido por "..time.." dia(s) Ip "..ip.." \n\n" if not ban:next() then doShowTextDialog(cid, 1397, str) break end end end Agora vá em talkactions e crie um arquivo lua chamado de ban e coloque este codigo: function onSay(cid, words, param, channel) local t = string.explode(param, ",") if param == " " or param == "" or not param or isNumeric(param) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Coloque o nome do player dizendo /ban(nome do player,dias de ban,por que ele foi banido)") end if t[2] == " " or t[2] == "" or not t[2] then return doPlayerSendCancel(cid, "Coloque os dias de ban para o player dizendo /ban(nome do player,dias de ban,por que ele foi banido)") end if t[3] == " " or t[3] == "" or not t[3] then return doPlayerSendCancel(cid, "Coloque os comentarios do player dizendo /ban(nome do player,dias de ban,por que ele foi banido)") end local player = getPlayerByNameWildcard(t[1], false) if not player then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este player "..t[1].." não existe") end doPlayerBan(player, t[2], t[3]) doRemoveCreature(player) return true end Continue em talkactions e crie outra arquivo lua chamado de banidos: function onSay(cid, words, param, channel) if getPlayerGroupId(cid) >= 3 then return doShowTextBansForGroupUp(cid) end doShowTextBans(cid) return true end Coloque as seguintes tags em talkactions.xml: Agora vá em creaturescripts e crie um arquivo lua chamado de ban e coloque isto: function onLogin(cid) if getPlayerBan(cid) then doPlayerPopupFYI(cid, "Você esta banido") return addEvent(doRemoveCreature, 180, cid) end if getPlayerIpBan(cid) then doPlayerPopupFYI(cid, "Foi dectado um ip banido character banido") return addEvent(doRemoveCreature, 180, cid) end return true end Registre o evento em login.lua colocando isto antes do ultimo RETURN: registerCreatureEvent(cid, "ban") Terminado coloque esta tag em creaturescripts.xml:
  7. Tirando os ultimos bugs do banimento system para servidor 9.x
  8. Pelo que Caotic me disse, ele pega a partir do 8.2. Pelo que eu disse? Bem eu testei em 9.1. Acredito eu que vai pegar em 8.6
  9. Eu também me incomodo com os comentários. Na hora de refazer o script fica mais difícil a organização.
  10. caotic

    Alok LF

    Gogo Prezyoso. Começa a banir Ehauheuaheuaheuahe'
  11. Exatamente isso xD Poderia ter usado getTileThingByPos(pos). Mais seria a mesma coisa
  12. caotic

    /i limitado

    E só pegar o script do skymagmun e modificar: function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você deve digitar /i nome do item, quantidade(opcional, se for stackable criara 100).") return true end local t = string.explode(param, ",") local ret = RETURNVALUE_NOERROR local pos = getCreaturePosition(cid) local allowedPlayers = {"[ADM] Castiel", "[GOD] Dean"} local blockedIds = {2150, 2159} local arq = 'createItemLogs.txt' local file = io.open("data/logs/".. arq, "a") local id = tonumber(t[1]) if(not id) then id = getItemIdByName(t[1], false) if(not id) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Esse item não existe.") return true end end if not isInArray(blockedIds, tonumber(t[1])) and not isInArray(allowedPlayers, getCreatureName(cid)) then doPlayerSendTextMessage(cid, 27, "Você não pode criar este item um registro foi mandado para o hoster.") file:write("[" .. os.date("%d %B %Y %X ", os.time()) .. "] " .. getCreatureName(cid) .. " tentou criar um item proibido ID(" .. t[1] .. ")\n") return false end local amount = 100 if(t[2]) then amount = t[2] end local item = doCreateItemEx(id, amount) if(t[3] and getBooleanFromString(t[3])) then if(t[4] and getBooleanFromString(t[4])) then pos = getCreatureLookPosition(cid) end ret = doTileAddItemEx(pos, item) else ret = doPlayerAddItemEx(cid, item, true) end if(ret ~= RETURNVALUE_NOERROR) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Não foi possível adicionar o item: " .. t[1]) return true end doDecayItem(item) if(not isPlayerGhost(cid)) then doSendMagicEffect(pos, CONST_ME_MAGIC_RED) end return true end
  13. Coisas inuteis. Coisas Inúteis? Pelo que eu entendi do pedido ele quer um item que ao dar use with(tipo de runa) no player ele receba uma nova vocação. Não estou falando do pedido, e sim da maneira que você criou ele. Você criou uma checagem para ver se é um player, mas na verdade é uma action, e outras criaturas não executam actions. Você deveria ter pensado nisso. Já que estamos falando de coisas inúteis. Já que retornei false. E a mensagem: doPlayerSendCancel(cid, "Use a runa em você") Não sera exibida. 1 - Se quisesse diminuir o script poderia colocar um "and" na verificação mais seria com uma mensagem única. 2 - Não fui mal educado com nosso colega mais todos os usuários querem tudo de "mão beijada"
  14. Coisas inuteis. Coisas Inúteis? Pelo que eu entendi do pedido ele quer um item que ao dar use with(tipo de runa) no player ele receba uma nova vocação.
  15. Vou ser sincero. Ele saiu da equipe por inveja e idiotice. Só porque o Yan foi promovido ele ficou de "mimi". Prezyoso você sonhava com a moderação mais não fazia nada. No começo era um membro "bom" depois viro um desgosto. Enfim. Fez bem em sair da equipe ;d.
  16. @jhonatanp Explicar o que? @Roksas Seu script não ira funcionar.
  17. OneShot só da para adicionar skill né?
  18. Tá em Área Incorreta. Tire suas duvidas de c++ em pedidos e duvidas de programação.
  19. local voca = 12 -- Mude para a vocação que quiser function onUse(cid, item, frompos, item2, topos) if not isPlayer(item2.uid) then doPlayerSendCancel(cid, "Isto não e um player") return false end if getCreatureName(item2.uid) ~= getCreatureName(cid) then doPlayerSendCancel(cid, "Use a runa em você") return false end doPlayerSetVocation(cid, voca) doRemoveItem(item.uid) return true end
  20. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  21. Obrigados a todos. Enfim Só para lembrar para executar os comandos da database e só ir no sql editor e colocar estes comandos do tópico.
  22. caotic

    Talkaction !mission

    Opa PiabetaMan01 não e necessário o fechamento do tópico se ela for resolvida. nbb147 Eu estava fazendo seu script mais o slicer foi mais rápido. De qualquer jeito também estarei disponibilizando: Em msg e mensagem que irá aparecer. Em st e a storage. E value o valor da storage. local str = { {msg = "Esta na 1 missão", st = 11110, value = 1}, {msg = "Esta na 2 missão", st = 11112, value = 1}, {msg = "Esta na 3 missão", st = 21212, value = 2} } function onSay(cid, words, param) function getValuers() k = 0 while #str > k do k = k+1 if getPlayerStorageValue(cid, str[k].st) == str[k].value then break end end return str[k].msg end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getValuers()) return true end
  23. Ola galerinha do xtibiana. Vocês lembram do shopping system beta? Bem o shopping system beta foi um sistema criado por min a um tempinho. O link da versão beta é: http://www.xtibia.co...demo-by-caotic/ Os players podiam vender e comprar itens de forma rápida e pratica só que na versão demo ele tinha limitações então resolvi fazer a versão 1.0 com mais funções. Ele funciona da seguinte maneira: O player vende seu item no shopping depois outro player resolve ver o shopping e acaba comprando o item. Quando o player vendedor estiver online ele recebera a mensagem dizendo que o seu item foi vendido e ele recebera o money da compra. Na versão 1.0 do shopping system foi adicionado: Vamos a instalação. Primeiro execute estes comandos na sua database: CREATE TABLE "shop" ( "item" INT NOT NULL, "price" INT NOT NULL, "players" INT NOT NULL ); ALTER TABLE `players` ADD `shop` INT(15) NOT NULL DEFAULT 0 Agora va em lib e crie um arquivo lua chamado shop e coloque isto: function doPlayerAddItemInShop(cid, itemid, price) db.executeQuery("INSERT INTO `shop` VALUES (".. itemid ..", ".. price ..", ".. getPlayerGUID(cid) ..")") return true end function getItemPriceInShop(itemid) local shop = db.getResult("SELECT * FROM `shop` WHERE `item` = ".. itemid ..";") return shop:getDataInt("price") end function getItemPlayerInShop(itemid) local shop = db.getResult("SELECT * FROM `shop` WHERE `item` = ".. itemid ..";") return shop:getDataInt("players") end function getExistItemInShop(itemid) local shop = db.getResult("SELECT * FROM `shop` WHERE `item` = ".. itemid ..";") if shop:getID() ~= -1 then return true end return nil end function getExistItemPlayerInShop(player, itemid) local shop = db.getResult("SELECT * FROM `shop` WHERE `players` = ".. player .." and `item` = ".. itemid ..";") if shop:getID() ~= -1 then return true end return nil end function doPlayerBuyItemInShop(cid, itemid, player) doPlayerAddItem(cid, itemid) doPlayerRemoveMoney(cid, getItemPriceInShop(itemid)) db.executeQuery("UPDATE `players` SET `shop` = "..getItemPriceInShop(itemid).." WHERE `id` = "..getItemPlayerInShop(itemid)) db.executeQuery("DELETE FROM `shop` WHERE `players` = ".. player .." and `item` = ".. itemid ..";") end function getMoneyGainInShop(cid) local money = db.getResult("SELECT `shop` FROM `players` WHERE `id` = "..getPlayerGUID(cid)) return money:getDataInt("shop") end function setMoneyGainInShop(cid, money) db.executeQuery("UPDATE `players` SET `shop` = "..money.." WHERE `id` = "..getPlayerGUID(cid)) end function doShowListShop(cid) local item = db.getResult("SELECT * FROM `shop` WHERE `item` ORDER BY `price`") str = "Itens a venda no shopping:\n\n" if item:getID() == -1 then doShowTextDialog(cid, 1387, "Não ha itens disponiveis no shopping\n Não existe itens no shopping!") return true end while true do local list = item:getDataInt("item") local players = item:getDataInt("players") local price = item:getDataInt("price") local shops = "Itens em Shopping" local list = string.upper(getItemNameById(list)) local players = getPlayerNameByGUID(players) str = str .. list .. " -("..players..")- Preço ("..price..")]\n\n" if not item:next() then doShowTextDialog(cid, 1397, str) break end end end Agora vá em talkactions/script e crie um arquivo lua chamado list e coloque este codigo: function onSay(cid, words, param, channel) doShowListShop(cid) return true end Agora vá em talkactions denovo crie um arquivo lua chamado de shop e coloque isto: function onSay(cid, words, param, channel) if param == " " or param == "" or not param then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Coloque o id do item") end local t = string.explode(param, ",") if not t[1] then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Coloque o id do item") end if not t[2] then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Coloque o preço do item") end if(isNumeric(t[1])) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Coloque o nome do item") end if not (isNumeric(t[2])) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Coloque O PREÇO DO ITEM") end if not getItemIdByName(t[1], false) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este item "..t[1].." não existe") end local item = getItemIdByName(t[1]) local price = t[2] if getPlayerItemCount(cid, item) < 1 then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não tem "..t[1].."") end if getExistItemPlayerInShop(getPlayerGUID(cid), item) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você já pos este item no shop") end doPlayerRemoveItem(cid, item, 1) doPlayerAddItemInShop(cid, item, price) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você colocou no shopping o seu item "..t[1].."") return true end Agora continue em talkactions e crie um arquivo lua chamado de comprar e coloque isto: function onSay(cid, words, param, channel) if param == " " or param == "" or not param or isNumeric(param) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Coloque o nome do item dizendo /compra(nome do item,nome do player)") end local t = string.explode(param, ",") if not getItemIdByName(t[1], false) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este item "..t[1].." não existe") end local itemid = getItemIdByName(t[1]) local player = getPlayerGUIDByName(t[2]) if not getExistItemInShop(itemid) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este item não existe no shopping") end if t[2] == " " or t[2] == "" or isNumeric(t[2]) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Coloque o nome do vendendor dizendo /compra(nome do item,nome do player)") end if not doPlayerRemoveMoney(cid, getItemPriceInShop(itemid)) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não tem "..getItemPriceInShop(itemid).." para comprar "..t[1].." do shopping") end if not player then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Não existe nenhum item com o nome deste player.") end doPlayerBuyItemInShop(cid, itemid, player) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabens você comprou "..t[1].."") return true end Agora coloque estas tags em talkactions.xml: Agora vá em creaturescripts/scripts e crie um arquivo lua chamado de shop: function onThink(cid, interval) if getMoneyGainInShop(cid) > 0 then doPlayerAddMoney(cid, getMoneyGainInShop(cid)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Seu itens foi vendidos você recebeu "..getMoneyGainInShop(cid).." money") setMoneyGainInShop(cid, 0) return true end return true end Registre o evento colocando em login.lua de creaturescripts e coloque isto antes do ultimo return: registerCreatureEvent(cid, "shop") Agora vá em creaturescrips.xml e coloque esta tag: E prontinho sistema instalado Comandos
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...