Jump to content

Buscar en la comunidad

Mostrando resultados para las etiquetas 'basic'.

  • Buscar por etiquetas

    Escribe las etiquetas separadas por comas.
  • Buscar por autor

Tipo de contenido


Foros

  • Metin2 Zone
    • Comunidad
    • Presentaciones y despedidas
  • Servidores Privados
    • Presentaciones de Servidores
    • Presentación de Proyectos
  • General
    • Discusiones generales
    • Socios y Colaboraciones
    • Servicios y compraventa
    • Ayudas y preguntas
    • Opiniones y consejos
    • Offtopic
  • Técnica
    • Programación
    • Edición de servidores Metin2
    • Desarrollo Web
    • Seguridad
    • Sistemas Operativos
    • Informática
  • Arte
    • Diseño y sección gráfica
    • Galería de imágenes y vídeos
    • Modelado 3D
    • Mapping
  • Descargas
    • Servidores y Clientes
    • Modelos 3D
    • Imágenes Metin2
    • Mapas
    • Traducciones
  • Archivo
    • Servidores Offline
    • Temas Links Caidos

Encontrar resultados en...

Encontrar resultados que...


Fecha creación

  • Inicio

    Fin


Última actualización

  • Inicio

    Fin


Filtrar por número de...

Ingreso

  • Inicio

    Fin


Grupo


Email


Sitio web


Jabber


Skype


Discord


Localización


Intereses

