Ir para conteúdo

9k22

Membro
  • Registro em

  • Última visita

Tudo que 9k22 postou

  1. 9k22 postou uma resposta no tópico em Suporte Tibia OTServer
    Olhe esse tópico: http://tibiaking.com/forum/topic/11853-gesior-colocando-itens-a-venda-no-shop/
  2. Nome: Married System Versão: 8.70 Executavel testado: Crystal server V1.0 Bem, esse script eu fiz no meu projeto, arrumei ele completo para funcionar perfeitamente sem nenhum bug no 8.70, claro que consegui. Em data/npc crie um arquivo .xml e adicione: <?xml version="1.0" encoding="UTF-8"?> <npc name="Priest" script="data/npc/scripts/NOME_SCRIPT_NO_LUA.lua" walkinterval="0" floorchange="0"> <health now="200" max="200"/> <look type="57" head="20" body="30" legs="40" feet="50"/> </npc> Agora em data/npc/scripts crie um arquivo .lua e adicione: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, 'marry') or msgcontains(msg, 'marriage') then if getPlayerStorageValue(cid,3066) == -1 then selfSay('Would you like to get married?', cid) talkState[talkUser] = 1 elseif getPlayerStorageValue(cid,3066) == 1 then local fid = getPlayerGUID(cid) local marrystatus = getOwnMarryStatus(fid) if marrystatus ~= 0 then local newpartner = getPlayerNameByGUID(marrystatus) selfSay('You already set a wedding date with {' .. newpartner .. '}, now I must talk to your partner. Do you want to {cancel} it?', cid) talkState[talkUser] = 5 else setPlayerStorageValue(cid,3066,-1) selfSay('Would you like to get married?', cid) talkState[talkUser] = 1 end elseif getPlayerStorageValue(cid,3066) == 2 then selfSay('You are already married. If you want to {divorce}, just say it.', cid) talkState[talkUser] = 0 end elseif msgcontains(msg, 'divorce') then if getPlayerStorageValue(cid,3066) == 2 then selfSay('Would you like to divorce of your partner?', cid) talkState[talkUser] = 6 else selfSay('You are not married. If you want to get married, just say {marry}.', cid) talkState[talkUser] = 0 end end if talkState[talkUser] == 1 then if msgcontains(msg, 'yes') then local fid = getPlayerGUID(cid) local marrystatus = getMarryStatus(fid) if marrystatus == FALSE then selfSay('And what\'s the name of your future partner?', cid) talkState[talkUser] = 2 else local marryname = getPlayerNameByGUID(marrystatus) selfSay('{' .. marryname .. '} has set a wedding date with you. Do you want to {proceed} or {cancel} the wedding?', cid) talkState[talkUser] = 4 end end elseif talkState[talkUser] == 2 then local p = msg local player = getPlayerName(cid) local fid = getPlayerGUID(cid) local sid = getPlayerGUIDByName(p) if sid == 0 then selfSay('A player with that name does not exists.', cid) talkState[talkUser] = 0 elseif sid == fid then selfSay('Don\'t worry, you will always be married with yourself, kid.', cid) talkState[talkUser] = 0 else local marrystatus = getMarryStatus(fid) local pmarriage = getPlayerMarriage(sid) local ownstatus = getOwnMarryStatus(cid) if pmarriage == FALSE then if marrystatus == FALSE then if ownstatus == FALSE then setPlayerStorageValue(cid,3066,1) addMarryStatus(fid,sid) selfSay('You\'ve just set a wedding date with {' .. p .. '}.', cid) talkState[talkUser] = 0 else local partnername = getPlayerNameByGUID(ownstatus) selfSay('{' .. p .. '} has already set a wedding date with {' .. partnername .. '}.', cid) talkState[talkUser] = 0 end else local marryname = getPlayerNameByGUID(marrystatus) selfSay('{' .. marryname .. '} has set a wedding date with you. Do you want to {proceed} or {cancel} the wedding?', cid) talkState[talkUser] = 4 end else local pname = getPlayerNameByGUID(pmarriage) selfSay('Sorry, but {' .. p .. '} is already married to {' .. pname .. '}.', cid) talkState[talkUser] = 0 end end elseif talkState[talkUser] == 4 then if msgcontains(msg, 'proceed') then local fid = getPlayerGUID(cid) local sid = getMarryStatus(fid) local marryname = getPlayerNameByGUID(sid) local pid = getPlayerByNameWildcard(marryname) local tmf = getCreaturePosition(cid) local tms = getCreaturePosition(pid) local text = {'I love you!','My love!','Baby dear!'} local chance1 = math.random(1,table.getn(text)) local chance2 = math.random(1,table.getn(text)) local dateFormat = "%A %d"..getMonthDayEnding(os.date("%d")).." %B %Y" local ring = doPlayerAddItem(cid,2121,1) local ring2 = doPlayerAddItem(pid,2121,1) if isOnline(fid) == TRUE and isOnline(sid) == TRUE then if getDistanceBetween(tmf, tms) <= 3 then setPlayerStorageValue(cid,3066,2) setPlayerStorageValue(pid,3066,2) doCancelMarryStatus(fid) doCancelMarryStatus(sid) setPlayerPartner(cid,sid) setPlayerPartner(pid,fid) doItemSetAttribute(ring, "description", "" .. getCreatureName(cid) .. " & " .. getCreatureName(pid) .. " forever - married on " ..os.date(dateFormat).. ".") doItemSetAttribute(ring2, "description", "" .. getCreatureName(cid) .. " & " .. getCreatureName(pid) .. " forever - married on " ..os.date(dateFormat).. ".") doCreatureSay(cid, text[chance1], TALKTYPE_ORANGE_1) doCreatureSay(pid, text[chance2], TALKTYPE_ORANGE_1) doSendMagicEffect(tmf, 35) doSendMagicEffect(tms, 35) selfSay('Congratulations! Now you may kiss your partner! Everytime you wanna make this effect, just say {love}. You must be close to your partner.', cid) talkState[talkUser] = 0 else selfSay('Your partner must be close to you so you can marry!', cid) talkState[talkUser] = 0 end else selfSay('You and your new partner must be online at the same time.', cid) talkState[talkUser] = 0 end elseif msgcontains(msg, 'cancel') then local fid = getPlayerGUID(cid) local sid = getMarryStatus(fid) local marryname = getPlayerNameByGUID(sid) local pid = getPlayerByNameWildcard(marryname) if isOnline(sid) == TRUE then setPlayerStorageValue(pid,3066,-1) end doCancelMarryStatus(sid) selfSay('You just canceled your wedding date with {' .. marryname .. '}.', cid) talkState[talkUser] = 0 end elseif talkState[talkUser] == 5 then if msgcontains(msg, 'cancel') or msgcontains(msg, 'yes') then local fid = getPlayerGUID(cid) setPlayerStorageValue(cid,3066,-1) doCancelMarryStatus(fid) talkState[talkUser] = 0 end elseif talkState[talkUser] == 6 then if msgcontains(msg, 'yes') then local fid = getPlayerGUID(cid) local sid = getPlayerPartner(cid) local marryname = getPlayerNameByGUID(sid) local pid = getPlayerByNameWildcard(marryname) if (isOnline(fid) == TRUE and isOnline(sid) == TRUE) then setPlayerStorageValue(cid,3066,-1) setPlayerStorageValue(pid,3066,-1) setPlayerPartner(cid,0) setPlayerPartner(pid,0) selfSay('You\'ve just divorced of your old partner.', cid) talkState[talkUser] = 0 else selfSay('You and your new partner must be online at the same time.', cid) talkState[talkUser] = 0 end end end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Em data/lib/functions.lua adicione no final (depois do END): function getPlayerMarriage(player) local rows = db.getResult("SELECT `marriage` FROM `players` WHERE `id` = " .. player .. ";") local marry = rows:getDataInt("marriage") if marry ~= 0 then return marry else return FALSE end end function addMarryStatus(player,partner) db.executeQuery("UPDATE `players` SET `marrystatus` = " .. partner .. " WHERE `id` = " .. player .. ";") return TRUE end function doCancelMarryStatus(player) db.executeQuery("UPDATE `players` SET `marrystatus` = 0 WHERE `id` = " .. player .. ";") return TRUE end function getMarryStatus(player) local stat = db.getResult("SELECT `id` FROM `players` WHERE `marrystatus` = " .. player .. ";") if(stat:getID() == -1) then return FALSE else local info = stat:getDataInt("id") return info end end function getOwnMarryStatus(player) local stat = db.getResult("SELECT `marrystatus` FROM `players` WHERE `id` = " .. player .. ";") if(stat:getID() == -1) then return FALSE else local info = stat:getDataInt("marrystatus") return info end end function isOnline(player) local rows = db.getResult("SELECT `online` FROM `players` WHERE `id` = " .. player .. ";") local on = rows:getDataInt("online") if on ~= 0 then return TRUE else return FALSE end end Agora adicione a query(mysql): ALTER TABLE `players` ADD `marrystatus` INT UNSIGNED NOT NULL DEFAULT '0' AFTER `marriage` ; Simples assim! Retirei todos os bugs, não apareçe nenhum erro no distro/executavel. Espero que gostem! PS: não sei se funfa nas versões anteriores ou superiores, não testei. Créditos: Mulizeu 80% Eu 20%
  3. 9k22 postou uma resposta no tópico em Playground (Off-topic)
    Bem, eu vendo esse character DRUID com assassin outfit e beggar full + citizen full! Nome: Abana dora Mundo: Shanera Level: 95 Vocação: Druid Preço: A negociar
  4. 9k22 postou uma resposta no tópico em Ouvidoria
    Se você conversar com o Matheus e falar qual o problema do seu nick tudo bem. Mais trocar Danieuu para outro nome como por ex: Extreme impossivel. Você poderá trocar o nome Danieuu para Danieu ou Dannieu... Sem muitas mudanças (apenas corrigindo o seu nick). A não ser que você crie outro usuário mais não poderá acessar a conta antiga novamente!
  5. Área errada! Tópico movido.
  6. Área errada! Tópico movido.
  7. Área errada! Tópico movido.
  8. 9k22 postou uma resposta no tópico em Suporte Tibia OTServer
    Área errada! Tópico movido.
  9. 9k22 postou uma resposta no tópico em Formação de Equipe
    Gostei belo projeto, espero que de certo!
  10. 9k22 postou uma resposta no tópico em Suporte Bots
    Em attack você coloca o nome da magia...
  11. 9k22 postou uma resposta no tópico em BBot
    Sim, ibot não gostei muito. Estou com o BBOT, infelismente morri pra um Pk, esqueci de coloca alerta para quando alguem me atacar. O bot é perfeito sim, claro, alguns bugs (pequenos, muito mesmo) mal se percebe os bugs. Ótimo trabalho ;x ainda lembro quando o bbot era free ninguem usava, agr que é indetectavel pessoal aproveita.
  12. 9k22 postou uma resposta no tópico em Suporte Tibia OTServer
    Ainda não entendi.. Como assim jogar no chão? está bugado quando joga no chao ou ele quer remover esses itens assim que o player usa? Se for isso basta modificar: removeOnUse = "no", Para: removeOnUse = "yes",
  13. 9k22 postou uma resposta no tópico em Suporte Tibia OTServer
    Como? não entendi! Você quer deixar como? deixar os potions assim como? de qual geito?
  14. Vittu, infelismente terei que ser verdadeiro no meu voto. Mais o shinobi fez um exelente trabalho!
  15. 9k22 postou uma resposta no tópico em Playground (Off-topic)
    kkk ai sim em, su, su, sucessoooooooooo
  16. 9k22 postou uma resposta no tópico em Playground (Off-topic)
    Nunca ouvi falar desse jogo, sei nem como se joga.
  17. Qual sistema Vip você ultiliza?
  18. 9k22 postou uma resposta no tópico em Suporte Bots
    acho eu que não irá fazer diferença essas acusações de virus. Tibia auto aliais é uma empresa, você está baixando de um local seguro/confiável?
  19. 9k22 postou uma resposta no tópico em Suporte Bots
    Movido para a área correta.
  20. 9k22 postou uma resposta no tópico em Playground (Off-topic)
    Porque você não tira uma foto sua e posta? fica mais legal! Gostei a 1º
  21. Baixe esse patch de DLL's e coloque-os em seu servidor. Ps: esse patch funciona em qualquer das versões de servidores de tibia! otland.net/attachments/f18/7693d1291722387-opentibia-dll-pack-v1-5-otdllv15.7z
  22. <item id="ID_DO_ITEM" article="a" name="NOME_DO_ITEM"> <attribute key="weight" value="4500" /> <attribute key="defense" value="15" /> <attribute key="attack" value="23" /> <attribute key="weaponType" value="sword" /> <attribute key="extradef" value="1" /> </item> Assim um exemplo, caso queira que eu faça, me da o ID do item + oque você quer nele...
  23. Cara, explica melhor, tipo você quer um livro que ao player clicar o mesmo morre ou matar 1 player online randomicamente?

Informação Importante

Confirmação de Termo