Mensajes: 3,077
Temas: 33
Registro en: May 2017
Reputación:
34
16/09/2018, 09:48 AM
(Última modificación: 04/02/2021, 02:46 AM por Valentina. . Edited 2 times in total.)
Purcharse Orders v1.2
Descripción: Con este plugin puedes hacer un pedido de compra. (Si el plugin tiene apoyo quizás haga una mini página para mostrar todos los pedidos.)
Imágenes:
Requisitos:
Código:
[*] AMX Mod X 1.8.3 o superior.
Comandos:
Código:
[*] "say /order" - Abre un menú para hacer un pedido.
[*] "say /myorder" - Abre un menú que muestra tu pedido, te pedirá identificación.
Instalación: Descargar y compilar el plugin.
Colocarlo en la carpeta plugins/
Activar módulo mysql en configs/modules.ini .
Contar con un hosting para la base de datos (MYSQL) .
Changelog:
Código:
- 1.2
[*] Reestructuración de todo el código (Ahora solo soporta MySQL): 4 de febrero de 2021.
- 1.1
[*] Arreglado un bug que no guardaba bien el pedido: 23 de septiembre de 2018.
- 1.0
[*] Versión inicial, Fecha de lanzamiento: 16 de septiembre de 2018.
Páginas de soporte oficial en:
Descarga:
Archivos adjuntos
Descargar AMXX / PurchaseOrders_v1.2.sma (Tamaño: 15.47 KB / Descargas: 26)
Mensajes: 713
Temas: 32
Registro en: Jul 2014
Reputación:
19
Y si mi email es
[email protected] ?
Podrías utilizar la API de oldmenu de Destro para que el código sea más legible, cuando se puede simplificar tanto código es genial hacerlo.
Veo muchos espacios
( id ) y así en el resto del código (lo he visto en otras personas también) pero supongo que es parte de cada uno.
Código PHP:
//#include < cstrike > //#include < engine > //etc
Directamente elimina esos comentarios, son útiles?
Lo siguiente como idea aparte:
Código PHP:
/* | INFORMACIÓN | # Este PLUGIN ha sido creado por Chema. */
Podría quedarte mejor así ->
Código PHP:
/* Copyright (c) 2018 Chema https://amxmodx-es.com/Thread-AMXX-Pedidos-de-COMPRA */
O similar, aunque lo del "Copyright" está de adorno porque necesitarías añadir una licencia pero nadie hace eso en amxx pero te quedaría pro.
Con respecto a las anteriores sugerencias, ya sé que es un aporte pero siempre te sirven para próximos plugins que hagas.
Mensajes: 940
Temas: 29
Registro en: Sep 2016
Reputación:
7
Excelente
Cita: Los precios en la moneda venezolana se fijarán a partir de la reconversión monetaria y valdrá mucho menos de lo que cuesta una Cachapa con queso.
Mensajes: 913
Temas: 53
Registro en: Jan 2018
Reputación:
7
Cita: EDIT: Tenia pensado hacerlo mediante MySQL Threads ( Destro ) y mostrar toda la información del pedido en una página web pero me dio paja
Uviera sido buena idea que usaras
MySQL , porque desde mi punto de vista. El
MySQL puede guarda mas archivos y/e información que el
adv_vault , porque e visto casos donde el
adv_vault ocurren errores o fallas donde el servidor se cae o se reinicia y los datos o información se pierde o se reinicia,
Bueno en mi punto de vista.
Pero seria mejor con
MySQL como sugerencia.
*Maper Del Cstrike * - *Estudiante De Sistema *
(03/09/2018, 08:32 PM) Skylar escribió: Obviamente, no va a hablar con super pro para que le mueva el thread (04/01/2019, 05:12 PM) Pan Bimbo (? escribió: QUE HICISTE QUE??????? YO QUERIA LA PLACA DE VIDEO PORQUE LA TIRASTE CTM (15/01/2019, 04:08 AM) FreDDy escribió: (15/01/2019, 03:45 AM) Hernandez escribió: Qué más dan las palabras si a donde vayas están en tetas protestando sin sentido
No todas salen en tetas y no todas protestan sin sentido. Estás generalizando algo que sólo unas pocas lo hacen a diferencia de las muchas que realmente tienen un motivo para protestar. (17/01/2019, 12:34 PM) totopizza escribió: el orden de los factores no altera el producto xD (23/01/2019, 01:10 AM) GoldenCosta escribió: Cita: E visto que este ZP , ESTA AQUI EN EL FORO PERO NO ES EL ORIGINAL POR QUE? , LE FALTAN MILES DE COSAS ESTA BUGEADO , LE FALTAN CÓDIGOS NI SE IMAGINAN , BUENO EL MOD ESTE SE VENDE POR 70 DOLARES , ACEPTO PAYPAL Y EN PESOS CHILENOS $42.584
ya esta publicado.... y 70 us en arg son 2625,35 pesos... estas loco con esa guita neel mantiene el foro por 2 años (23/01/2019, 01:17 AM) Skylar escribió: (22/01/2019, 10:30 PM) el_juan_fail escribió: (22/01/2019, 10:03 AM) Neeeeeeeeeel.- escribió: Por favor subir las cosas al foro y no links a blogs externos. Solamente en caso de que haya recursos que no se pudiesen subir por un tema de tamaño, poenr un link de descarga directo (tipo mega) de los recursos y subir los plugins y demás archivos livianos al foro.
deberia ponerle en un link mediante el mediafire o mega o link externo lo que sea pero no es bueno dejar cosa agregada sin descargar solo por el blog no se puede se puede bajar el recurso o que haya sido creado disculpa neeeeel. estaba leyendose las reglas u.u
Dijiste lo mismo que dijo Neeel! (27/02/2019, 08:00 PM) Sugisaki escribió: (27/02/2019, 05:37 PM) Pan Bimbo (? escribió: (27/02/2019, 12:06 AM) luxor xD escribió: Hola, si precacheo algo en un plugin, no es necesario precachearlo en otro plugin?
Si yo cargo una caja en un camion, mi amigo puede cargar la MISMA caja en el camion?, y no porque ya esta cargada. [R]ak escribió: Mis conocimientos aumentaron un 500% con este post (14/03/2019, 10:26 PM) KrR10VnZl escribió: en Venezuela aprendes a ser desde bombas molotov hasta velas, es algo así como supervivencia al desnudo jaja (18/04/2019, 11:04 PM) Jose88 escribió: (18/04/2019, 09:55 PM) Hypnotize escribió: arriba marica
papa me va perdonar pero aquí no sale ningún download. solo sale esto
Código PHP:
PD ; Niños Ratas eviten sacar el autor jaja . REMOVIDO POR TUTOR Y SLOWHACK .
(21/04/2019, 09:38 AM) SHENK! =D escribió: ASDASD
Si nos organizamos cojemos todos. (11/08/2019, 05:11 PM) Cr3470r escribió: Todo Software es crackeable ... No importa cuantas validaciones hagan, la ventaja siempre la tenemos nosotros ... (28/07/2015, 09:34 PM) Nazi.- escribió: :ohgodwhy buen aporte
PD: situación sentimental: Sin internet
Sigue así
(28/02/2020, 12:23 AM) Skylar escribió: (27/02/2020, 11:28 PM) 4evergaming escribió: Ya me puse como autor y lo subi a mi empresa
Abrazos
FIX
Mensajes: 1,072
Temas: 57
Registro en: Feb 2016
Reputación:
8
(16/09/2018, 12:39 PM) El pirucho XP-007 escribió: Cita: EDIT: Tenia pensado hacerlo mediante MySQL Threads ( Destro ) y mostrar toda la información del pedido en una página web pero me dio paja
Uviera sido buena idea que usaras MySQL , porque desde mi punto de vista. El MySQL puede guarda mas archivos y/e información que el adv_vault , porque e visto casos donde el adv_vault ocurren errores o fallas donde el servidor se cae o se reinicia y los datos o información se pierde o se reinicia, Bueno en mi punto de vista.
Pero seria mejor con MySQL como sugerencia.
Adv vault es básico. MySQL quedaría bueno sí querés hacerlo a través de foro.. Mira:
http://prntscr.com/kv1od4
Mensajes: 659
Temas: 97
Registro en: Feb 2016
Reputación:
12
es parecido al mio xd, con lo de compra
pero es diferenticimo el mio es sencillo
Mensajes: 913
Temas: 53
Registro en: Jan 2018
Reputación:
7
(16/09/2018, 01:12 PM) Alejandro escribió: es parecido al mio xd, con lo de compra pero es diferenticimo el mio es sencillo
Hay un diferencia....
El tuyo es de
Precios de Admin y este es de
Pedidos de COMPRA. , el tuyo es un menú de admin simple y este lo usuarios podrán hacer únicamente un pedido de
ADMIN .
Mensajes: 659
Temas: 97
Registro en: Feb 2016
Reputación:
12
dije que era diferente, solo que trae el menu con precio y eso
Mensajes: 35
Temas: 8
Registro en: Jun 2020
(16/09/2018, 09:48 AM) Chema escribió: Hola buenas; les dejo por acá un plugin que hice hace 1 mes y me olvidé de aportarlo.
El plugin es muy sencillo; pero me pareció genial hacerlo y aportarlo.
Sí ven algún error en el código háganmelo saber y lo corregiré en cuanto pueda!.
Requerimientos :
Función : Mediante un menú lo usuarios podrán hacer únicamente un pedido de ADMIN .
EDIT : Tenia pensado hacerlo mediante MySQL Threads ( Destro ) y mostrar toda la información del pedido en una página web pero me dio paja :V
Código :
Código PHP:
/* | INFORMACIÓN | # Este PLUGIN ha sido creado por Chema. */ #include < amxmodx > #include < amxmisc > //#include < cstrike > //#include < engine > //#include < fakemeta > //#include < hamsandwich > //#include < fun > //#include < xs > //#include < sqlx > #include < adv_vault > const MESES_MAX = 12 ; enum _ : adminData { NOMBRE [ 25 ], COSTO } enum _ : adminTimeData { ACCESO , TIEMPO } new const g_szAdminsData [ 3 ][ adminData ] = { { "VIP" , 20 }, { "ADMIN" , 30 }, { "SÚPER ADMIN" , 45 } } new CHAT_PREFIX [ ] = "!g[ BG ]!y" ; new CONSOLE_PREFIX [ ] = "[ BG ]" ; new const g_szFile [ ] = "pedidos.log" ; new const g_szEmails [ ][ ] = { "@live.com" , "@gmail.com" , "@hotmail.com" , "@live.com.ar" , "@gmail.com.ar" , "@hotmail.es" , "@hotmail.com.ar" , "@yahoo.com.ar" }; new g_szText [ 300 ], g_iSent [ 33 ], g_szHotmail [ 33 ][ 34 ], g_iContador [ 33 ][ adminTimeData ]; new g_iLen ; new g_iKeys = MENU_KEY_0 | MENU_KEY_1 | MENU_KEY_2 | MENU_KEY_3 | MENU_KEY_4 | MENU_KEY_5 ; /* *** GUARDADO *** */ enum { FIELD_SENT , MAX_FIELDS } new g_iFields [ MAX_FIELDS ]; new g_iVault ; new g_szPlayerName [ 33 ]; public plugin_init ( ) { register_plugin ( "Pedido de ADMINS" , "1.0" , "Chema" ); register_clcmd ( "say /pedido" , "SM_Pedido" ); register_clcmd ( "REGISTER_CONTACT" , "register_contact" ); register_menu ( "PEDIDO" , g_iKeys , "HM_Pedido" ); register_menu ( "CONFIRMACION" , g_iKeys , "HM_Confirmacion" ); AdvancedVault_Init ( ); } public AdvancedVault_Init ( ) { g_iVault = adv_vault_open ( "bg_admincompra" , false ); g_iFields [ FIELD_SENT ] = adv_vault_register_field ( g_iVault , "FIELD_SENT" ); adv_vault_init ( g_iVault ); } public client_putinserver ( id ) { g_iContador [ id ][ ACCESO ] = 0 ; g_iContador [ id ][ TIEMPO ] = 0 ; g_iSent [ id ] = 0 ; g_szHotmail [ id ][ 0 ] = 0 ; get_user_name ( id , g_szPlayerName [ id ], sizeof ( g_szPlayerName ) ); Load_Data ( id ); } public client_disconnect ( id ) { g_szHotmail [ id ][ 0 ] = 0 ; Save_Data ( id ); } public SM_Pedido ( id ) { if( g_iSent [ id ] == 1 ) { ColorChat ( id , "Ya has enviado un pedido de compra." ); return PLUGIN_HANDLED ; } g_iLen = 0 ; g_iLen += formatex ( g_szText [ g_iLen ], sizeof g_szText - 1 - g_iLen , "\r[BG]\y COMPRAR ADMINISTRADOR^n^n" ); g_iLen += formatex ( g_szText [ g_iLen ], sizeof g_szText - 1 - g_iLen , "\r1. \wTIPO: \d[ \r%s \d]^n" , g_szAdminsData [ g_iContador [ id ][ ACCESO ] ][ NOMBRE ] ); g_iLen += formatex ( g_szText [ g_iLen ], sizeof g_szText - 1 - g_iLen , "\r2. \wTIEMPO: \d[ \r%d MES%s \d]^n^n" ,( g_iContador [ id ][ TIEMPO ] + 1 ),( g_iContador [ id ][ TIEMPO ] == 0 ? "" : "ES" ) ); g_iLen += formatex ( g_szText [ g_iLen ], sizeof g_szText - 1 - g_iLen , "COSTO: \d[ \y$%d \d]^n^n" ,( g_szAdminsData [ g_iContador [ id ][ ACCESO ] ][ COSTO ] * ( g_iContador [ id ][ TIEMPO ] + 1 ) ) ); g_iLen += formatex ( g_szText [ g_iLen ], sizeof g_szText - 1 - g_iLen , "\r3. \wE-Mail: \d[ \y%s\d ]^n^n" , g_szHotmail [ id ][ 0 ] == 0 ? "\dIngresa tú E-Mail." : g_szHotmail [ id ] ); g_iLen += formatex ( g_szText [ g_iLen ], sizeof g_szText - 1 - g_iLen , "\r4. \wEnviar pedido^n^n" ); g_iLen += formatex ( g_szText [ g_iLen ], sizeof g_szText - 1 - g_iLen , "\r0. \wSalir" ); show_menu ( id , g_iKeys , g_szText , - 1 , "PEDIDO" ); return PLUGIN_HANDLED ; } public HM_Pedido ( id , keys , menu ) { switch( keys ) { case 0 : { if( ++ g_iContador [ id ][ ACCESO ] == 3 ) g_iContador [ id ][ ACCESO ] = 0 ; SM_Pedido ( id ); } case 1 : { if( ++ g_iContador [ id ][ TIEMPO ] == MESES_MAX ) g_iContador [ id ][ TIEMPO ] = 0 ; SM_Pedido ( id ); } case 2 : { client_cmd ( id , "messagemode REGISTER_CONTACT" ); } case 3 : { if( g_szHotmail [ id ][ 0 ] == 0 ) { g_iContador [ id ][ ACCESO ] = 0 ; g_iContador [ id ][ TIEMPO ] = 0 ; client_cmd ( id , "spk buttons/button2.wav" ); ColorChat ( id , "Debes ingresar un E-Mail." ); SM_Pedido ( id ); return PLUGIN_HANDLED ; } SM_Confirmacion ( id ); } } return PLUGIN_HANDLED ; } public SM_Confirmacion ( id ) { if( g_iSent [ id ] == 1 ) { ColorChat ( id , "Ya has enviado un pedido de compra." ); return; } g_iLen = 0 ; g_iLen += formatex ( g_szText [ g_iLen ], sizeof g_szText - 1 - g_iLen , "\r[BG]\y ¿ESTA SEGURO QUE DESEA ENVIAR EL PEDIDO?^n^n" ); g_iLen += formatex ( g_szText [ g_iLen ], sizeof g_szText - 1 - g_iLen , "\wTIPO: \d[ \r%s \d]^n" , g_szAdminsData [ g_iContador [ id ][ ACCESO ] ][ NOMBRE ] ); g_iLen += formatex ( g_szText [ g_iLen ], sizeof g_szText - 1 - g_iLen , "\wTIEMPO: \d[ \r%d MES%s \d]^n^n" ,( g_iContador [ id ][ TIEMPO ] + 1 ),( g_iContador [ id ][ TIEMPO ] == 0 ? "" : "ES" ) ); g_iLen += formatex ( g_szText [ g_iLen ], sizeof g_szText - 1 - g_iLen , "\wCOSTO: \d[ \y$%d \d]^n^n" ,( g_szAdminsData [ g_iContador [ id ][ ACCESO ] ][ COSTO ] * ( g_iContador [ id ][ TIEMPO ] + 1 ) ) ); g_iLen += formatex ( g_szText [ g_iLen ], sizeof g_szText - 1 - g_iLen , "\wE-Mail: \d[ \y%s\d ]^n^n" , g_szHotmail [ id ][ 0 ] == 0 ? "\dIngresa tú E-Mail." : g_szHotmail [ id ] ); g_iLen += formatex ( g_szText [ g_iLen ], sizeof g_szText - 1 - g_iLen , "\r1. \wConfirmar pedido^n^n" ); g_iLen += formatex ( g_szText [ g_iLen ], sizeof g_szText - 1 - g_iLen , "\r0. \wSalir" ); show_menu ( id , g_iKeys , g_szText , - 1 , "CONFIRMACION" ); } public HM_Confirmacion ( id , keys , menu ) { switch( keys ) { case 0 : { ColorChat ( id , "El pedido ha sido enviado con éxito." ); console_print ( id , "%s El pedido ha sido enviado con éxito." , CONSOLE_PREFIX ); ColorChat ( id , "TIPO: !g%s!y !t|!y TIEMPO !g%d MES%s !t|!y COSTO: !g$%d!y." , g_szAdminsData [ g_iContador [ id ][ ACCESO ] ][ NOMBRE ], ( g_iContador [ id ][ TIEMPO ] + 1 ),( g_iContador [ id ][ TIEMPO ] == 0 ? "" : "ES" ), ( g_szAdminsData [ g_iContador [ id ][ ACCESO ] ][ COSTO ] * ( g_iContador [ id ][ TIEMPO ] + 1 ) ) ); g_iSent [ id ] = 1 ; get_user_name ( id , g_szPlayerName [ id ], sizeof ( g_szPlayerName ) ); log_to_file ( g_szFile , "NOMBRE: %s | TIPO %s | TIEMPO %d MES%s | COSTO $%d | E-Mail: %s" , g_szPlayerName [ id ], g_szAdminsData [ g_iContador [ id ][ ACCESO ] ][ NOMBRE ], ( g_iContador [ id ][ TIEMPO ] + 1 ),( g_iContador [ id ][ TIEMPO ] == 0 ? "" : "ES" ), ( g_szAdminsData [ g_iContador [ id ][ ACCESO ] ][ COSTO ] * ( g_iContador [ id ][ TIEMPO ] + 1 ) ), g_szHotmail [ id ] ) Save_Data ( id ); } } return PLUGIN_HANDLED ; } public register_contact ( id ) { read_args ( g_szHotmail [ id ], charsmax ( g_szHotmail [ ] ) ); remove_quotes ( g_szHotmail [ id ] ); trim ( g_szHotmail [ id ] ); new iArroba = contain ( g_szHotmail [ id ], "@" ); new bool : bValid = false if( iArroba > 0 && strlen ( g_szHotmail [ id ] ) > 7 ) { for( new i = 0 ; i < sizeof ( g_szEmails ); i ++) { if( equali ( g_szHotmail [ id ][ iArroba ], g_szEmails [ i ] ) ) { SM_Pedido ( id ); client_cmd ( id , "spk buttons/button3.wav" ); bValid = true ; break; } } } if ( ! bValid ) { g_szHotmail [ id ][ 0 ] = 0 ; SM_Pedido ( id ); ColorChat ( id , "Dirección de correo electrónico inválido." ); client_cmd ( id , "spk buttons/button2.wav" ); } return PLUGIN_HANDLED ; } public Save_Data ( id ) { if( ! is_user_connected ( id ) ) return; adv_vault_set_start ( g_iVault ) adv_vault_set_field ( g_iVault , g_iFields [ FIELD_SENT ], g_iSent [ id ] ); adv_vault_set_end ( g_iVault , 0 , g_szPlayerName [ id ] ); } public Load_Data ( id ) { if( ! adv_vault_get_prepare ( g_iVault , _ , g_szPlayerName [ id ] ) ) { return; } g_iSent [ id ] = adv_vault_get_field ( g_iVault , g_iFields [ FIELD_SENT ] ); } stock ColorChat ( const id , const Text [ ], any :... ) { new count = 1 , players [ 32 ]; static msg [ 191 ], len , i ; len = formatex ( msg , charsmax ( msg ), "%s " , CHAT_PREFIX ); vformat ( msg [ len ], 190 - len , Text , 3 ); replace_all ( msg , 190 , "!g" , "^4" ); replace_all ( msg , 190 , "!y" , "^1" ); replace_all ( msg , 190 , "!t" , "^3" ); static iLen = sizeof ( msg ); replace_all ( msg , iLen , "á" , "á" ); replace_all ( msg , iLen , "Á" , "Ã" ); replace_all ( msg , iLen , "é" , "é" ); replace_all ( msg , iLen , "É" , "É" ); replace_all ( msg , iLen , "í" , "Ã*" ); replace_all ( msg , iLen , "Í" , "Ã" ); replace_all ( msg , iLen , "ó" , "ó" ); replace_all ( msg , iLen , "Ó" , "Ó" ); replace_all ( msg , iLen , "ú" , "ú" ); replace_all ( msg , iLen , "Ú" , "Ú" ); replace_all ( msg , iLen , "ñ" , "ñ" ); replace_all ( msg , iLen , "Ñ" , "Ñ" ); if( id ) players [ 0 ] = id ; else get_players ( players , count , "ch" ); for( i = 0 ; i < count ; ++ i ) { if( is_user_connected ( players [ i ] ) ) writeMessage ( players [ i ], msg ); } } stock writeMessage ( player , message [ ] ) { message_begin ( MSG_ONE , get_user_msgid ( "SayText" ), { 0 , 0 , 0 }, player ); write_byte ( player ); write_string ( message ); message_end ( ); }
Holaa disculpame por revivir esto, pero si alguien quiere comprar un "admin" y pone su correo, envia el pedido. Yo como dueño del server como se quien pidio para comprar admin?
Mensajes: 3,077
Temas: 33
Registro en: May 2017
Reputación:
34
(08/06/2020, 09:45 PM) El Abuelo Loco escribió: Holaa disculpame por revivir esto, pero si alguien quiere comprar un "admin" y pone su correo, envia el pedido. Yo como dueño del server como se quien pidio para comprar admin?
Se genera un archivo .log en la carpeta logs.
Mensajes: 35
Temas: 8
Registro en: Jun 2020
08/06/2020, 09:59 PM
(Última modificación: 08/06/2020, 10:02 PM por El Abuelo Loco . Edited 1 time in total.)
(08/06/2020, 09:57 PM) Chema escribió: Se genera un archivo .log en la carpeta logs.
ahh gracias y disculpa por la molestia
y si quiero cancelarle el pedido?
Mensajes: 6,664
Temas: 81
Registro en: Jan 2014
Reputación:
68
Código PHP:
new const g_szFile [ ] = "pedidos.log" ;
► NO DOY AYUDA VIA MENSAJE PRIVADO ◄
* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Mensajes: 35
Temas: 8
Registro en: Jun 2020
08/06/2020, 10:18 PM
(Última modificación: 08/06/2020, 10:27 PM por El Abuelo Loco . Edited 1 time in total.)
(08/06/2020, 10:10 PM) kikizon2 escribió: Código PHP:
new const g_szFile [ ] = "pedidos.log" ;
Elimine la log de pedidos pero al escribir /predido me sale Ya hiciste tu pedido. Me ayudan?
Mensajes: 6,664
Temas: 81
Registro en: Jan 2014
Reputación:
68
Borra la base de datos en la carpeta data bg_admincompras
► NO DOY AYUDA VIA MENSAJE PRIVADO ◄
* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Mensajes: 35
Temas: 8
Registro en: Jun 2020
08/06/2020, 11:02 PM
(Última modificación: 08/06/2020, 11:10 PM por El Abuelo Loco .)
(08/06/2020, 10:51 PM) kikizon2 escribió: Borra la base de datos en la carpeta data bg_admincompras
Muchisisimas Gracias <3
(08/06/2020, 10:51 PM) kikizon2 escribió: Borra la base de datos en la carpeta data bg_admincompras
si quiero que agreguen su numero de telefono antes el Hotmail? como puedo hacer?
Mensajes: 3,238
Temas: 47
Registro en: Feb 2015
Reputación:
34
Se viene la versión mysql?
Mensajes: 6,664
Temas: 81
Registro en: Jan 2014
Reputación:
68
(09/06/2020, 12:31 AM) Skylar escribió: Se viene la versión mysql?
Create un panel con php para que pueda ver los pedidos
► NO DOY AYUDA VIA MENSAJE PRIVADO ◄
* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Mensajes: 1,072
Temas: 57
Registro en: Feb 2016
Reputación:
8
09/06/2020, 04:32 PM
(Última modificación: 09/06/2020, 04:50 PM por Niper.-. . Edited 5 times in total.)
Ahí publico lo que habia hecho antes <3
Perdi el php, pero bueno se los dejo a ustedes
Se veía algo así
https://prnt.sc/kv1od4
Código PHP:
/* | INFORMACIÓN | # Este PLUGIN ha sido creado por Chema. */ #include < amxmodx > #include < amxmisc > //#include < cstrike > //#include < engine > //#include < fakemeta > //#include < hamsandwich > //#include < fun > //#include < xs > #include < sqlx > const MESES_MAX = 12 ; enum _ : adminData { NOMBRE [ 25 ], COSTO } enum _ : adminTimeData { ACCESO , TIEMPO } new const g_szAdminsData [ 3 ][ adminData ] = { { "VIP" , 20 }, { "ADMIN" , 30 }, { "SÚPER ADMIN" , 45 } } new CHAT_PREFIX [ ] = "!g[ BG ]!y" ; new CONSOLE_PREFIX [ ] = "[ BG ]" ; new const g_szFile [ ] = "pedidos.log" ; new const g_szEmails [ ][ ] = { "@live.com" , "@gmail.com" , "@hotmail.com" , "@live.com.ar" , "@gmail.com.ar" , "@hotmail.es" , "@hotmail.com.ar" , "@yahoo.com.ar" }; new g_szText [ 300 ], g_iSent [ 33 ], g_szHotmail [ 33 ][ 34 ], g_iContador [ 33 ][ adminTimeData ]; new g_iLen ; new g_iKeys = MENU_KEY_0 | MENU_KEY_1 | MENU_KEY_2 | MENU_KEY_3 | MENU_KEY_4 | MENU_KEY_5 ; /* *** GUARDADO *** */ #define TABLE_NAME "pedidos_compra" new const Datos_MySQL [][] = { "" , "" , "" , "" } new Handle : g_connection ; enum { CARGAR , INSERTAR } new g_szPlayerName [ 33 ][ 32 ]; stock mysql_initalize () { g_connection = SQL_MakeDbTuple ( Datos_MySQL [ 0 ], Datos_MySQL [ 1 ], Datos_MySQL [ 2 ], Datos_MySQL [ 3 ]); if(! g_connection ) return pause ( "a" ); new Query [ 256 ]; formatex ( Query , charsmax ( Query ), "CREATE TABLE IF NOT EXISTS %s (PName VARCHAR(32) UNIQUE, TipoAdm VARCHAR(21), TiempoAdm INT(11), Costo INT(11), Email VARCHAR(64), Pedido INT(3), Timestamp INT(11))" , TABLE_NAME ); SQL_ThreadQuery ( g_connection , "QueryCreateTable" , Query ); return PLUGIN_CONTINUE ; } public plugin_init ( ) { register_plugin ( "Pedido de ADMINS" , "1.0" , "Chema MySQL by heNK'" ); register_clcmd ( "say /pedido" , "SM_Pedido" ); register_clcmd ( "REGISTER_CONTACT" , "register_contact" ); register_menu ( "PEDIDO" , g_iKeys , "HM_Pedido" ); register_menu ( "CONFIRMACION" , g_iKeys , "HM_Confirmacion" ); mysql_initalize ( ); } public client_putinserver ( id ) { g_iContador [ id ][ ACCESO ] = 0 ; g_iContador [ id ][ TIEMPO ] = 0 ; g_iSent [ id ] = 0 ; g_szHotmail [ id ][ 0 ] = 0 ; get_user_name ( id , g_szPlayerName [ id ], sizeof ( g_szPlayerName [] ) ); static data [ 2 ]; data [ 0 ] = id ; data [ 1 ] = CARGAR ; SQL_ThreadQuery ( g_connection , "QueryHandler" , fmt ( "SELECT * FROM %s WHERE PName=^" % s ^ "" , TABLE_NAME , g_szPlayerName [ id ]), data , sizeof data ); } public client_disconnected ( id ) { g_szHotmail [ id ][ 0 ] = 0 ; } public SM_Pedido ( id ) { if( g_iSent [ id ] == 1 ) { ColorChat ( id , "Ya has enviado un pedido de compra." ); return PLUGIN_HANDLED ; } g_iLen = 0 ; g_iLen += formatex ( g_szText [ g_iLen ], sizeof g_szText - 1 - g_iLen , "\r[BG]\y COMPRAR ADMINISTRADOR^n^n" ); g_iLen += formatex ( g_szText [ g_iLen ], sizeof g_szText - 1 - g_iLen , "\r1. \wTIPO: \d[ \r%s \d]^n" , g_szAdminsData [ g_iContador [ id ][ ACCESO ] ][ NOMBRE ] ); g_iLen += formatex ( g_szText [ g_iLen ], sizeof g_szText - 1 - g_iLen , "\r2. \wTIEMPO: \d[ \r%d MES%s \d]^n^n" ,( g_iContador [ id ][ TIEMPO ] + 1 ),( g_iContador [ id ][ TIEMPO ] == 0 ? "" : "ES" ) ); g_iLen += formatex ( g_szText [ g_iLen ], sizeof g_szText - 1 - g_iLen , "COSTO: \d[ \y$%d \d]^n^n" ,( g_szAdminsData [ g_iContador [ id ][ ACCESO ] ][ COSTO ] * ( g_iContador [ id ][ TIEMPO ] + 1 ) ) ); g_iLen += formatex ( g_szText [ g_iLen ], sizeof g_szText - 1 - g_iLen , "\r3. \wE-Mail: \d[ \y%s\d ]^n^n" , g_szHotmail [ id ][ 0 ] == 0 ? "\dIngresa tú E-Mail." : g_szHotmail [ id ] ); g_iLen += formatex ( g_szText [ g_iLen ], sizeof g_szText - 1 - g_iLen , "\r4. \wEnviar pedido^n^n" ); g_iLen += formatex ( g_szText [ g_iLen ], sizeof g_szText - 1 - g_iLen , "\r0. \wSalir" ); show_menu ( id , g_iKeys , g_szText , - 1 , "PEDIDO" ); return PLUGIN_HANDLED ; } public HM_Pedido ( id , keys , menu ) { switch( keys ) { case 0 : { if( ++ g_iContador [ id ][ ACCESO ] == 3 ) g_iContador [ id ][ ACCESO ] = 0 ; SM_Pedido ( id ); } case 1 : { if( ++ g_iContador [ id ][ TIEMPO ] == MESES_MAX ) g_iContador [ id ][ TIEMPO ] = 0 ; SM_Pedido ( id ); } case 2 : { client_cmd ( id , "messagemode REGISTER_CONTACT" ); } case 3 : { if( g_szHotmail [ id ][ 0 ] == 0 ) { g_iContador [ id ][ ACCESO ] = 0 ; g_iContador [ id ][ TIEMPO ] = 0 ; client_cmd ( id , "spk buttons/button2.wav" ); ColorChat ( id , "Debes ingresar un E-Mail." ); SM_Pedido ( id ); return PLUGIN_HANDLED ; } SM_Confirmacion ( id ); } } return PLUGIN_HANDLED ; } public SM_Confirmacion ( id ) { if( g_iSent [ id ] == 1 ) { ColorChat ( id , "Ya has enviado un pedido de compra." ); return; } g_iLen = 0 ; g_iLen += formatex ( g_szText [ g_iLen ], sizeof g_szText - 1 - g_iLen , "\r[BG]\y ¿ESTA SEGURO QUE DESEA ENVIAR EL PEDIDO?^n^n" ); g_iLen += formatex ( g_szText [ g_iLen ], sizeof g_szText - 1 - g_iLen , "\wTIPO: \d[ \r%s \d]^n" , g_szAdminsData [ g_iContador [ id ][ ACCESO ] ][ NOMBRE ] ); g_iLen += formatex ( g_szText [ g_iLen ], sizeof g_szText - 1 - g_iLen , "\wTIEMPO: \d[ \r%d MES%s \d]^n^n" ,( g_iContador [ id ][ TIEMPO ] + 1 ),( g_iContador [ id ][ TIEMPO ] == 0 ? "" : "ES" ) ); g_iLen += formatex ( g_szText [ g_iLen ], sizeof g_szText - 1 - g_iLen , "\wCOSTO: \d[ \y$%d \d]^n^n" ,( g_szAdminsData [ g_iContador [ id ][ ACCESO ] ][ COSTO ] * ( g_iContador [ id ][ TIEMPO ] + 1 ) ) ); g_iLen += formatex ( g_szText [ g_iLen ], sizeof g_szText - 1 - g_iLen , "\wE-Mail: \d[ \y%s\d ]^n^n" , g_szHotmail [ id ][ 0 ] == 0 ? "\dIngresa tú E-Mail." : g_szHotmail [ id ] ); g_iLen += formatex ( g_szText [ g_iLen ], sizeof g_szText - 1 - g_iLen , "\r1. \wConfirmar pedido^n^n" ); g_iLen += formatex ( g_szText [ g_iLen ], sizeof g_szText - 1 - g_iLen , "\r0. \wSalir" ); show_menu ( id , g_iKeys , g_szText , - 1 , "CONFIRMACION" ); } public HM_Confirmacion ( id , keys , menu ) { switch( keys ) { case 0 : { ColorChat ( id , "El pedido ha sido enviado con éxito." ); console_print ( id , "%s El pedido ha sido enviado con éxito." , CONSOLE_PREFIX ); ColorChat ( id , "TIPO: !g%s!y !t|!y TIEMPO !g%d MES%s !t|!y COSTO: !g$%d!y." , g_szAdminsData [ g_iContador [ id ][ ACCESO ] ][ NOMBRE ], ( g_iContador [ id ][ TIEMPO ] + 1 ),( g_iContador [ id ][ TIEMPO ] == 0 ? "" : "ES" ), ( g_szAdminsData [ g_iContador [ id ][ ACCESO ] ][ COSTO ] * ( g_iContador [ id ][ TIEMPO ] + 1 ) ) ); g_iSent [ id ] = 1 ; get_user_name ( id , g_szPlayerName [ id ], sizeof ( g_szPlayerName [] ) ); static data [ 2 ]; data [ 0 ] = id ; data [ 1 ] = INSERTAR ; new Query [ 512 ]; formatex ( Query , charsmax ( Query ), "INSERT INTO %s (PName, TipoAdm, TiempoAdm, Costo, Email, Pedido, Timestamp) VALUES (^" % s ^ ", ^" % s ^ ", '%d', '%d', ^%s^" , '%d' , '%d' ) ", TABLE_NAME, g_szPlayerName[id], g_szAdminsData[g_iContador[id][ACCESO]][NOMBRE], (g_szAdminsData[g_iContador[id][ACCESO]][COSTO] * (g_iContador[id][TIEMPO] + 1)), (g_iContador[id][TIEMPO] + 1), g_szHotmail[id], g_iSent[id], get_systime());; SQL_ThreadQuery(g_connection, " QueryHandler ", Query, data, sizeof(data)); log_to_file( g_szFile, " NOMBRE : % s | TIPO % s | TIEMPO % d MES % s | COSTO $% d | E - Mail : % s ", g_szPlayerName[ id ], g_szAdminsData[ g_iContador[ id ][ ACCESO ] ][ NOMBRE ], ( g_iContador[ id ][ TIEMPO ] + 1 ),( g_iContador[ id ][ TIEMPO ] == 0 ? "" : " ES " ), ( g_szAdminsData[ g_iContador[ id ][ ACCESO ] ][ COSTO ] * ( g_iContador[ id ][ TIEMPO ] + 1 ) ), g_szHotmail[ id ] ) } } return PLUGIN_HANDLED; } public register_contact( id ) { read_args( g_szHotmail[ id ], charsmax( g_szHotmail[ ] ) ); remove_quotes( g_szHotmail[ id ] ); trim( g_szHotmail[ id ] ); new iArroba = contain( g_szHotmail[ id ], " @ "); new bool:bValid = false if( iArroba > 0 && strlen( g_szHotmail[ id ] ) > 7 ) { for( new i = 0; i < sizeof ( g_szEmails ); i++) { if( equali( g_szHotmail[ id ][ iArroba ], g_szEmails[ i ] ) ) { SM_Pedido( id ); client_cmd( id, " spk buttons / button3 . wav " ); bValid = true; break; } } } if ( !bValid ) { g_szHotmail[ id ][ 0 ] = 0; SM_Pedido( id ); ColorChat ( id, " Dirección de correo electrónico inválido . " ); client_cmd( id, " spk buttons / button2 . wav " ); } return PLUGIN_HANDLED; } public QueryHandler(failstate, Handle:Query, error[], errnum, data[], size, Float:queuetime) { if(failstate != TQUERY_SUCCESS) { log_to_file(" SQLx_Error . log ", " ERROR : [% d ] - [% s ] ", errnum, error); return PLUGIN_HANDLED; } static id; id = data[0]; if(!is_user_connected(id)) return PLUGIN_HANDLED; switch(data[1]) { case INSERTAR: console_print(id, " Datos insertados "); case CARGAR: { if(SQL_NumResults(Queru)) { g_iSent[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(" pedido ")); } } } return PLUGIN_CONTINUE; } public QueryCreateTable(failstate,Handle:Query, error[], errnum, data[], size, Float:queuetime) { if(failstate != TQUERY_SUCCESS) { log_to_file(" SQLx_Error . log ", " ERROR2 : [% d ] - [% s ] ", error, errnum); return PLUGIN_HANDLED; } return PLUGIN_HANDLED; } stock ColorChat( const id, const Text[ ], any:... ) { new count = 1, players[ 32 ]; static msg[ 191 ], len, i; len = formatex( msg, charsmax(msg), " % s ", CHAT_PREFIX ); vformat( msg[ len ], 190 - len, Text, 3 ); replace_all( msg, 190, " ! g ", " ^ 4 " ); replace_all( msg, 190, " ! y ", " ^ 1 " ); replace_all( msg, 190, " ! t ", " ^ 3 " ); static iLen = sizeof( msg ); replace_all( msg, iLen, " á ", " á " ); replace_all( msg, iLen, " Á ", " à " ); replace_all( msg, iLen, " é ", " é " ); replace_all( msg, iLen, " É ", " É " ); replace_all( msg, iLen, " í ", " à * " ); replace_all( msg, iLen, " Í ", " à " ); replace_all( msg, iLen, " ó ", " ó " ); replace_all( msg, iLen, " Ó ", " Ó " ); replace_all( msg, iLen, " ú ", " ú " ); replace_all( msg, iLen, " Ú ", " Ú " ); replace_all( msg, iLen, " ñ ", " ñ " ); replace_all( msg, iLen, " Ñ ", " Ñ " ); if(id) players[ 0 ] = id; else get_players( players, count, " ch " ); for( i = 0; i < count; ++i) { if( is_user_connected( players[ i ] ) ) writeMessage( players[ i ], msg ); } } stock writeMessage( player, message[ ] ) { message_begin( MSG_ONE, get_user_msgid( " SayText " ), { 0, 0, 0 }, player ); write_byte( player ); write_string( message ); message_end( ); }
Mensajes: 168
Temas: 53
Registro en: Jun 2020
Alguien tiene una idea porque no me lo reconoce? ya instale el inc que recomienda #Chema
Cita: #include < adv_vault >
Mensajes: 3,077
Temas: 33
Registro en: May 2017
Reputación:
34
Actualización!
Código:
Versión 1.2
[*] Reestructuración de todo el código (Ahora solo soporta MySQL): 4 de febrero de 2021.