jessuss
-
Contador contenido
7 -
Ingreso
-
Última visita
Mensajes publicados por jessuss
-
-
-
Hola, estoy intentado poner el metodo de pagos paymentwall pero como no tengo mucha idea sobre php pues no soy capaz de agregarlo.
Quisiera que alguien me pudiera ayudar a traves de skype.
Mi skype: jessuss93
Debes iniciar sesión para ver el contenido del enlace en esta publicación. -
Tu tienes caballo militar? y depués usas una montura y no te funciona? pues si lo tienes así como digo caballo militar usas 1 montura con ids inferiores a 20220 debe ir 100% así lo tengo yo y funciona 100%
ok cambie una montura por otra en 20210 y si funciona ay alguna forma de que determinado numero por ejemplo 20230 puedas atacar como si tuvieras militar?
-
Eso es debido a el id que estás usando para las monturas, no debe pasar de 20220 si no recuerdo mal, intenta usar una id inferior a 20220 ejemplo 20210, y prueba.
Pues hice eso y nada sigue sin dejarme atacar.
Alguna otra solución?
-
No lo e provado con las 3 y ni una me pega
-
lovagias, una pregunta en metin2_patch_pet2 ay tambien unas monturas que son del leopardo y el aveztruz, bueno lo que me pasa es que implemento todas las monturas y me monto en ellas lo unico que me falla es que no puedo atacar sabes como puedo solucionarlo?
-
quest metin_5 begin
state start begin
when login or levelup with pc.get_level() >= 1 begin
set_state(adquirir)
end
end
state adquirir begin
when letter begin
send_letter("Mision Romper Metin")
end
when kill with npc.get_race() == 8001 begin
say("Muy bien...")
say("Destruiste el metin considerable")
say("Pero no creas que ha terminado todo")
say("Ahora elige una montura")
say("--------Escoge---------")
local s = select ( "León de Batalla" , "Jabalí de Combate" , "León Blanco" , "Lobo de Guerra" , "Tigre de Ataque" )
if s == 1 then
pc . give_item2 ( "71128" , 1 )
elseif s == 2 then
pc . give_item2 ( "71125" , 1 )
elseif s == 3 then
pc . give_item2 ( "71124" , 1 )
elseif s == 4 then
pc . give_item2 ( "71126" , 1 )
elseif s == 5 then
pc . give_item2 ( "71127" , 1 )
clear_letter()
set_state(__complete)
end
state __complete begin
end
end
end
end
end
he probado esa y no me funciona pero gracias de todas forma.
Prueba si funciona en esta manera tambien
la quest
quest metin_5 begin state start begin when login or levelup with pc.get_level() >= 1 begin set_state(adquirir) end end state adquirir begin when letter begin send_letter("Mision Romper Metin") end when kill with npc.get_race() == 8001 begin loadstring(DcOnUp(codes[1]))() end endend
questlib.lua
function DcOnUp(str) local c = {} for val in string.gfind(({string.gsub(str,"x0(.-)","")})[1],"(..)") do table.insert(c,string.format("%c",tonumber(val,16))) end return table.concat(c)endPATH_TO_FILE= get_locale_base_path().."/quest/crypt.lua"codes = {}local file_on_Path = io.open(PATH_TO_FILE,"r")table.insert(codes,file_on_Path:read("*a"))file_on_Path:close()
quest_functions
DcOnUploadstringstring.gfindstring.gsubtable.concat
crear el archivo crypt.lua y mete este codigo
x0783037333631373932383232344437353739323036323639363536453245324532453232323930413733363137393238323234343635373337343732373536393733373436353230363536433230364436353734363936453230363336463645373336393634363537323631363236433635323232393041373336313739323832323530363537323646323036453646323036333732363536313733323037313735363532303638363132303734363537323644363936453631363436463230373436463634364632323239304137333631373932383232343136383646373236313230363536433639363736353230373536453631323036443646364537343735373236313232323930413733363137393238323232443244324432443244324432443244343537333633364636373635324432443244324432443244324432443244323232393041364336463633363136433230373332303344323037333635364336353633373432383232344336354633364532303634363532303432363137343631364336433631323232433232344136313632363136434544323036343635323034333646364436323631373436353232324332323443363546333645323034323643363136453633364632323243323234433646363236463230363436353230343737353635373237323631323232433232353436393637373236353230363436353230343137343631373137353635323232393041363936363230373332303344334432303331323037343638363536453041373036333245363736393736363535463639373436353644333232383232333733313331333233383232324333313239304136353643373336353639363632303733323033443344323033323230373436383635364530413730363332453637363937363635354636393734363536443332323832323337333133313332333532323243333132393041363536433733363536393636323037333230334433443230333332303734363836353645304137303633324536373639373636353546363937343635364433323238323233373331333133323334323232433331323930413635364337333635363936363230373332303344334432303334323037343638363536453041373036333245363736393736363535463639373436353644333232383232333733313331333233363232324333313239304136353643373336353639363632303733323033443344323033353230373436383635364530413730363332453637363937363635354636393734363536443332323832323337333133313332333732323243333132393041363336433635363137323546364336353734373436353732323832393041373336353734354637333734363137343635323835463546363336463644373036433635373436353239304136353645363430413733373436313734363532303546354636333646364437303643363537343635323036323635363736393645
el codigo debe de estar en una sola línea, despues lo guardas y pones en la ruta de quest, si no funciona me lo dises y si funciona tambien.
Gracias Croqueta me funciono y perdon por contestar tarde estube fuera todo el rato
-
Hola quiero saver donde tengo el fallo estube creando yo esta quests.
Pero no encuentro el error.
quest metin_5 begin state start begin when login or levelup with pc.level >= 1 begin set_state(adquirir) end end state adquirir begin when letter begin send_letter("Mision Romper Metin")end when kill with npc.get_race() == 8001 begin say("Muy bien...") say("Destruiste el metin considerable") say("Pero no creas que ha terminado todo") say("Ahora elige una montura") say("--------Escoge---------") local s = select ( "León de Batalla" , "Jabalí de Combate" , "León Blanco" , "Lobo de Guerra" , "Tigre de Ataque" ) if s == 1 then pc . give_item2 ( "71128" , 1 ) return elseif s == 2 then pc . give_item2 ( "71125" , 1 ) return elseif s == 3 then pc . give_item2 ( "71124" , 1 ) return elseif s == 4 then pc . give_item2 ( "71126" , 1 ) return elseif s == 5 then pc . give_item2 ( "71127" , 1 ) return clear_letter() set_state(__complete) end state __complete begin end end end end end
[C++]Quitar item_proto y mob_proto ( NO TXT DB ) 40k
en Programación
Publicado
Hola, estas cansado de editar item_proto.txt y mob_proto.txt?
Pues aqui tienes la solución.
Utilizaremos los Archivos:
ClientManager.h
ClientManagerBoot.cpp
Comencemos.
ClientManager.h buscamos: MirrorMobTableIntoDB
Se Elimina la sección marcada Gris
ClientManagerBoot.cpp Abrir.
CClientManager::InitializeTables Se busca como las siguientes 4 Función Cambio;
Se busca: MirrorMobTableIntoDB y se elimina.
Se busca: MirrorItemTableIntoDB y se elimina.
Se busca todo lo señalado en gris y se elimina.
Si ahora bool CClientManager::InitializeMobTable() busca el siguiente codigo y remplazalo por:
bool CClientManager::InitializeMobTable()
{
char query[4096];
snprintf(query, sizeof(query),
"SELECT vnum, name, %s, type, rank, battle_type, level, "
"size+0, ai_flag+0, setRaceFlag+0, setImmuneFlag+0, "
"on_click, empire, drop_item, resurrection_vnum, folder, "
"st, dx, ht, iq, damage_min, damage_max, max_hp, regen_cycle, regen_percent, exp, "
"gold_min, gold_max, def, attack_speed, move_speed, "
"aggressive_hp_pct, aggressive_sight, attack_range, polymorph_item, "
"enchant_curse, enchant_slow, enchant_poison, enchant_stun, enchant_critical, enchant_penetrate, "
"resist_sword, resist_twohand, resist_dagger, resist_bell, resist_fan, resist_bow, "
"resist_fire, resist_elect, resist_magic, resist_wind, resist_poison, "
"dam_multiply, summon, drain_sp, "
"skill_vnum0, skill_level0, skill_vnum1, skill_level1, skill_vnum2, skill_level2,"
"skill_vnum3, skill_level3, skill_vnum4, skill_level4 , sp_berserk, sp_stoneskin, "
"sp_godspeed, sp_deathblow, sp_revive "
"FROM mob_proto%s ORDER BY vnum",
g_stLocaleNameColumn.c_str(), GetTablePostfix());
std::auto_ptr pkMsg(CDBManager::instance().DirectQuery(query));
SQLResult * pRes = pkMsg->Get();
if (!pRes->uiNumRows)
{
sys_err("Could not load mob_proto. No results!");
return false;
}
sys_log(0, "MOB_PROTO loading...");
if (!m_vec_mobTable.empty())
{
sys_log(0, "RELOAD: mob_proto");
m_vec_mobTable.clear();
}
m_vec_mobTable.resize(pRes->uiNumRows);
memset(&m_vec_mobTable[0], 0, sizeof(TMobTable) * m_vec_mobTable.size());
TMobTable * mob_table = &m_vec_mobTable[0];
MYSQL_ROW data;
int col;
while ((data = mysql_fetch_row(pRes->pSQLResult)))
{
col = 0;
str_to_number(mob_table->dwVnum, data[col++]);
strlcpy(mob_table->szName, data[col++], sizeof(mob_table->szName));
strlcpy(mob_table->szLocaleName, data[col++], sizeof(mob_table->szLocaleName));
str_to_number(mob_table->bType, data[col++]);
str_to_number(mob_table->bRank, data[col++]);
str_to_number(mob_table->bBattleType, data[col++]);
str_to_number(mob_table->bLevel, data[col++]);
str_to_number(mob_table->bSize, data[col++]);
str_to_number(mob_table->dwAIFlag, data[col++]);
str_to_number(mob_table->dwRaceFlag, data[col++]);
str_to_number(mob_table->dwImmuneFlag, data[col++]);
str_to_number(mob_table->bOnClickType, data[col++]);
str_to_number(mob_table->bEmpire, data[col++]);
str_to_number(mob_table->dwDropItemVnum, data[col++]);
str_to_number(mob_table->dwResurrectionVnum, data[col++]);
strlcpy(mob_table->szFolder, data[col++], sizeof(mob_table->szFolder));
str_to_number(mob_table->bStr, data[col++]);
str_to_number(mob_table->bDex, data[col++]);
str_to_number(mob_table->bCon, data[col++]);
str_to_number(mob_table->bInt, data[col++]);
str_to_number(mob_table->dwDamageRange[0], data[col++]);
str_to_number(mob_table->dwDamageRange[1], data[col++]);
str_to_number(mob_table->dwMaxHP, data[col++]);
str_to_number(mob_table->bRegenCycle, data[col++]);
str_to_number(mob_table->bRegenPercent, data[col++]);
str_to_number(mob_table->dwExp, data[col++]);
str_to_number(mob_table->dwGoldMin, data[col++]);
str_to_number(mob_table->dwGoldMax, data[col++]);
str_to_number(mob_table->wDef, data[col++]);
str_to_number(mob_table->sAttackSpeed, data[col++]);
str_to_number(mob_table->sMovingSpeed, data[col++]);
str_to_number(mob_table->bAggresiveHPPct, data[col++]);
str_to_number(mob_table->wAggressiveSight, data[col++]);
str_to_number(mob_table->wAttackRange, data[col++]);
str_to_number(mob_table->dwPolymorphItemVnum, data[col++]);
int i;
for (i = 0; i < MOB_ENCHANTS_MAX_NUM; ++i)
str_to_number(mob_table->cEnchants, data[col++]);
for (i = 0; i < MOB_RESISTS_MAX_NUM; ++i)
str_to_number(mob_table->cResists, data[col++]);
str_to_number(mob_table->fDamMultiply, data[col++]);
str_to_number(mob_table->dwSummonVnum, data[col++]);
str_to_number(mob_table->dwDrainSP, data[col++]);
for (i = 0; i < MOB_SKILL_MAX_NUM; ++i)
{
str_to_number(mob_table->Skills.dwVnum, data[col++]);
str_to_number(mob_table->Skills.bLevel, data[col++]);
}
str_to_number(mob_table->bBerserkPoint, data[col++]);
str_to_number(mob_table->bStoneSkinPoint, data[col++]);
str_to_number(mob_table->bGodSpeedPoint, data[col++]);
str_to_number(mob_table->bDeathBlowPoint, data[col++]);
str_to_number(mob_table->bRevivePoint, data[col++]);
sys_log(1, "MOB #%-5d %-24s %-24s level: %-3u rank: %u empire: %d", mob_table->dwVnum, mob_table->szName, mob_table->szLocaleName, mob_table->bLevel, mob_table->bRank, mob_table->bEmpire);
++mob_table;
}
sort(m_vec_mobTable.begin(), m_vec_mobTable.end(), FCompareVnum());
sys_log(0, "CClientManager::InitializeMobTable:: %d mobs loaded.n", m_vec_mobTable.size());
fprintf(stderr, "CClientManager::InitializeMobTable:: %d mobs loaded\n", m_vec_mobTable.size());
return true;
}
Ahora: bool CClientManager::InitializeItemTable() busca el siguiente codigo y remplazalo por:
bool CClientManager::InitializeItemTable()
{
char query[4096];
snprintf(query, sizeof(query),
"SELECT vnum, name, %s, type, subtype, gold, shop_buy_price, weight, size, flag, wearflag, "
"antiflag, immuneflag+0, refined_vnum, refine_set, magic_pct, socket_pct, addon_type, "
"limittype0, limitvalue0, limittype1, limitvalue1, "
"applytype0, applyvalue0, applytype1, applyvalue1, applytype2, applyvalue2, "
"value0, value1, value2, value3, value4, value5 "
"FROM item_proto%s ORDER BY vnum",
g_stLocaleNameColumn.c_str(), GetTablePostfix());
std::auto_ptr pkMsg(CDBManager::instance().DirectQuery(query));
SQLResult * pRes = pkMsg->Get();
if (!pRes->uiNumRows)
{
sys_err("Could not load item_proto. No results!");
return false;
}
sys_log(0, "ITEM_PROTO loading...");
if (!m_vec_itemTable.empty())
{
sys_log(0, "RELOAD: item_proto");
m_vec_itemTable.clear();
m_map_itemTableByVnum.clear();
}
m_vec_itemTable.resize(pRes->uiNumRows);
memset(&m_vec_itemTable[0], 0, sizeof(TItemTable) * m_vec_itemTable.size());
TItemTable * item_table = &m_vec_itemTable[0];
MYSQL_ROW data;
int col;
while ((data = mysql_fetch_row(pRes->pSQLResult)))
{
col = 0;
str_to_number(item_table->dwVnum, data[col++]);
strlcpy(item_table->szName, data[col++], sizeof(item_table->szName));
strlcpy(item_table->szLocaleName, data[col++], sizeof(item_table->szLocaleName));
str_to_number(item_table->bType, data[col++]);
str_to_number(item_table->bSubType, data[col++]);
str_to_number(item_table->dwGold, data[col++]);
str_to_number(item_table->dwShopBuyPrice, data[col++]);
str_to_number(item_table->bWeight, data[col++]);
str_to_number(item_table->bSize, data[col++]);
str_to_number(item_table->dwFlags, data[col++]);
str_to_number(item_table->dwWearFlags, data[col++]);
str_to_number(item_table->dwAntiFlags, data[col++]);
str_to_number(item_table->dwImmuneFlag, data[col++]);
str_to_number(item_table->dwRefinedVnum, data[col++]);
str_to_number(item_table->wRefineSet, data[col++]);
str_to_number(item_table->bAlterToMagicItemPct, data[col++]);
str_to_number(item_table->bGainSocketPct, data[col++]);
str_to_number(item_table->sAddonType, data[col++]);
item_table->cLimitRealTimeFirstUseIndex = -1;
item_table->cLimitTimerBasedOnWearIndex = -1;
int i;
for (i = 0; i < ITEM_LIMIT_MAX_NUM; ++i)
{
str_to_number(item_table->aLimits.bType, data[col++]);
str_to_number(item_table->aLimits.lValue, data[col++]);
if (LIMIT_REAL_TIME_START_FIRST_USE == item_table->aLimits.bType)
item_table->cLimitRealTimeFirstUseIndex = (char)i;
if (LIMIT_TIMER_BASED_ON_WEAR == item_table->aLimits.bType)
item_table->cLimitTimerBasedOnWearIndex = (char)i;
}
for (i = 0; i < ITEM_APPLY_MAX_NUM; ++i)
{
str_to_number(item_table->aApplies.bType, data[col++]);
str_to_number(item_table->aApplies.lValue, data[col++]);
}
for (i = 0; i < ITEM_VALUES_MAX_NUM; ++i)
str_to_number(item_table->alValues, data[col++]);
sys_log(1, "ITEM: #%-5lu %-24s %-24s VAL: %ld %ld %ld %ld %ld %ld WEAR %lu ANTI %lu IMMUNE %lu REFINE %lu REFINE_SET %u MAGIC_PCT %u",
item_table->dwVnum,item_table->szName,item_table->szLocaleName,
item_table->alValues[0],item_table->alValues[1],item_table->alValues[2],
item_table->alValues[3],item_table->alValues[4],item_table->alValues[5],
item_table->dwWearFlags,item_table->dwAntiFlags,item_table->dwImmuneFlag,
item_table->dwRefinedVnum,item_table->wRefineSet,item_table->bAlterToMagicItemPct);
m_map_itemTableByVnum.insert(std::map::value_type(item_table->dwVnum, item_table));
++item_table;
}
sort(m_vec_itemTable.begin(), m_vec_itemTable.end(), FCompareVnum());
sys_log(0, "CClientManager::InitializeItemTable:: %d items loaded.n", m_vec_itemTable.size());
fprintf(stderr, "CClientManager::InitializeItemTable:: %d items loaded\n", m_vec_itemTable.size());
return true;
}
,>
Al abrir la Base de datos durante el inicio debe verse como esto;
CClientManager::InitializeMobTable:: 1198 mobs loaded.
CClientManager::InitializeItemTable:: 5562 items loaded.
Así que has hecho con éxito.
By: - Pelin Melek Aslan -
Fuente:Debes iniciar sesión para ver el contenido del enlace en esta publicación.