Jump to content

xkillmt2

Member
  • Content count

    41
  • Joined

  • Last visited

  • Days Won

    12
  • Feedback

    N/A

xkillmt2 last won the day on September 16

xkillmt2 had the most liked content!

Community Reputation

85 Neutral

About xkillmt2

  • Rank
    Member

Recent Profile Visitors

239 profile views
  1. xkillmt2

    Feliz Dia do Programador

    O Dia do Programador é tão importante que na Rússia é até feriado oficial. Celebrado sempre no 256º dia do ano (13 de setembro; ou 12 de setembro nos anos bissextos), esta importante data foi escolhida porque 256 é o número de valores distintos que podem ser representados com um byte de oito bits, um número bem conhecido entre os programadores. Além disso, '256' em hexadecimal é '100' ('0x100'), e é a maior potência de 2 abaixo de 365 (o número de dias em um ano).
  2. Talvez seja problema na configuração do socket_connect verifique na game source à configuração de conexão com o ip definido ou use o BIND_IP para definir o ip de conexão. Obs: Não testei a versão 40k via DNS (Tenho o modem bloqueado), só via hamachi conexão 100%.
  3. Erro de configuração no arquivo RaceManager.cpp ou a montaria está no diretório incorreto. Verifique a linha de comando em game.py->>serverCommandList={ pois o servidor está enviando esse comando para o cliente. Não há necessidade de corrigir esse aviso basta ir na source cliente e pesquisa por: if (!LoadMonsterAreaInfo()) TraceError("CMapOutdoor::Load - LoadMonsterAreaInfo ERROR"); Altere por: #ifdef _DEBUG if (!LoadMonsterAreaInfo()) TraceError("CMapOutdoor::Load - LoadMonsterAreaInfo ERROR"); #endif
  4. xkillmt2

    Erro ao ligar Serve

    Há source vanilla 70k clean contém erro na configuração do Makefile parte game. Makefile
  5. Não tenho muito o que fala quem quiser usar a source martysama v4 fique a vontade. Contém: serverfiles, source cliente, source server e mysql. Info server: Info client: Download
  6. xkillmt2

    Dúvida Brilhos das Armaduras

    Porque não faz pela source ? Exemplo: Vá em UserInterface\InstanceBase.cpp e pesquise por: if (pItem->GetSubType() == CItemData::ARMOR_BODY) { DWORD vnum = pItem->GetIndex(); if (12010 <= vnum && vnum <= 12049) { __AttachEffect(EFFECT_REFINED+EFFECT_BODYARMOR_SPECIAL); __AttachEffect(EFFECT_REFINED+EFFECT_BODYARMOR_SPECIAL2); } } Depois crie uma nova linha em baixo da condição " if (12010 <= vnum && vnum <= 12049)" if (pItem->GetSubType() == CItemData::ARMOR_BODY) { DWORD vnum = pItem->GetIndex(); if (12010 <= vnum && vnum <= 12049) { __AttachEffect(EFFECT_REFINED+EFFECT_BODYARMOR_SPECIAL); __AttachEffect(EFFECT_REFINED+EFFECT_BODYARMOR_SPECIAL2); } // Novo efeito na armadura X if (20760 <= vnum && vnum <= 20959) { __AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_SPECIAL3); } } Agora vá em UserInterface\InstanceBase.h e pesquise por: EFFECT_BODYARMOR_SPECIAL, // °©¿Ê 4-2-1 EFFECT_BODYARMOR_SPECIAL2, // °©¿Ê 4-2-2 Adicione abaixo: EFFECT_BODYARMOR_SPECIAL3, // 21 Parte cliente Vá em root->playersettingmodule.py e pesquise por: chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+19, "Bip01", "D:/ymir work/pc/common/effect/armor/armor-4-2-1.mse") chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+20, "Bip01", "D:/ymir work/pc/common/effect/armor/armor-4-2-2.mse") Adicione abaixo: chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+21, "Bip01", "D:/ymir work/pc/common/effect/armor/armor-5-1.mse") ## Caminho onde está o efeito
  7. Vá em root->uiguild.py e pesquise por : JOB_NAME = { 0 : localeInfo.JOB_WARRIOR, 1 : localeInfo.JOB_ASSASSIN, 2 : localeInfo.JOB_SURA, 3 : localeInfo.JOB_SHAMAN, } Substitua por: JOB_NAME = { 0 : localeInfo.JOB_WARRIOR, 1 : localeInfo.JOB_ASSASSIN, 2 : localeInfo.JOB_SURA, 3 : localeInfo.JOB_SHAMAN, 4 : localeInfo.JOB_WOLFMAN, }
  8. xkillmt2

    Bug /purge metin2

    Verifique seu root->uichat.py, talvez você tenha o sistema de bloquear comandos de GMs. Exemplo: commands = ("/set", "/sex", "/dick", "/big", "/uuu", "/purge") def __SendChatPacket(self, text, type): # Block other command in function chat import stringCommander get_table = stringCommander.commands if text in get_table: return if net.IsChatInsultIn(text): chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.CHAT_INSULT_STRING) else: net.SendChatPacket(text, type)
  9. xkillmt2

    Alquimia pedra Rubi antiga

    Achei isso no fórum Bug Sistema de Pedras do Dragão faz o teste, lá diz completo.
  10. xkillmt2

    Dragon_soul.quest

    Compare a sua quest com essa que mandei no anexo. add em questlib.lua function drop_gamble_with_flag(drop_flag) local dp, range = pc.get_killee_drop_pct() dp = 40000 * dp / game.get_event_flag(drop_flag) if dp < 0 or range < 0 then return false end return dp >= number(1, range) end dragon_soul.lua
  11. xkillmt2

    Quest de Matança! [Ajuda]

    Acho que é isso que queres: quest xkillmt2 begin state start begin when login with pc.get_level() <= 5 begin set_state(combat) end end state combat begin when letter begin send_letter("Missão de Combate #1") end when button or info begin say_title("Olá, "..pc.get_name()) say("") say("Nessa primeira missão de combate você terá de mata") say("20 "..mob_name(101)..".") say("") set_state(kill) end end state kill begin when enter begin pc.setqf("mobcount", 0) end when leave begin pc.setqf("mobcount", 0) q.done() end when letter begin q.set_counter(string.format("Faltam %d.", xkillmt2.isMobCount())) end when 101.kill begin local count = pc.getqf("mobcount")+1 pc.setqf("mobcount", count) q.set_counter(string.format("Faltam %d.", xkillmt2.isMobCount())) if xkillmt2.isMobCompleted() then say_title("Missão de Combate #1 Completada") say("") say("Eu acho que você completou a missão adequadamente.") say("") say("Obrigado, a sua missão foi concluída com êxito.") say("Vou lhe dar a sua recompensa por me ajudar.") say("") wait() xkillmt2.isMobGive() set_state(stone) q.done() end end -- w function isMobCompleted() return pc.getqf("mobcount")>=20 end function isMobCount() return 20-pc.getqf("mobcount") end function isMobGive() local i = {{19,1},{29,1},{39,1}} local n = number(1,table.getn(i)) return pc.give_item2(tonumber(i[n][1]), tonumber(i[n][2])) end when letter begin send_letter("Derrote 20 Cão Selvagem") end when button or info begin say_title("Derrote 20 "..mob_name(101)) say("") say("Você ainda não completou a missão de combate.") say("") say_reward(string.format("Faltam: %d", xkillmt2.isMobCount())) say("") end end -- s kill state stone begin when letter begin send_letter("Missão de Combate #2") end when button or info begin say_title("Olá, "..pc.get_name()) say("") say("Nessa segunda missão de combate você terá de destroi") say("3 Metins diferentes.") say("") say("1 - "..mob_name(8001)) say("1 - "..mob_name(8002)) say("1 - "..mob_name(8003)) say("") set_state(metin) end end state metin begin when enter begin pc.setqf("metincount", 0) pc.setqf("metin8001", 0) pc.setqf("metin8002", 0) pc.setqf("metin8003", 0) end when leave begin pc.setqf("metincount", 0) pc.setqf("metin8001", 0) pc.setqf("metin8002", 0) pc.setqf("metin8003", 0) q.done() end when letter begin q.set_counter(string.format("Faltam %d.", xkillmt2.isMetinCount())) end when kill with xkillmt2.isMetin(npc.get_race()) == true begin local count = pc.getqf("metincount")+1 pc.setqf("metincount", count) q.set_counter(string.format("Faltam %d.", xkillmt2.isMetinCount())) if xkillmt2.isMetinCompleted() then say_title("Missão de Combate #2 Completada") say("") say("Eu acho que você completou a missão adequadamente.") say("") say("Obrigado, a sua missão foi concluída com êxito.") say("Vou lhe dar a sua recompensa por me ajudar.") say("") wait() xkillmt2.isMetinGive() set_state(__COMPLETE__) q.done() end end -- w function isMetinCompleted() return pc.getqf("metincount")>=3 end function isMetinCount() return 3-pc.getqf("metincount") end function isMetinGive() local i = {{50028,1},{50029,1},{50030,1}} local n = number(1,table.getn(i)) return pc.give_item2(tonumber(i[n][1]), tonumber(i[n][2])) end function isMetin(race) if race == 8001 and pc.getqf("metin8001") == 0 then pc.setqf("metin8001", 1) return true end if race == 8002 and pc.getqf("metin8002") == 0 then pc.setqf("metin8002", 1) return true end if race == 8003 and pc.getqf("metin8003") == 0 then pc.setqf("metin8003", 1) return true end return false end when letter begin send_letter("Destroi 3 Metins diferentes!") end when button or info begin say_title("Destroi 3 Metins diferentes!") say("") say("Você ainda não completou a missão de combate.") say("") say(mob_name(8001)..", você destruiu: "..pc.getqf("metin8001")) say(mob_name(8002)..", você destruiu: "..pc.getqf("metin8002")) say(mob_name(8003)..", você destruiu: "..pc.getqf("metin8003")) say("") say_reward(string.format("Faltam: %d", xkillmt2.isMetinCount())) say("") end end -- s metin state __COMPLETE__ begin end -- s end -- q
  12. xkillmt2

    pc.getqf de outra quest

    quest getcount begin state start begin -- when kill with not npc.is_pc() begin when 101.kill begin local c = pc.getqf("count")+1 pc.setqf("count", c) end when login with pc.getqf("count") < 0 begin pc.setqf("count", 0) end when letter begin send_letter("Contagem de Mortos") end when button or info begin say_title("Olá, "..pc.get_name()) say("") say("Você matou: "..pc.getqf("count")) say("") end end end
  13. xkillmt2

    [QUEST] Teleport error.

    Missed closings on options quest inventario_teleport begin state start begin when login begin cmdchat("Teleport "..q.getcurrentquestindex()) end when button or info begin say_title("Anillo teletransportador:") say("A que mapa deseas teletransportarte ?") say("") -- 7 opções local s = select("Imperios","Regiones Forestales","Cuevas de Arañas","Zonas de Atlantea","Otras Regiones","Mapas de Leveo","Cerrar") if s == 1 then say_title("Anillo teletransportador:") say("") -- start ss // Imperios local ss = select("Reino Shinsoo","Reino Chunjo","Reino Jinno","Cerrar") if ss == 1 then say_title("Anillo teletransportador:") say("") local ciudades = select("Ciudad 1","Ciudad 2","Cerrar") if ciudades == 1 then pc.warp(473900,954600) elseif ciudades == 2 then pc.warp(352300,882700) else return -- Cerrar end elseif ss == 2 then say_title("Anillo teletransportador:") say("") local citys = select("Ciudad 1","Ciudad 2","Cerrar") if citys == 1 then pc.warp(63200,166700) elseif citys == 2 then pc.warp(145700,239800) else return -- Cerrar end elseif ss == 3 then say_title("Anillo teletransportador:") say("") local citys = select("Ciudad 1","Ciudad 2","Cerrar") if citys == 1 then pc.warp(959600,269700) elseif citys == 2 then pc.warp(863800,246000) else return -- Cerrar end else return -- Cerrar end -- end ss elseif s == 2 then say_title("Anillo teletransportador:") say("") -- start sss // Regiones Forestales local sss = select("Bosque","Bosque Rojo (Inicio)","Bosque Rojo (Final)","Cerrar") if sss == 1 then pc.warp(288700,5700) elseif sss == 2 then pc.warp(1119900,70800) elseif sss == 3 then pc.warp(1118100,8600) else return -- Cerrar end -- end sss elseif s == 3 then say_title("Anillo teletransportador:") say("") -- start zindan // Cuevas de Arañas local zindan = select("Caverna de Arañas (V1)","Caverna de Arañas (V2)","Cerrar") if zindan == 1 then pc.warp(59800,497300) elseif zindan == 2 then pc.warp(704100,521900) else return -- Cerrar end -- end zindan elseif s == 4 then say_title("Anillo teletransportador:") say("") -- start atlantea // Zonas de Atlantea local atlantea = select("Gruta del Exilio (Lv 40)","Sala del Dragón (Lv 70)","Cerrar") if atlantea == 1 then if pc.get_level() < 40 then pc.warp(0,1203200) else return end elseif atlantea == 2 then if pc.get_level() < 80 then pc.warp(819200,1049600) else return end else return -- Cerrar end -- end atlantea elseif s == 5 then say_title("Anillo teletransportador:") say("") -- start sssssss // Otras Regiones local sssssss = select("Valle de Seungryong","Monte Sohan","Desierto Yongbi","Tierra de Fuego","Tierra de Gigantes","Torre de Demonios","Cerrar") if sssssss == 1 then pc.warp(336000,755600) elseif sssssss == 2 then pc.warp(436400,215600) elseif sssssss == 3 then pc.warp(296800,547400) elseif sssssss == 4 then pc.warp(600800,687400) elseif sssssss == 5 then pc.warp(829900,763300) elseif sssssss == 6 then pc.warp(590500,110500) else return -- Cerrar end -- end sssssss elseif s == 6 then say_title("Anillo teletransportador:") say("") -- start sssssss // Mapas de Leveo local sssssss = select("Acantilado de Gautama (90)","Bahía Nefrite (90)","Cabo del Dragón (90)","Cerrar") if sssssss == 1 then if pc.get_level() < 90 then pc.warp(1177600,1664000) else return end elseif sssssss == 2 then if pc.get_level() < 90 then pc.warp(1049600,1510400) else return end elseif sssssss == 3 then if pc.get_level() < 90 then pc.warp(1024000,1664000) else return end end -- end else return -- Cerrar end end end end
  14. Estranho aqui não ocorre nenhum erro. Build VC141/BSD11:
  15. Vá em db/src/ClientManager.cpp e pesquise por: void CClientManager::ChargeCash(const TRequestChargeCash* packet) Depois altere por: void CClientManager::ChargeCash(const TRequestChargeCash* packet) { char szQuery[512]; if (ERequestCharge_Cash == packet->eChargeType) // cash to coins sprintf(szQuery, "update account set `coins` = `coins` + %d where id = %d limit 1", packet->dwAmount, packet->dwAID); else if(ERequestCharge_Mileage == packet->eChargeType) sprintf(szQuery, "update account set `mileage` = `mileage` + %d where id = %d limit 1", packet->dwAmount, packet->dwAID); else { sys_err ("Invalid request charge type (type : %d, amount : %d, aid : %d)", packet->eChargeType, packet->dwAmount, packet->dwAID); return; } sys_err ("Request Charge (type : %d, amount : %d, aid : %d)", packet->eChargeType, packet->dwAmount, packet->dwAID); CDBManager::Instance().AsyncQuery(szQuery, SQL_ACCOUNT); }
×

Important Information

By using this site, you agree to our Terms of Use.

Our website is made possible by displaying online advertisements to our visitors.
Please consider supporting us by disabling your ad blocker.
You will be able to see content when you disable your adblocker and enable javascript.