-
Contenido
137 -
Ingreso
-
Última visita
-
Días ganados
3
Tipo de contenido
Perfiles
Foros
Novedades
Novedad
Descargas
Tutoriales
Todo lo publicado por totopizza
-
HabÃa un chabon homosexual que se llamaba CrimeLife... muy homosexual pero querÃa saber si podia colarse un pene
-
Bienvenido, me gustarÃa ver tutoriales tuyos! de diseño gráfico porque me llama mucho la atención y asà también crear texturas para nuevos mapas y aportarla al foro. Feliz dÃa.
-
No. Ese es para editar el mapa in-game el de DarÃo es para probar el mapa. - - - Actualizado - - - No. Ese es para editar el mapa in-game el de DarÃo es para probar el mapa.
-
Grave problema con los FPS al compilar
tema responde a Nymph de totopizza en Dudas y problemas mapping
De seguro el archivo encargado de las luces el RAD no se que, lo tienes dañado, intenta cambiarlo, porque si no tienes ninguna entidad light sea cual sea: light:enviroment, light, light_spot, y al compilarlo y probarlo te sale iluminado es porque tu RAD no funciona/esta dañado.. -
Por favor deja el lino directo de la descarga, no lo pongas con anuncios.
-
Dejen el bardo.
-
DarÃo, tienes razón pero por otra parte es obligatorio dejar el archivo .sma adjunto. Debido a cuestiones simples, porque una vez pasado a .amxx no se sabe si puede traer algún backdoor u otro tipo de malisia, como podrÃa ser el caso de spam de otros servidores, yo se que tu no eres de esas personas...
-
Descripción: Mapa fy_queseyo Titulo del mapa: fy_queseyo Tipo: Fy_ Slots: 16 TT - 16 CT Tamaño: Mediano Descarga: http://cs.gamebanana.com/maps/185746 Imágenes y comentarios: Ash no se que decir xD Mapa fy_queseyo, no me pregunten porque el nombre porque "Que se yo" IMÃGENES:
-
Exelente idea! El plugin del que habla Cero fue creado por Mario AR. lo estaba buscando el link era este: http://amxmodx-es.com/Thread-Useless-AMX-Lag Pero no se porque no da con el plugin, creo que lo borraron :/
-
A ok xd Jajaja este cero xDDD
-
Rodrigo, tenes que tener en cuenta que cada comentario de este tema no debe sumar.. Ya es que es Desvirtúe
-
Dios santo son muchos mapas D: Me han gustado 2, el jail_piu de lean y el otro he_quemado... Pero voto por el de lean, jail_piu
-
Bienvenido alan espero que te animes aprender un poquito sobre el mapping joda1
-
Deja el código sma para brindarte más ayuda, otra cosa no crees dos veces el mismo tema!
-
Bueno, esto lo debi de haber hecho hace mucho tiempo :| Hola, me llamo Oscar, tengo 14 años, soy de honduras, comenze con esto del mapping en octubre del 2014, cuando después de 1 mes de trabajo logré hacer mi primer mapa ( ze_goto_escape_b3 ) Luego, fue pasando el tiempo y logre conseguir otro mapa, con un amigo de uruguay que al momento de hacerlo el no tenia ni la menor idea de como mappear :'D terminanos nuestro mapa ( ze_portal2_test) y bla bla bla... En enero de este año (2015) buscando por internet tutoriales para llenarme más de conocimientos sobre el tema de mapping, encontré este foro, me registre y todo, y como cualquier mapper nobato, empeze a publicar mis mapas como todo un loco en todos los foros a los cuales yo estaba registrado :| En este foro he conocido buenos amigos, me han tratado muy bien y por me gusto el foro, más con las actualizaciones que cada dÃa hacer rodrigo... Bueno por donde iba xDDDD.... Actualmente a la fecha que ise este thread tengo ya unos 5 a 6 mapas creados... También soy scripter, programo para el counter-strike, (crear plugins... nivel medio) Bueno, gracias por pasarte por mi tema.. ya que no me gusta hacer presentaciones joda1 Bye, feliz dÃa/tarde/noche/navida etc...
-
Bienvenido seas al foro!
-
No es solo para los que no saben los comandos, tiene mucha utilidad ya que algunos se tardan entre 30 segundos en comprar sus armas, y con este programa solo al precionar 1 tecla compras todo los que quieres... Gracias por aportarlo!
-
Buen tutoriales! Y ya decÃa yo porque no me agarraban las demás xd, según yo no tenia un limite de secuencias (10)
- 11 respuestas
-
- valve hammer editor
- texturas
-
(y 2 más)
Etiquetado con:
-
Muy buenas texturas!
-
Hola! Bienvenido seas al foro, aquà podrás aprender mucho más de que tu ya sabes Por lo que lei, parece que ya has creado mapas aim_. Talves te interese participar en el Primer Torneo Mapper para más información entra en este link: http://www.mundo-mapping.net/foro/showthread.php?431-Evento-Primer-Torneo-Mapper
-
Algunas fotitos no estarÃan mal xD, pero gracias
-
Thanks! sky of minecraft for cs 1.6 :'D
-
Nombre: Como hacer un menú con FOR Author: Kiske(Creador), Neeeeeeeeeel.-(Publicador) Imágenes: Fuente: Como hacer un menú con for Resto del tutorial: #include <amxmodx> #define PLUGIN "Menu con For" #define AUTHOR "Kiske" #define VERSION "1.0" #define LISTA_ANIMALES 10 // Ponemos que LISTA_ANIMALES es Igual a 10. new const Rank[listA_ANIMALES][] = { "Cerdo", "Pajaro", "Pinguino", "Elefante", "Chancho", "Perro", "Gato", "Loro", "Cacatua", "Dinosaurio" } // Lista de Animales. Tiene que tener la misma cantidad de Lugares, que le asignamos a "LISTA_ANIMALES". En este caso 10. public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /menu", "MenuConFor") register_clcmd("say_team /menu", "MenuConFor") } public MenuConFor(id) { new Animales[50], Posicion[10] // Creamos 2 Variables. new menu = menu_create("\yLista de Animales", "MenuAnimales") // Creamos el Menu con su Nombre. // Creamos el Loop, y ponemos: "i = 0 [i es igual a 0]", "i < LISTA_ANIMALES [si i es menor a LISTA_ANIMALES(10)]", "i++ [i aumenta en 1]". for(new i = 0; i < LISTA_ANIMALES; i++) { // Creamos un Formatex poniendo que la Variable "Animales" va a ser igual a el TEXTO escrito ahi. formatex(Animales, charsmax(Animales), "Animal %d: \y%s\w!", i, Rank[i]) num_to_str(i, Posicion, charsmax(Posicion)) // Pasamos un Numero a un String: "i(num) lo pasamos a Posicion(string)". menu_additem(menu, Animales, Posicion) // Creamos un nuevo Item en el Menu, con el Texto y la Posicion. } menu_setprop(menu, MPROP_NEXTNAME, "Pagina Siguiente") // Nombre para pasar la a la Pagina Siguiente. menu_setprop(menu, MPROP_BACKNAME, "Pagina Anterior") // Nombre para pasar la a la Pagina Anterior. menu_setprop(menu, MPROP_EXITNAME, "Salir") // Nombre para Salir del Menu. menu_display(id, menu, 0) // Ponemos que cuando abra el Menu, aparesca en la Pagina 0. DEFAULT!. return PLUGIN_HANDLED; // Ponemos esto para que no de noticia en el Say que escribimos algo para abrir el menu. } public MenuAnimales(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_HANDLED } new data[6], iName[64], access, callback menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback) switch(str_to_num(data)) { case 1..10: return PLUGIN_HANDLED } menu_destroy(menu) return PLUGIN_HANDLED }
-
Nombre: Tutorial de menues Author: [Anti] Imágenes: No hay.. Fuente: [TUT] Tutorial de menues Resto del tutorial: Les dejo un tuto de como hacer varios tipos de menu y otras herramientas. Tienen que tener una base en scripting de pawn. Creo que esta bastante bien explicado, cualquier duda consulten. Sistema Nuevo #include <amxmodx> public plugin_init() { register_plugin("Menu Basico", "1.0", "[Anti]"); register_clcmd( "say /menu", "cmdMenu" ); } public cmdMenu(id) { new gMenu = menu_create("\rHola soy un menu", "handlerMenu") //creamos el menu en la variable 'Menu' con el titulo 'Hola soy un menu' //que segun la opcion que elija el usuario va a llamar a la funcion 'handlerMenu' menu_additem(gMenu, "\wOpcion #1", "1") //Blanco = \w menu_additem(gMenu, "\dOpcion #2", "2") //Transparente = \d menu_additem(gMenu, "\yOpcion #3", "3") //Amarillo = \y //Rojo = \r //adderimos opciones al menu 'Menu' y le ponemos el numero de opcion menu_display(id, gMenu, 0) //aca le mostramos el menu 'Menu' al 'id'(indice de player) que queramos. //el '0' es la pagina del menu que le vamos a mostrar. } public handlerMenu(id, menu, item) //los parametros deben ir en este orden { if ( item == MENU_EXIT ) //si el item seleccionado es igual a '0'(Exit[salir]) { menu_destroy(menu) //destruimos el menu return PLUGIN_HANDLED; //y returnamos la funcion } switch(item) //hacemos un swicheo de los posibles resultados: { case 0: //en caso de que precione 1: le mandamos un msj { client_print(id, print_center, "HOLA SOY LA OPCION #1.") } case 1: //en caso de que precione 2: le mandamos otro msj { client_print(id, print_center, "HOLA SOY LA OPCION #2.") } case 2: //en caso de que precione 3: le mandamos otro msj { client_print(id, print_center, "HOLA SOY LA OPCION #3 MUAJAJAJA(?.") } } return PLUGIN_HANDLED; // returnamos la funcion... } Sistema Viejo #include <amxmodx> #include <amxmisc> new KEYSMENU = MENU_KEY_0 | MENU_KEY_1 | MENU_KEY_2; public plugin_init() { register_plugin("Menu con Len", "1.0", "[Anti]"); register_clcmd( "say /menu", "cmdOtroMenu"); register_menu("Menu", KEYSMENU, "HandMenu"); //registramos el menu 'Menu', con las teclas KEYSMENU //y el handler que al que va a llamar 'HandMenu' } public cmdOtroMenu(id) { new menu[100], len; // 'menu' es donde se va a alojar el string del menu, // en este caso le damos 99 celdas para sus caracteres len = 0; len += formatex(menu[len], sizeof menu - 1 - len, "\r Menu:^n"); len += formatex(menu[len], sizeof menu - 1 - len, "\y[1]\wOpcion #1^n"); len += formatex(menu[len], sizeof menu - 1 - len, "\y[2]\wOpcion #2^n^n"); len += formatex(menu[len], sizeof menu - 1 - len, "\r[0]\wSalir"); show_menu(id, KEYSMENU, menu, -1, "Menu"); //mostramos el menu al 'id' deseado, con las teclas ya definidas, el menu 'menu' //el timpo es lo que tarda el menu en cerrarse en este caso -1 que es infinito, como lo registre en el init 'Menu') } public HandMenu(id, keys, menu) //los parametros deben ir en este orden { switch(keys) //hacemos un swicheo de los posibles resultados: { case 0: client_print(id, print_chat, "HOLA SOY LA OPCION #1"); //en caso de que precione 1: le mostramos el menu 'gMenu', en la pagina '0' case 1: client_print(id, print_center, "HOLA SOY LA OPCION #2"); //en caso de que precione 2: le mandamos un msj case 9: menu_destroy(menu) //en caso de que precione 0: le destruimos el menu... } } 2 Menús 1 Handled #include <amxmodx> public plugin_init() { register_plugin( "2 Menus 1 Handled", "1.0", "[Anti]" ); register_clcmd("say /menu", "cmdMenu"); } public cmdMenu(id) { if ( get_user_team(id) == 1 ) //Si es del team TT. Menu_TT(id); //Mandamos al Menu TT. else if ( get_user_team(id) == 2 ) //Si es del team CT. Menu_CT(id); //Mandamos al Menu TT. } public Menu_TT(id) { new menu = menu_create("\rMenu TT:", "handMenu"); menu_additem(menu, "Opcion 1#", "T"); menu_additem(menu, "Opcion 2#", "T"); menu_additem(menu, "Opcion 3#", "T"); menu_display(id, menu, 0); //Mostramos el menu } public Menu_CT(id) { new menu = menu_create("\rMenu CT:", "handMenu"); menu_additem(menu, "Opcion 1#", "C"); menu_additem(menu, "Opcion 2#", "C"); menu_additem(menu, "Opcion 3#", "C"); menu_display(id, menu, 0); //Mostramos el menu } public handMenu(id, menu, item) { if ( item == MENU_EXIT ) //si el item seleccionado es igual a '0'(Exit[salir]) { menu_destroy( menu ); //destruimos el menu. return PLUGIN_HANDLED; //Returnamos la funcion. } new szData[2]; new item_access, item_callback; menu_item_getinfo( menu, item, item_access, szData,charsmax( szData ), _, _, item_callback ); //obtenemos informacion del menu y el item elegido. switch( szData[0] ) //Vemos la letra que hay en la primera celda de szData { case 'T': //En este caso si es "T". { switch( item ) //Switch del Menu TT { case 0: {}// Opcion 1# TT's case 1: {}// Opcion 2# TT's case 2: {}// Opcion 3# TT's } } case 'C': //En este caso si es "C". { switch( item ) //Switch del Menu CT { case 0: {}// Opcion 1# CT's case 1: {}// Opcion 2# CT's case 2: {}// Opcion 3# CT's } } } menu_destroy(menu); //Destruimos el menu return PLUGIN_HANDLED; //Returnamos el Handled } Diferentes natives(solo para el sistema nuevo) //Establece propiedades en un menu. Propiedades: #define MPROP_PERPAGE /* Numero de items en cada pagina (default 7)*/ #define MPROP_BACKNAME /* Nombre del boton "Back" */ #define MPROP_NEXTNAME /* Nombre del boton "Next" */ #define MPROP_EXITNAME /* Nombre del boton "Exit" */ #define MPROP_TITLE /* Establece el titulo de un menu */ #define MPROP_EXIT /* Establece la funcion del exit con MEXIT_NEVER(no aparece la opcion exit) y MEXIT_ALL(aparece la opcion exit[default]) */ #define MPROP_NOCOLORS /* Establece si los colores son automaticos */ #define MPROP_NUMBER_COLOR /* Establece el color de los numeros(default rojo) */ menu_setprop(menu, prop, ...); //Cancela el menu de un player. menu_cancel(player); //Adiere una linea de texto al menu. menu_addtext(menu, const text[], slot=1); //Adiere un espacio en blanco al menu. menu_addblank(menu, slot=1); //Destruye el menu. menu_destroy(menu); //Establece un texto para un item. menu_item_setname(menu, item, const name[]); //Obtiene el indice de item del menu y la pagina indicada(devuelve menor a 0 si es un item especial como MENU_EXIT) menu_find_id(menu, page, key); //Muestra a una player un menu. menu_display(id, menu, page=0); //Obtiene la cantidad de items en un menu. menu_items(menu); //Obtiene la cantidad de paginas en un menu. menu_pages(menu);
-
Nombre: Hacer Niveles Author: cLAANS Imágenes: No hay... Fuente: Tutorial - Hacer Niveles Resto del tutoriarl: #include < amxmodx > // Libreria que siempre y cada uno de nuestros plugins va a nesecitar #include < hamsandwich > // Libreria que vamos a utilizar para detectar cuando matamos a alguien y cuando revive alguien #define SetBit(%1,%2) ( %1 |= ( 1 << ( %2 & 31 ) ) ) // Bits, Leer tutorial de rocox para informarce mas #define ClearBit(%1,%2) ( %1 &= ~ ( 1 << ( %2 & 31 ) ) ) // Bits, Leer tutorial de rocox para informarce mas #define IsBit(%1,%2) ( %1 & ( 1 << ( %2 & 31 ) ) ) // Bits, Leer tutorial de rocox para informarce mas #define Siguiente_nivel(%1) %1 * 15 // Macro que se elevara segun otra variable ( Mas abajo lo veran ) #define SLOTS 14 // Los Slots maximos del servidor + 1; new const VERSION[ ] = "1.0" // Definimos la version del plugin new g_frags[ SLOTS ]; // Variable que va a almacenar nuestros frags new g_level[ SLOTS ]; // Variable que va a almacenar nuestros levels new g_conectado; // Variable que vamos a utilizar para no llamar a una native ( is_user_connected( index ) ) new g_vivo; // Variable que vamos a utilizar para no llamar a una native ( is_user_alive( index ) ) public plugin_init( ) { register_plugin( "Tutorial para hacer niveles", VERSION, "cLAANS" ); RegisterHam( Ham_Killed, "player", "fw_player_killed" ); // Llamamos a Ham Killed para ver Cuando matamos a alguien RegisterHam( Ham_Spawn, "player", "fw_player_spawn" ); // Llamamos a Ham Spawn para ver cuando revive un jugador } public client_putinserver( id ) SetBit( g_conectado, id ); // Seteamos en true una variable que usaremos despues para verificar si un usuario esta conectado y asi llamar una variable menos public client_disconnected( id ) { ClearBit( g_conectado, id ); ClearBit( g_vivo, id ); } // La varibale que seteamos en true cuando se conecto el usuario la seteamos en false para evitar errores public fw_player_spawn( id ) if( is_user_alive( id ) ) // Para evitar errores, si el usuario esta vivo SetBit( g_vivo, id ) // Seteamos en true nuestra variable public fw_player_killed( victim, attacker ) { if( !IsBit( g_conectado, victim ) || !IsBit( g_vivo, victim ) || victim == attacker ) // Si no esta conectada la victima, o si no esta viva o si la victima es igual al atacante return; // Paramos la funcion /* Si un usuario no esta conectado no podra atacar asi que no verificamos si el atacante esta conectado * lo mismo cuando algunos verifican si el atacante esta vivo, si no lo esta, pues no atacara */ g_frags[ attacker ]++; // Lo que hacemos aca es aumentar nuestra variable ( g_frags ) +1 /* Hay miles de formas de las que podemos hacer actuar esta variable */ /* SI queremos la aumentamos en 10 */ g_frags[ attacker ] += 10; ClearBit( g_vivo, victim ); // Seteamos en false la variable "g_vivo" para evitar problemas chequear_nivel( attacker ); // Chequeamos si nuestros frags son los suficientes para pasar de nivel } public chequear_nivel( index ) { if( g_frags[ index ] >= Siguiente_nivel( g_level[ index ] ) ) // SI nuestros frags son mayores o iguales a los requeridos por nuestra macro { g_frags[ index ] = 0 // Seteamos los frags en 0 ( SI QUIEREN ) g_level[ index ]++; // Aumentamos 1 nivel, o los que se les den la gana } } Ahà está todo explicado...