Encontrado 1 resultado

  1. Buenas gente ya hace un tiempo no comparto nada, mientras trabajaba una base totalmente limpia me puse a la tarea de buscar el give basic weapon por source pero lamentablemente no lo encontré en ni un lado así que me di a la tarea de extraerlo de mi servidor e implementarlo a la base nueva, a mi me funciono sin ningún tipo de problema así que sera lo mismo para ustedes si siguen correctamente los pasos. DE QUE VA EL GIVE BASIC WEAPON POR SOURSE? DE AL INICIAR UN PJ NUEVO SE TE DA TU ARMA, ARMADURA Y ACCESORIOS YA PUESTOS Y CON BONUS YA AÑADIDOS, ADEMAS ES PARA TODAS LAS RAZAS INCLUYENDO AL LICANO. ESTE ES EL CÓDIGO SOURCE PARA EL SERVIDOR, PUEDEN MODIFICAR LOS BONUS QUE APARECERAN EN CADA ACCESORIO A SU GUSTO, AHORA SOLO SIGAN LAS INSTRUCCIONES. //service.h añadir #define ENABLE_GIVE_BASIC_WEAPON //char.cpp buscar void CHARACTER::SetEmpire(BYTE bEmpire) y pegar antes: #ifdef ENABLE_GIVE_BASIC_WEAPON void CHARACTER::addbonus(LPCHARACTER ch) { BYTE job = ch->GetJob(); LPITEM item; switch (job) { case JOB_WARRIOR: case JOB_ASSASSIN: case JOB_SURA: case JOB_SHAMAN: case JOB_WOLFMAN: { // -- bonus de casco item = ch->GetWear(WEAR_HEAD); if (item != NULL) { item->ClearAttribute(); item->SetForceAttribute( 0, APPLY_ATTBONUS_UNDEAD, 20); item->SetForceAttribute( 1, APPLY_ATTBONUS_ANIMAL, 20); item->SetForceAttribute( 2, APPLY_ATTBONUS_ORC, 20); item->SetForceAttribute( 3, APPLY_ATTBONUS_MILGYO, 20); item->SetForceAttribute( 4, APPLY_ATTBONUS_DEVIL, 20); } // -- bonus de arma item = ch->GetWear(WEAR_WEAPON); if (item != NULL) { item->ClearAttribute(); item->SetForceAttribute( 0, APPLY_STR, 12); item->SetForceAttribute( 1, APPLY_CRITICAL_PCT, 10); item->SetForceAttribute( 2, APPLY_ATTBONUS_UNDEAD, 20); item->SetForceAttribute( 3, APPLY_ATTBONUS_ANIMAL, 20); item->SetForceAttribute( 4, APPLY_ATTBONUS_ORC, 20); } // -- bonus de escudo item = ch->GetWear(WEAR_SHIELD); if (item != NULL) { item->ClearAttribute(); item->SetForceAttribute( 0, APPLY_STR, 12); item->SetForceAttribute( 1, APPLY_IMMUNE_STUN, 1); item->SetForceAttribute( 2, APPLY_BLOCK, 15); item->SetForceAttribute( 3, APPLY_GOLD_DOUBLE_BONUS, 20); item->SetForceAttribute( 4, APPLY_EXP_DOUBLE_BONUS, 20); } // -- bonus de armadura item = ch->GetWear(WEAR_BODY); if (item != NULL) { item->ClearAttribute(); item->SetForceAttribute( 0, APPLY_MAX_HP, 2000); item->SetForceAttribute( 1, APPLY_RESIST_BOW, 15); item->SetForceAttribute( 2, APPLY_RESIST_FIRE, 15); item->SetForceAttribute( 3, APPLY_RESIST_MAGIC, 15); item->SetForceAttribute( 4, APPLY_ATT_GRADE_BONUS, 50); } // -- bonus de zapato item = ch->GetWear(WEAR_FOOTS); if (item != NULL) { item->ClearAttribute(); item->SetForceAttribute( 0, APPLY_MAX_HP, 2000); item->SetForceAttribute( 1, APPLY_CRITICAL_PCT, 10); item->SetForceAttribute( 2, APPLY_GOLD_DOUBLE_BONUS, 20); item->SetForceAttribute( 3, APPLY_EXP_DOUBLE_BONUS, 20); item->SetForceAttribute( 4, APPLY_RESIST_BOW, 15); } // -- bonus de brazalete item = ch->GetWear(WEAR_WRIST); if (item != NULL) { item->ClearAttribute(); item->SetForceAttribute( 0, APPLY_MAX_HP, 2000); item->SetForceAttribute( 1, APPLY_PENETRATE_PCT, 10); item->SetForceAttribute( 2, APPLY_ITEM_DROP_BONUS, 20); item->SetForceAttribute( 3, APPLY_ATTBONUS_ORC, 20); item->SetForceAttribute( 4, APPLY_RESIST_MAGIC, 15); } // -- bonus de collar item = ch->GetWear(WEAR_NECK); if (item != NULL) { item->ClearAttribute(); item->SetForceAttribute( 0, APPLY_MAX_HP, 2000); item->SetForceAttribute( 1, APPLY_CRITICAL_PCT, 10); item->SetForceAttribute( 2, APPLY_GOLD_DOUBLE_BONUS, 20); item->SetForceAttribute( 3, APPLY_EXP_DOUBLE_BONUS, 20); item->SetForceAttribute( 4, APPLY_RESIST_BOW, 15); } // -- bonus de pendiente item = ch->GetWear(WEAR_EAR); if (item != NULL) { item->ClearAttribute(); item->SetForceAttribute( 0, APPLY_ATTBONUS_UNDEAD, 20); item->SetForceAttribute( 1, APPLY_ATTBONUS_ORC, 20); item->SetForceAttribute( 2, APPLY_ATTBONUS_ANIMAL, 20); item->SetForceAttribute( 3, APPLY_RESIST_BOW, 15); item->SetForceAttribute( 4, APPLY_ITEM_DROP_BONUS, 20); } } break; } ch->ComputePoints(); ch->PointChange(POINT_HP, ch->GetMaxHP() - ch->GetHP()); ch->PointChange(POINT_SP, ch->GetMaxSP() - ch->GetSP()); ch->Save(); } void CHARACTER::additems(LPCHARACTER ch) { BYTE job = ch->GetJob(); LPITEM item; for (int i = 0; i < 6; i++) { item = ch->GetWear(i); if (item != NULL) ch->UnequipItem(item); } item = ch->GetWear(WEAR_SHIELD); if (item != NULL) ch->UnequipItem(item); switch (job) { //sura case JOB_SURA: { item = ITEM_MANAGER::instance().CreateItem(19 ); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); item = ITEM_MANAGER::instance().CreateItem(11609 ); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); item = ITEM_MANAGER::instance().CreateItem(12489 ); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); item = ITEM_MANAGER::instance().CreateItem(13009); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); item = ITEM_MANAGER::instance().CreateItem(14009 ); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); item = ITEM_MANAGER::instance().CreateItem(15009 ); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); item = ITEM_MANAGER::instance().CreateItem(16009 ); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); item = ITEM_MANAGER::instance().CreateItem(17009 ); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); } break; //guerrero case JOB_WARRIOR: { item = ITEM_MANAGER::instance().CreateItem(19 ); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); item = ITEM_MANAGER::instance().CreateItem(11209 ); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); item = ITEM_MANAGER::instance().CreateItem(12209 ); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); item = ITEM_MANAGER::instance().CreateItem(13009 ); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); item = ITEM_MANAGER::instance().CreateItem(14009 ); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); item = ITEM_MANAGER::instance().CreateItem(15009 ); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); item = ITEM_MANAGER::instance().CreateItem(16009 ); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); item = ITEM_MANAGER::instance().CreateItem(17009 ); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); } break; //chaman case JOB_SHAMAN: { item = ITEM_MANAGER::instance().CreateItem(7009 ); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); item = ITEM_MANAGER::instance().CreateItem(11809 ); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); item = ITEM_MANAGER::instance().CreateItem(12629 ); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); item = ITEM_MANAGER::instance().CreateItem(13009 ); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); item = ITEM_MANAGER::instance().CreateItem(14009 ); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); item = ITEM_MANAGER::instance().CreateItem(15009 ); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); item = ITEM_MANAGER::instance().CreateItem(16009 ); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); item = ITEM_MANAGER::instance().CreateItem(17009 ); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); } break; //ninja case JOB_ASSASSIN: { item = ITEM_MANAGER::instance().CreateItem(19 ); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); item = ITEM_MANAGER::instance().CreateItem(11409 ); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); item = ITEM_MANAGER::instance().CreateItem(12349 ); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); item = ITEM_MANAGER::instance().CreateItem(13009 ); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); item = ITEM_MANAGER::instance().CreateItem(14009 ); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); item = ITEM_MANAGER::instance().CreateItem(15009 ); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); item = ITEM_MANAGER::instance().CreateItem(16009 ); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); item = ITEM_MANAGER::instance().CreateItem(17009 ); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); } break; //licano case JOB_WOLFMAN: { item = ITEM_MANAGER::instance().CreateItem(6009); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); item = ITEM_MANAGER::instance().CreateItem(21009); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); item = ITEM_MANAGER::instance().CreateItem(21509 ); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); item = ITEM_MANAGER::instance().CreateItem(13009 ); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); item = ITEM_MANAGER::instance().CreateItem(14009 ); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); item = ITEM_MANAGER::instance().CreateItem(15009 ); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); item = ITEM_MANAGER::instance().CreateItem(16009 ); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); item = ITEM_MANAGER::instance().CreateItem(17009 ); if (!item || !item->EquipTo(ch, item->FindEquipCell(ch))) M2_DESTROY_ITEM(item); } break; } } #endif //char.h buscar BYTE GetGMLevel() const; y pegar antes de esa linea entre void SetLevel(BYTE level); #ifdef ENABLE_GIVE_BASIC_WEAPON void addbonus(LPCHARACTER ch); void additems(LPCHARACTER ch); #endif //questlua_pc.cpp buscar esta casi al inicio y pegar despues de: namespace quest { // // "pc" Lua functions // #ifdef ENABLE_GIVE_BASIC_WEAPON int pc_addbonus(lua_State* L) { LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr(); if(ch) ch->addbonus(ch); return 0; } int pc_additems(lua_State* L) { LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr(); if(ch) ch->additems(ch); return 0; } #endif // y buscar { NULL, NULL } y pegar antes #ifdef ENABLE_GIVE_BASIC_WEAPON {"addbonus", pc_addbonus }, {"additems", pc_additems }, #endif ESTE ES LA QUEST NECESARIA PARA QUE FUNCIONE CORRECTAMENTE, NO CREO NECESARIO ENSEÑARLES A METER UNA QUEST SI ES ASÍ OLVIDA LO DE METER EL SOURCE XD quest give_basic_weapon begin state start begin when login with pc.getqf("login_weapon") == 0 begin function character() local character = {'Warrior ','Ninja ','Sura ','Shaman ','Lycan '} return character[pc.get_job()+1] end function empire_list() local empire_list = {'Shinsoo','Chunjo','Jinno'} return empire_list[pc.get_empire()] end function gender() local gender = {'male','female'} return gender[pc.get_sex()+1] end pc.change_gold(500000) --Yang que regalas al inicio say("") say("") say("") say("") say_item_vnum(50187) --Con esto solo te dice la quest que recibiste cofre de aprendiz pc.give_item2("50187",1) --Cofre de Aprendiz Lv1 pc . additems( ) pc . addbonus( ) horse.advance() horse.advance() horse.advance() horse.advance() horse.advance() horse.advance() horse.advance() horse.advance() horse.advance() horse.advance() horse.advance() horse.advance() horse.advance() horse.advance() horse.advance() horse.advance() horse.advance() horse.advance() horse.advance() horse.advance() horse.advance() horse.advance() horse.advance() horse.advance() horse.advance() horse.advance() horse.advance() horse.advance() horse.advance() horse.summon() horse.ride() notice_all(pc.get_name().." es un nuevo jugador en KraizySama!") set_state(__COMPLETE__) end end state __COMPLETE__ begin end end Agregar las funciones nuevas en quest_funtions en tu carpeta quest de tus files. character empire_list gender pc.addbonus pc.additems BUENO LO DE EL BAÚL DE APRENDIZ (50187) USTEDES AGREGUEN LAS COSAS QUE QUIERAN A SU GUSTO MODIFICANDO O AÑADIENDO EN SPECIAL_ITEM_GROUP.TXT EN SU SHARE/LOCALE/GERMANY O LO QUE TENGAN DE SU SERVIDOR. PRUEBAS DE QUE VA CORRECTAMENTE, DE IGUAL MANERA SIEMPRE HAGAN BACKUP CUANDO SE TRATA DE MODIFICAR SOURCE :v BUENO ESO ES TODO ESPERO LES SIRVA, SI LO COMPARTEN EN OTROS FOROS MÍNIMO DEJEN EL CREDITO EL ALEJANDO2020 COF* COF* XD OK ES TODO, INTENTARE AYUDAR SI OBTIENEN PROBLEMAS, PERO NO TENDRÍAN NINGUNO YO MISMO SEGUÍ MI PROPIA GUÍA Y ME FUE PERFECTO AL PRIMER INTENTO YA QUE NO ES NADA COMPLICADO. FELIZ NAVIDAD ATRASADA Y FELIZ AÑO NUEVO PRROS! FELIZ NAVIDAD 2021 :v y Tema Actualizado.
×
×
  • Crear nuevo...