[API] sXe Injected Events 1.03
#1
Esta es una API que arme después de que Payas implementara mi pedido


Include:
Código PHP:
// make_screenshot
enum {
    
SCREEN_SUCCESS=0,
    
SCREEN_WAIT_SXEI,
    
SCREEN_NO_SXEI,
    
SCREEN_INVALID_TARGET,
    
SCREEN_INVALID_ADMIN,
    
SCREEN_UPLOAD,
    
SCREEN_DOWNLOAD,
    
SCREEN_STOPPED,
    
SCREEN_UNKNOWN_ERROR,
    
SCREEN_ADMIN_BUSY
}

// fw_screen_save
enum {
    
ERROR_NONE=0,
    
ERROR_DISCONNECT,
    
ERROR_TRANSFER,
    
ERROR_SAVE_FILE
}

// get_user_16bpp
enum {
    
BPP_UNKNOWN=0,
    
BPP_16BPP,
    
BPP_32BPP
}

/* [Saca una ScreenShot a un jugador]
 - admin: admin/jugador al que se le envia la ScreenShot (si es 0 solo se guarda en el servidor)
 - return:
  Devuelve "SCREEN_SUCCESS" si la ScreenShot fue iniciada correctamente,
  de lo contario devuelve cualquier otro "SCREEN_"
*/
native make_screenshot(idadmin)


/* [Devuelve el porcentaje actual de la transferencia]
 - return:
   Si la ScreenShot se envia a un admin el porcentaje es 50%-50% (upload-download),
   de lo contario es el 100% del upload.
   Devuelve -1 si no existe una transferencia en curso
*/
native screen_progress(id)


/* [Muestra en un MOTD la ultima ScreenShot recivida por el jugador]
 - return:
  Devuelve true si se mostro la ultima ScreenShot
*/
native screen_viewlast(id)


/* [el print del sxei-SS-info */
native print_sxei(id, const msg[], any:...)


/* [Devuelve el HID del jugador] */
native get_user_hid(idhid[], len)


/* [Devuelve el HID corto de setinfo] */
native get_user_shorthid(idhid[], len)


/* [Comprueba si esta en 16bpp]
 - return:
    BPP_UNKNOWN: No se puede saber (no sxe)
    BPP_16BPP: Esta en 16bpp
    BPP_32BPP: Esta en 32bpp
*/
native get_user_16bpp(id)


/* [Forward llamada cuando se completa o cancela la subida de la ScreenShot]
 - filename: Nombre del archivo de la imagen que se guarda en el servidor
 - error:
    ERROR_NONE:       Se subio y guardo la ScreenShot correctamente
    ERROR_DISCONNECT: Se cancelo la transferencia porque se desconecto el jugador
    ERROR_TRANSFER:   Ocurrio un error desconocido en la transferencia
    ERROR_SAVE_FILE:  Ocurrio un error al guardar la ScreenShot en el servidor
 - return:
  Devuelve true si se mostro la ultima ScreenShot
*/
forward fw_screen_save(idadmin, const filename[], error)


/* [Forward llamada cuando se inicia una ScreenShot] */
forward fw_screen_take(idadmin)


/* [Forward llamada cuando la ScreenShot llego al admi/jugadorn] */
forward fw_screen_recv(idplayer)


/* [Forward llamada cuando se recive el HID] */
forward fw_recv_hid(id, const hid[]) 


ChangeLog:
  • 1.00 - Lanzamiento de la API
  • 1.01 - Fix screen_progress
  • 1.02 - Fix screen_viewlast
  • 1.03 - Fix TASK_ID


Archivos adjuntos
.sma   Descargar AMXX / api_sxei.sma (Tamaño: 9.8 KB / Descargas: 463)
.inc   api_sxei.inc (Tamaño: 2.66 KB / Descargas: 354)
Responder
#2
Sin palabras.

Duda: una vez tomada la screenshot, se podrá subir a nuestro propio servidor (web)?
Responder
#3
Esa era mi principal idea al pedirle los eventos a Payas xd.
Responder
#4
CrabCrab descargan2 CrabCrab

Gracias Destro *-* ( y a Payas obviamente xD )
STEAM

(25/07/2016, 11:34 PM)Neeeeeeeeeel.- escribió:
(25/07/2016, 11:33 PM)Web Controller escribió: Este mensaje no se va a ver asi que russel te amo siempre me gustaste :$

Solamente voy a restaurar los datos del template de la db que rompi... no te ilusiones.
Responder
#5
Métele CamelCase negro mal parido. Excitedeyes
Responder
#6
No me gusta en pawn e.e
Responder
#7
(08/06/2015, 10:09 PM)Destro escribió: No me gusta en pawn e.e

RagestartRagestart ban
Responder
#8
Post actualizado...
cuando tenga mas ganas hago un par de ejemplos.
Responder
#9
Muy bueno destro, tardo bastante payas en darte la solución al pedido jaja
Responder
#10
Borralo y postealo en plugins.
[Imagen: paypalqr.png]
Responder
#11
Código PHP:
public task_nosxe(id)
{
    
id -= TASK_CHECK_BPP
    
    ExecuteForward
(g_fwRecvHIDg_fwNullid"")

>>
Código PHP:
public task_nosxe(id)
{
    
id -= TASK_NOSXE
    
    ExecuteForward
(g_fwRecvHIDg_fwNullid"")

Responder
#12
Update 1.03
____________________

Un ejemplo de como usar make_screenshot()

Código PHP:
make_screen(playeradmin)
{
    static const 
errors_string[][] = {
    
"""Wait sXe-I""No sXe-I""Invalid Target""Invalid Admin",
    
"Upload""Download""Stopped""Unknow""Admin Busy" }
    
    new 
result make_screenshot(playeradmin)
    if(
result == SCREEN_SUCCESS)
        
client_print(adminprint_chat"Subiendo ScreenShot al servidor...")
    else
        
client_print(adminprint_chat"ERROR: No se pudo tomar la ScreenShot. Error: %s"errors_string[result])

Responder
#13
Como podria subir screens a una web?
No pido que me expliquen todooo (se que es complejo)...
Pero masomenos darme una orientacion!

Buen aporte Rainbow
Responder
#14
Con tu api, las sXeScreens no se ven, por qué? Cuando termino de sacarle una screen el "Download Screenshot" no aparece, sólo se sube al servidor. Pero no la muestra Triste
Responder
#15
Hice una "solución" que es hacer en la forward fw_screen_save, un copy al "filename", luego mostrarlo en una show_motd.
Responder
#16
(08/05/2020, 09:04 PM)Niper.-. escribió: Con tu api, las sXeScreens no se ven, por qué? Cuando termino de sacarle una screen el "Download Screenshot" no aparece, sólo se sube al servidor. Pero no la muestra Triste

Bro tengo el mismo problema en mi comunidad a ciertos players no les saca screen o si les saca no se muestran en el visor del sxe,,,,es problema del sxe o del plugin o porque sucede esto?
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)