Programación en Pawn - SAMP

samp-compat: Includes de compatibilidad entre 0.3.7 y 0.3.DL

¿Encontraste un Plugin que te asombró? ¿Qué opinas de mostrárnoslo? ¡Súbelo y compártelo con los demás! También, encuentra gran cantidad de Includes.
Reglas del Foro

  • Si publicas un Plugin de tu autoría, deberás publicar el código fuente del mismo. No olvides utilizar el BBCode [Pawn]Código aquí[/Pawn].
  • Si no eres el autor del plugin/include o has utilizado códigos de otros autores, recuerda colocar los créditos correspondientes. (El plagio es motivo de sanción).

Moderador: Ayudantes

Librerías samp-compat

Imagen Imagen

Permite conexiones de clientes con version diferente a la del servidor, permitiendoles jugar con clientes de otra versión sin ningun software adicional

Instalación

Requiere Pawn.Raknet por UrShadow:
Descargar pawnraknet.zip y descomprimir en su carpeta plugins
Descargar pawnraknet.cfg y pegarlo en su carpeta plugins
Descargar Pawn.RakNet.inc y descomprimir en carpeta pawno/includes.

Descargar dl-compat.inc o 037-compat.inc (darle click derecho y "Guardar como..") y pegarlo en sus carpetas de include.
Si usan el servidor 0.3.DL, deben usar 037-compat.inc para dejar entrar a 0.3.7, pero si usan el servidor 0.3.DL deberan usar dl-compat.inc para dejar entrar a la 0.3.DL.
Para usar la version 037-compat, deben tambien descargar este plugin (elegir entre version Windows dll o linux .so, no olvidarse de colocarlo en server.cfg) y el include el cual necesita para funcionar en la carpeta pawno de vuestro compilador.

Incluir en vuestro codigo y listo! Nada mas.
 Codigo Pawno:
1
2
3

#include <dl-compat>
//O para servers 0.3.DL:
#include <037-compat>[/COLOR][/FONT]
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 3
O si usas sampctl (pronto hare un tutorial de eso), puedes usar los siguientes comandos:

Código: Seleccionar todo

sampctl package install AGraber/samp-dl-compat
O
sampctl package install AGraber/samp-037-compat
Y ya!

Uso

Solo incluyando en su script, nada más. Si quieres detectar a clientes 0.3.DL o 0.3.7 puedes hacerlo usando GetPlayerVersion y comparar la version que retorna la funcion, o usar las funciones IsClient03DL(playerid) o IsClient037(playerid) (dependiendo de la funcion que uses). Esto no es necesario para que funcione el include.

Advertencia
Si eres un usuario avanzado de Pawn.RakNet debes revisar que este include no interfiera con tus cosas puesto que modifica ciertas secuencias RPC.

Dicho esto, ambos includes estan funcionando a la perfección!

Creditos

Gracias por leer!
Spoiler:
 Codigo Pawno:
1
2
3

#include <dl-compat>
//O para servers 0.3.DL:
#include <037-compat>
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 3
Solo incluyando en su script.

Solo incluyendo en su script.*
Dejando los pequeños fallos a un lado.

Es un gran aporte esto, solo por curiosidad, como mencionas aquí:
la parte de objetos/skin descargados no funcionará para los clientes de version 0.3.7
¿Solo funcionaria si los archivos se usan de forma contraria? Es decir, instalando los archivos en la DL o en la R2?
Graber escribió:
02 Jun 2018 12:12
Librerías samp-compat

Imagen Imagen

Permite conexiones de clientes con version diferente a la del servidor, permitiendoles jugar con clientes de otra versión sin ningun software adicional

Instalación

Requiere Pawn.Raknet por UrShadow:
Descargar pawnraknet.zip y descomprimir en su carpeta plugins
Descargar pawnraknet.cfg y pegarlo en su carpeta plugins
Descargar Pawn.RakNet.inc y descomprimir en carpeta pawno/includes.

Descargar dl-compat.inc o 037-compat.inc (darle click derecho y "Guardar como..") y pegarlo en sus carpetas de include.
Si usan el servidor 0.3.DL, deben usar 037-compat.inc para dejar entrar a 0.3.7, pero si usan el servidor 0.3.DL deberan usar dl-compat.inc para dejar entrar a la 0.3.DL.

Incluir en vuestro codigo y listo! Nada mas.
 Codigo Pawno:
1
2
3

#include <dl-compat>
//O para servers 0.3.DL:
#include <037-compat>[/COLOR][/FONT]
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 3
O si usas sampctl (pronto hare un tutorial de eso), puedes usar los siguientes comandos:

Código: Seleccionar todo

sampctl package install AGraber/samp-dl-compat
O
sampctl package install AGraber/samp-037-compat
Y ya!

Uso

Solo incluyando en su script, nada más. Si quieres detectar a clientes 0.3.DL o 0.3.7 puedes hacerlo usando GetPlayerVersion y comparar la version que retorna la funcion, o usar las funciones IsClient03DL(playerid) o IsClient037(playerid) (dependiendo de la funcion que uses). Esto no es necesario para que funcione el include.

