Ir para conteúdo

Beeki

Herói
  • Total de itens

    1900
  • Registro em

  • Última visita

  • Dias Ganhos

    13

Tudo que Beeki postou

  1. Olá amigos, vim lhes trazer um sistema feito pelo nosso querido Administrador Gustavo. Antes de tudo execute este comando no seu banco de dados. CREATE TABLE IF NOT EXISTS `respects` ( `id` int(11) NOT NULL AUTO_INCREMENT, `to_pid` int(11) NOT NULL, `from_pid` int(11) NOT NULL, `time` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; Logo após, crie um novo script em data/talkactions com o nome de respect, e insira o seguinte código. --[[ by Gustavo from Xtibia.com to (Precisa estar online) from (Ser level 125+) !respect surtado ==]] function onSay(cid, words, param, channel) --local param = local param = string.lower(param) --local fromPid = cid if(param == "") then --doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need to write a player name.") doPlayerSendCancel(cid, "You have ".. getPlayerRespects(getPlayerGUID(cid)).." respect(s).") --doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return true end -- cid to is online? local pid = getPlayerByName(param) if not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(cid) < getPlayerGhostAccess(pid)) then doPlayerSendCancel(cid, "Player must be online.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return true end -- cid from has level 125? if(getPlayerLevel(cid) < 125) then doPlayerSendCancel(cid, "You must have level 125 to give respect!") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return true end local toPid = getPlayerGUID(pid) local fromPid = getPlayerGUID(cid) -- cid from has level 125? if(toPid == fromPid) then doPlayerSendCancel(cid, "You are so humble!! You cannot give respect to yourself. ") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return true end -- ja tem respect? Se sim, tira. Se nao, coloca local idRespect = getPlayerRespect(toPid, fromPid) if(idRespect > 0) then removeRespect(idRespect) doSendAnimatedText(getPlayerPosition(pid), "-1 Resp", TEXTCOLOR_RED) doPlayerSendCancel(cid, "You remove your respect from "..param.."") else addRespect(toPid, fromPid) doSendAnimatedText(getPlayerPosition(pid), "+1 Resp", TEXTCOLOR_YELLOW) doPlayerSendCancel(cid, "You give your respect to "..param.."") return true end end Talkactions.xml <talkaction words="!respect;/respect" event="script" value="respect.lua"/> Em seguida... Crie um arquivo com o nome respect_system em data/creaturescripts, e insira o seguinte código. function onLook(cid, thing, position, lookDistance) if(isPlayer(thing.uid)) then doPlayerSetSpecialDescription(thing.uid,' [Respect: '..getPlayerRespects(getPlayerGUID(thing.uid))..']') end return true end Creaturescripts.xml <event type="look" name="respectLook" event="script" value="respect_system.lua"/> --> Para terminar é só inserir em seu servidor essas novas libs. function getPlayerRespect(toPid, fromPid) local Info = db.getResult("SELECT `id` FROM `respects` WHERE `to_pid` = " .. toPid .. " and `from_pid` = " .. fromPid .. " LIMIT 1") if Info:getID() ~= -1 then local id = Info:getDataInt("id") Info:free() return id end return 0 end function getPlayerRespects(toPid) local Info = db.getResult("SELECT count(id) as id FROM `respects` WHERE `to_pid` = " .. toPid .. " LIMIT 1") if Info:getID() ~= LUA_ERROR then local id = Info:getDataInt("id") Info:free() return id end return LUA_ERROR end function removeRespect(idRespect) db.executeQuery("DELETE FROM `respects` WHERE `id` = " .. idRespect .. "") end function addRespect(toPid, fromPid) db.executeQuery("INSERT INTO `respects` (to_pid, from_pid,time) VALUES (" .. toPid .. ", " .. fromPid .. ", " .. os.time() .. ")") end Créditos: Gustavo XTibia, Demonbholder.
  2. é necessário inserir as novas tabelas do website se a caso der algum erro.
  3. This is script work on tfs 0.4 version, --- Perfect refine system by Mock the bear (MTB). --- Email: <a href="mailto:mock_#####@hotmail.com">mock_#####@hotmail.com</a> -- &a = weapon attack -- &d = weapon defense -- &s = shield defense -- &p = armor defense -- # = nivel do item -- @ = max level local gain = { gainArmor='&p+(1)',loseArmor='&p-(1)', gainShield='&s+#',loseShield='&s-(#+1)', gainAttack='&a+(1*(#))',loseAttack='&a-(1*(#+1))', gainDefense='&d+(1*(#))',loseDefense='&d-(1*(#+1))', chance='(100/math.sqrt((((@/4)+(#*2))/@)*#))', maxlvl = 5, blocked_ids = {8881},{2128} } local it = { --[itemid] = [percent] [8303] = 0, -- 0% additional [8302] = 50, -- 50% } if not setItemName then function setItemName(uid,name) return doItemSetAttribute(uid,'name',name) end function setItemArmor(uid,name) return doItemSetAttribute(uid,'armor',name) end function setItemDefense(uid,name) return doItemSetAttribute(uid,'defense',name) end function setItemAttack(uid,name) return doItemSetAttribute(uid,'attack',name) end function getItemAttack(uid) return getItemAttribute(uid,'attack') end function getItemDefense(uid) return getItemAttribute(uid,'defense') end function getItemArmor(uid) if type(uid) == 'number' then return getItemAttribute(uid,'armor') else return getItemInfo(uid.itemid).armor end end end local function isArmor(uid) -- Function by Mock the bear. if (getItemInfo(uid.itemid).armor ~= 0) and (getItemWeaponType(uid.uid) == 0) then return true end return false end local function isWeapon(uid) -- Function by Mock the bear. uid = uid or 0 local f = getItemWeaponType(uid) if f == 1 or f == 2 or f == 3 then return true end return false end local function isShield(uid) -- Function by Mock the bear. uid = uid or 0 if getItemWeaponType(uid) == 4 then return true end return false end local function isBow(uid) -- Function by Mock the bear. uid = uid or 0 if getItemWeaponType(uid) == 5 then return true end return false end local function getWeaponLevel(uid) -- Function by Mock the bear. uid = uid or 0 local name = getItemName(uid.uid) or getItemInfo(uid.itemid).name or '' local lvl = string.match(name,'%s%+(%d+)%s*') return tonumber(lvl) or 0 end local function doTransform(s,i) -- Function by Mock the bear. local c = string.gsub(s,'@',gain.maxlvl) local c = string.gsub(c,'&a',(getItemAttack(i.uid) ~= 0 and getItemAttack(i.uid) or getItemInfo(i.itemid).attack)) local c = string.gsub(c,'&d',(getItemDefense(i.uid) ~= 0 and getItemDefense(i.uid) or getItemInfo(i.itemid).defense)) local c = string.gsub(c,'&s',(getItemDefense(i.uid) ~= 0 and getItemDefense(i.uid) or getItemInfo(i.itemid).defense)) local c = string.gsub(c,'&p',(getItemArmor(i.uid) ~= 0 and getItemArmor(i.uid) or getItemInfo(i.itemid).armor)) local c = string.gsub(c,'#',getWeaponLevel(i)) local q = assert(loadstring('return '..c)) return math.floor(assert(q())) end function onUse(cid, item, fromPosition, itemEx, toPosition) if item.uid == 0 or item.itemid == 0 then return false end toPosition.stackpos = 255 if isInArray(gain.blocked_ids, itemEx.itemid) or (not getItemWeaponType(itemEx.uid) or getItemWeaponType(itemEx.uid) > 5) or (getItemWeaponType(itemEx.uid) == 0 and not isArmor(itemEx)) or itemEx.itemid == 0 or itemEx.type > 1 or isItemStackable(itemEx.uid) then doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"You cant refine this item.") return TRUE end if isCreature(itemEx.uid) == TRUE then return FALSE end local level = getWeaponLevel(itemEx) local chance = doTransform(gain.chance,itemEx) if level == gain.maxlvl then doSendMagicEffect(toPosition, 2) return doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"Your item is on max level, you can't upgrade it.") end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,"Trying refine with "..(chance+it[item.itemid] > 100 and 100 or chance+it[item.itemid]).."% of sucess!") if chance+it[item.itemid] >= math.random(0,100) then local nm = getItemName(itemEx.uid) local slot = nm:match('(%[.+%])') or '' ---If you server use slot system dont change it ^^ slot = slot~='' and ' '..slot or slot setItemName(itemEx.uid, getItemNameById(itemEx.itemid)..' +'..(level+1)..slot) addEvent(doPlayerSendTextMessage,500,cid,MESSAGE_INFO_DESCR,"Your item has been upgrated to +"..(level+1)..slot..".") doSendMagicEffect(toPosition, 12) if isArmor(itemEx) then local get = doTransform(gain.gainArmor,itemEx) setItemArmor(itemEx.uid,get) elseif isBow(itemEx.uid) then setItemAttack(itemEx.uid, doTransform(gain.gainAttack,itemEx)) elseif isWeapon(itemEx.uid) then setItemAttack(itemEx.uid, doTransform(gain.gainAttack,itemEx)) setItemDefense(itemEx.uid, doTransform(gain.gainDefense,itemEx)) elseif isShield(itemEx.uid) then setItemDefense(itemEx.uid, doTransform(gain.gainShield,itemEx)) end else if level == 0 then addEvent(doPlayerSendTextMessage,500,cid,MESSAGE_INFO_DESCR,"No effect.") doSendMagicEffect(toPosition, 2) elseif level > 0 then local nm = getItemName(itemEx.uid) local slot = nm:match('(%[.+%])') or '' ---If you server use slot system dont change it ^^ slot = slot~='' and ' '..slot or slot if level == 1 then setItemName(itemEx.uid, getItemNameById(itemEx.itemid)..slot) addEvent(doPlayerSendTextMessage,500,cid,MESSAGE_INFO_DESCR,"Your item back to normal.") else setItemName(itemEx.uid, getItemNameById(itemEx.itemid)..' +'..(level-1)..slot) addEvent(doPlayerSendTextMessage,500,cid,MESSAGE_INFO_DESCR,"Your item back to +"..(level-1)..slot..".") end if isArmor(itemEx) then setItemArmor(itemEx.uid,doTransform(gain.loseArmor ,itemEx)) elseif isWeapon(itemEx.uid) then setItemAttack(itemEx.uid, doTransform(gain.loseAttack,itemEx)) setItemDefense(itemEx.uid, doTransform(gain.loseDefense,itemEx)) elseif isBow(itemEx.uid) then setItemAttack(itemEx.uid, doTransform(gain.loseAttack,itemEx)) elseif isShield(itemEx.uid) then setItemDefense(itemEx.uid, doTransform(gain.loseShield,itemEx)) end end doSendMagicEffect(toPosition, 9) end doRemoveItem(item.uid,1) return true end
  4. 1: Você usa o SSH Cliente. 2: Você usa o FileZilla cliente. 3: você usa o comando ./autogen.sh depois ./configure --enable-mysq, e depois digita make. 4: para fechar seu servidor, digite o comando ps - aux, depois procure pelo processo do seu tfs e de acordo com o numero do mesmo, digite kill -9 22464 5: para transferir a database, é só por ela numa pasta de sua escolha no dedicado e digitar o seguinte comando. mysql -uroot -p NOME DA DB < local/nome.sql
  5. Amigo, aqui não é um "mercado" onde as pessoas vendem seu conteúdo, para isso procure a pessoa privadamente. Reportado.
  6. Faça o backup do seu banco de dados. Insira o TFS 9.10 no seu servidor, atualizando juntamento as libs e scripts, e depois só iniciar, se tiver alguma tabela/coluna nova o próprio tfs a introduz. Abraços.
  7. Fala Anyur beleza? gostei muito da sua discussão parabéns, estarei movendo ela para o Portal XTibia. Abraços.
  8. OneShot, respondendo sua pergunta. Cara é assim, como o SkyD falou quem já sabe não vai querer compartilhar né? isso é defeito de brasileiro. Não é que a nova geração não está querendo aprender, é que não tem que nos ensine, eu mesmo já tentei dominar a .LUA mas sem um tutor ao lado para sanar minhas dúvidas complica tudo e sempre acabo desistindo, maioria dos que já dominam a linguagem lua Open Tibia me respondem o seguinte quando eu peço ajuda, "Aah cara estou ocupado", "Cara não tenho paciência para ensinar". Creio eu que o único problema é esse. Falta de suporte para os iniciantes. Abraços.
  9. situação difícil essa, quem ta errado?
  10. Roda sim, pode ser algum erro de compilação, tenta usar outro distro.
  11. Seu banco de dados é o que? em mysql ou sqlite? Se for em mysql logue no seu PhpMyAdmin, vá até o seu banco de dados clique em SQL e cole a função la dentro e execute.
  12. WOW, muito bom o script, vai liberar pra galera? @Tópic Movido para OTMedia, da próxima já sabe a sessão né? Abraços amigo =)
  13. Olá XTibiano, Sua noticia foi reprovada. Abraços.
  14. Beeki

    [Pedido] Onlogin Voc Vip

    HAHA, ótimo amingo. VLW resputado.
  15. Pelo que vi usaram como base o mapa Azeroth e só adicionaram uma nova city, estou certo?
  16. ótimo sistema, porém não vou usar por que eu acho meio estranho por talkactions. Um casamento sem padre? kkk. RESPUTADO.
  17. Fala queri amigos scripters. Bem eu queria script que adiciona as vocações épicas aos jogadores que são Premium ( isPremium ). Eu tentei fazer aqui só que não consegui, tipo se o cara é premmy sem promotion oscript adicionava a voc vip porém quando vip acabava o char não voltava vocation por que não tinha promotion, tenso =( Ta aqui as vocações épicas. http://pastebin.com/0yD4Fa7W Desde já agradeço.
  18. Cara isso só são warnings, não atrapalha em nada. Poem pra compilar novamente que vai normal.
  19. Isso já tem nas versões atuais do tfs 8.7 +
  20. Beeki

    Ot De Luta 8.1

    @up por acaso você conferiu a data de postagem do tópico?
  21. Fala gato beleza? kkk Então... você pode me ajudar nums scripts pro meu server? =) qualquer dia desses entra no msn pra agente bater um papo. KK
  22. HAHA, valeu pessoal. @Jhon é bom você da uma olhada, pra você que é scripter tem muitas funções novas que devem ser estudadas.
  23. PS: Eu só falei que nem todas as mulheres que se vestem vulgarmente são vadias, umas sim outras não.
  • Quem Está Navegando   0 membros estão online

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