Jump to content

[D]ELARO ✓

Miembro
  • Contador contenido

    392
  • Ingreso

  • Última visita

  • Días ganados

    29

Todo lo publicado por [D]ELARO ✓

  1. si ya te estas metiendo con source, debes saber lo que haces, necesitas tener visual studio ya sea 2013, 2015, 2017 o 2019, ahora la cuestión es ver que no te de error al compilar sin modificar nada y ya despues empezar a meter mano.
  2. no estaban en español estos files? recuerdo haberlos visto.
  3. Estos files ya estaban en el foro pero esta caído el link así mismo como en el foro turco, los files son de Legendy con base MartySama en su versión 4.9.89 r88 # # # # # # # # # # # # # # # # # # # # # # # # # CONTENIDO: Solo traduje a español en cliente y servidor item_proto, mob_proto, locale_game y locale_interface. Falta traducir quest, locale_string y algunas cosas mas en locale_interface que son "sistemas" añadidos, pero eso ya será cosa de ustedes. Si hay bugs y sus fixes podrían añadirlo en comentarios y yo podría añadirlo despues al post. # # # # # # # # # # # # # # # # # # # # # # # # # VDI: se recomienda asignar al vdi mínimo 4gb de ram, no probé con menor cantidad. Mysql 5.6 GCC6 Visual Studio 2019 VDI: Usuario: root Contraseña: delaro Mysql: Usuario: root Contraseña: 12345 Esta montado directamente en un VDI funcionando sin ningún problema y ya listo para compilar source game. Una vez hayan configurado su ip con el comando bsdconfig, para iniciar pueden hacerlo como yo normalmente lo hago, cd /admin ENTER sh admin.sh ENTER y tendrán el menú a la vista, ya solo seria escribir 1 ENTER e iniciaran los 2 channels sin ningún tipo de complicaciones. # # # # # # # # # # # # # # # # # # # # # # # # # CUENTA GM: Usuario: marty Contraseña: 1 IMAGENES DENTRO DEL JUEGO: LINK DE DESCARGA: Google Drive
  4. servidores old como tal no hay, y si hubiera créeme que 2 o 3 de aquí saltarían a decir mierdas como de que solo tradujo y lanzo el servidor para cerrar al mes y estafar a los usuarios o cosas similares como ya estas viendo xd
  5. no es lo mismo lo que estas moviendo, el especular normalmente esta en 100 y solo hace que las armas tengan por decirlo asi un "reflejo" y el que da el brillo o efecto a armas y armaduras es de 1 que da el +7, 2 que da el +8 y 3 que da el +9, normalmente las armas ya altas tienen todos un 3. otra cosa a añadir es que no tiene efecto directamente desde mysql los brillos ya eso va en el cliente directo desde item_proto
  6. pues con photoshop lo hacer como tu gustes, lo normal es usar la misma resolución del logo original, si tienes problemas para darle un fondo transparente que normalmente ocurre después usa GIMP se lo das y exportas.
  7. Prueba de que andan perfecto, será cosa de testear y mirar sus problemas.
  8. Server Files de Forsaken o Mustang, estan en Frances y se ven maso menos decentes, no los he probado asi que no podre responder dudas a menos que yo lo haga. Les dejo imagenes GIF para darse una idea de lo que tienen. LINKS POR MEGA Y GOOGLE DRIVE: LINK MEGA LINK GOOGLE DRIVE Cualquier problema y solución a algún error pueden dejarlo en en post.
  9. esta interesante pero no veo claro y ademas veo la venta de esta base en una pagina asi que no se que pensar :v
  10. gracias ocupaba uno para unas pruebas con ese mysql xd
  11. ahorita que lo pienso el config edítalo con block de notas y cambia la ruta por la que esta actualmente el eternexus y ya debería andarte.
  12. Literalmente copie la guía que esta en el foro oficial de metin2, muchos ya lo sabían pero otros no, no esta de mas tener la guía acá, ojala algún loco haga un pack de imágenes con fondos transparentes se le agradecería xd Bandera de gremio con fondo trasparente. Para crear una bandera de gremio con fondo transparente hay varias formas os explicare una. Tenéis que instalar los siguiente programas: photoshop y icofx. Iniciamos el photoshop y cargamos la imagen que queremos para nuestra bandera de gremio, usamos la herramienta borrador mágico para eliminar el fondo que posee la imagen. Cuando tengamos la imagen sin fondo, es decir con un fondo transparente, nos dirigimos a Archivo, Guardar como y la guardamos con formato CompuServer GIF. Pulsamos guardar, nos aparecerá un cuadro color Indexado pulsamos ok, aparecerá otro cuadro de opciones de gif en el cual pulsaremos también ok. Iniciamos el programa icofx. Abrimos la imagen ala cual le hemos quitado el fondo con el photoshop. Abrir como una imagen. Nos dirigimos a Ajustes, tamaño de la imagen, Personalizar. El tamaño permitido para las imágenes de gremio son: 16 de anchura. 12 de altura y aceptamos. Ahora guardaremos la imagen, Archivo, guardar como y la guardamos como Mapa de Bits (bmp) y guardar. Veréis que la imagen es muy pequeña y quizá no la veréis bien, pero cuando la agreguemos al juego quedara perfecta. Lo siguiente que hacemos es dirigirnos ala carpeta del metin: ruta donde tengan el cliente / nombre de su cliente/ upload. En la carpeta de upload encontrareis las banderas que vienen por defecto y ahí es donde copiaremos la imagen que acabamos de crear. Iniciamos el juego, este paso solo lo puede hacer el líder del gremio, abrimos la ventana de gremio, símbolo de gremio, refrescamos y nos saldrá la imagen que hemos creado, la seleccionamos y pulsamos ok. Nota: Puede ocurrir que cuando finalicéis este paso no la veáis o los demás no la vean, para eso es mejor salir del juego y volver a iniciar o darle simplemente a cambiar personaje y entrar nuevamente. Muestra de que quedaría perfecto siguiendo al pie de la letra el método presentado.
  13. ya esta posteado por @.hack//ROOTS el cual es el dueño del post original en turkmmo :v
  14. a mi no me salió nada igual es solo para sacar cosas así que no deberían tener problemas xd
  15. yo también ocupo eso, tengo años buscando algo así bro
  16. el arbol puede estar directamente metido como un npc fijo sin función, lo de la nieve podria ser cosa del cliente ya que algunos traen esas opciones de citys nevadas, el efecto de nevar, etc.
  17. en local es posible pero es muy complicado si no sabes como, hay post en metin2dev sobre ese tema, te recomiendo comprar el vps ya que es menos lio.
  18. 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.
  19. todos los clientes tienen esa textura solo mete los archivos gr2 iconos y que ocupes para que te vaya, hay varias armas de esa epoca que reutilizaban texturas ya incluidas
  20. como dicen johan investiga los marty sama ya que son los mejores en rendimiento y la facilidad de traducción y modificación y lo digo por experiencia ya que me gusta indagar en todo tipo de files y hasta ahora esos son los mas fáciles de modificar a gusto.
  21. la textura ya viene incluida en el cliente cualquiera que sea ya que esa arma es de un boss por asi decirlo de gruta del exilio lo que ocupas es el gr2 y demas para hacerla funcionar y ella sola tomara la textura de tu cliente.
  22. lo que quiere decir que en navicat le das en account y en la tabla account click derecho desing table y en donde veas envanter asignale un 0 o si tienes ya pjs creados copea lo que tenga en envanter ya que puede que sea una fecha, una vez copeado pegalo en donde te acabo de decir arriba.
  23. write in English and use a Spanish translator or just write in English, so we understand more xd
×
×
  • Crear nuevo...