Advertencia
El include de 037-compat (para server 0.3.DL), aunque funciona, la parte de objetos/skin descargados no funcionará para los clientes de version 0.3.7 (los jugadores normales en la version que es no se verán afectados). Al cambiar al player de virtual world, el jugador se bugeara/desincronizará y no podrá jugar. Solo lo recomiendo para mostrar un mensaje agradable (ej. un dialog) de que actualize a la version mas nueva.

Sin embargo, el dl-compat (para server 0.3.7) funciona a la perfeccion!


Creditos

Gracias por leer!
Hola, personita sensual :3.

Excelente aporte eh...Ya se me hacia muy raro que no habian sacado un Include sobre esto, un saludito de kokorito de mi parte :D.
KaizerHind escribió:
02 Jun 2018 12:21
¿Solo funcionaria si los archivos se usan de forma contraria? Es decir, instalando los archivos en la DL o en la R2?
Explico:

El include dl-compat solo es para permitir a la 0.3.DL en servers 0.3.7. No permite la descarga de objetos, y ya que el resto del netcode sigue siendo igual (ya que lo unico nuevo son los skins y objetos), pues la conexión sigue fluidamente en 0.3.DL a pesar del servidor ser viejo.

El include 037-compat por otro lado, hace que la 0.3.7 se pueda conectar al servidor 0.3.DL. Al intentar mostrar objetos descargables de la 0.3.DL, mostrara un error de SA-MP (un mensaje de texto o bien el objeto "?"). No hay manera de hacer compatibles los objetos con la 0.3.7. Ademas de que esta variente un poco inestable ya que se bugea, solo recomiendo usarla para mostrar un dialog de ayuda para actualizar y luego kickearlo. (Con dl-compat no es el caso, anda bien ese.)
ImLopez escribió:
02 Jun 2018 12:41
Hola, personita sensual :3.

Excelente aporte eh...Ya se me hacia muy raro que no habian sacado un Include sobre esto, un saludito de kokorito de mi parte :D.
Hola, muchas gracias. Te agradecería que no citases el post entero ya que se ve feo, gracias.
Spoiler:
Graber escribió:
02 Jun 2018 12:49
Explico:

El include dl-compat solo es para permitir a la 0.3.DL en servers 0.3.7. No permite la descarga de objetos, y ya que el resto del netcode sigue siendo igual (ya que lo unico nuevo son los skins y objetos), pues la conexión sigue fluidamente en 0.3.DL a pesar del servidor ser viejo.

El include 037-compat por otro lado, hace que la 0.3.7 se pueda conectar al servidor 0.3.DL. Al intentar mostrar objetos descargables de la 0.3.DL, mostrara un error de SA-MP (un mensaje de texto o bien el objeto "?"). No hay manera de hacer compatibles los objetos con la 0.3.7. Ademas de que esta variente un poco inestable ya que se bugea, solo recomiendo usarla para mostrar un dialog de ayuda para actualizar y luego kickearlo. (Con dl-compat no es el caso, anda bien ese.)
Ya veo, genial eh, a ver si lo uso, para ver que tal trabaja.
Em, interesante. Un increíble uso del plugin de urShadow claro.

Luego veo el código a ver que tal.
¿No tienes el archivo .so? :,v
Mexicanito escribió:
21 Jun 2018 02:57
¿No tienes el archivo .so? :,v
Si entras al repo de PAWN.RakNet lo encontraras.
https://github.com/urShadow/Pawn.RakNet ... nux.tar.gz
Me complace informar que he hecho que samp-037-compat sea estable y vuelva funcionar con virtual worlds en la ultima versión. Lo estozy usando en vivo con una cantidad grande de players y hasta ahora ningun bug raro.
Gracias por este excelente aporte, tengo un usuario que probó la versión ALPHA de un GM que estoy programando desde CERO y me dijo que le gustaba el servidor que a cada instante desintalaba la DL para venir a la 0.3.7 a jugar, al parecer le gusta más esa versión pero ahora será compatible. +REP.
Tengo este error al iniciar en un vps

Código: Seleccionar todo

[23:54:45]  Loading plugin: samp-037-compat-fix.so
[23:54:45]   Failed (/usr/lib32/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by plugins/samp-037-compat-fix.so))
venezuelarondon escribió:
02 Ago 2018 18:59
Tengo este error al iniciar en un vps

Código: Seleccionar todo

[23:54:45]  Loading plugin: samp-037-compat-fix.so
[23:54:45]   Failed (/usr/lib32/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by plugins/samp-037-compat-fix.so))
Prueba de nuevo, subí una versión mas nueva (1.0.1) que esta compilada para que no pida esa dependencia. Igualmente ya estoy trabajando en una versión que solo sería plugin, sin tener que intervenir mucho en pawn.

¿Quién está conectado?

En total hay 2 usuarios conectados :: 1 registrado, 0 ocultos y 1 invitado (basados en usuarios activos en los últimos 5 minutos)
La mayor cantidad de usuarios identificados fue 855 el 27 May 2018 00:03

Usuarios navegando por este Foro: Thiagoizidro y 1 invitado