[Tutorial] Servidor Compatнvel com ( 0.3b, 0.3a , 0.3c)
#1

Introduзгo:
Olб a todos hoje com muito orgulho venho criar um tutorial inйdito como deixar seu servidor compatнvel com vбrias versхes!

Veja:

Delete as Includes e coloque isto ao topo Game Mode:

pawn Код:
//-»»»  Versгo do Servidor «««-//
#define ServerVersion 1 // 0 = 0.3a | 1 = 0.3b | 2 = 0.3c - MUDE

//-»»»  Includes do GameMode «««-//

#if ServerVersion ==  0

#include "../Includes0/a_samp.inc"
#include "../includes0/Comandos.inc"
#include "../includes0/Arquivos.inc"
#include "../includes0/stremming.inc"
#include "../includes0/Foreach.inc"
#include "../includes0/djson.inc"
#include "../includes0/Veiculos.inc"

#endif

#if ServerVersion ==  1

#include "../Includes1/a_mysql.inc"
#include "../Includes1/a_samp.inc"
#include "../Includes1/a_http.inc"
#include "../includes1/Comandos.inc"
#include "../includes1/Arquivos.inc"
#include "../includes1/stremming.inc"
#include "../includes1/Foreach.inc"
#include "../includes1/djson.inc"
#include "../includes1/Veiculos.inc"

#endif

#if ServerVersion ==  2

#include "../Includes2/a_samp.inc"
#include "../includes2/Comandos.inc"
#include "../includes2/Arquivos.inc"
#include "../includes2/stremming.inc"
#include "../includes2/Foreach.inc"
#include "../includes2/djson.inc"
#include "../includes2/Veiculos.inc"
#define SetPlayerHoldingObject(%1,%2,%3,%4,%5,%6,%7,%8,%9) SetPlayerAttachedObject(%1,5-1,%2,%3,%4,%5,%6,%7,%8,%9)
#define StopPlayerHoldingObject(%1) RemovePlayerAttachedObject(%1,5-1)
#define IsPlayerHoldingObject(%1) IsPlayerAttachedObjectSlotUsed(%1,5-1)

#endif
Basta modificar as includes conforme queremos e ServerVersion conforme a versгo

Pastas:

Includes0 = 0.3a
Includes1 = 0.3b
Includes2 = 0.3c

Editando Objetos:

Como na versгo A para versгo B houve uma pequena modificaзгo nos objetos faзa o seguinte:

Mude todos

CreateObject > CreateObjectEx

E adicione ao final GM:

pawn Код:
stock CreateObjectEx(modelid, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ, Float:DrawDistance = 333.3)
{
    #if ServerVersion ==  0
        #pragma unused DrawDistance
        CreateObject(modelid, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ);
    #endif

    #if ServerVersion ==  1
        CreateObject(modelid, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ, Float:DrawDistance);
    #endif

    #if ServerVersion ==  2
        CreateObject(modelid, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ, Float:DrawDistance);
    #endif

    return true;
}
O Mesmo faзa com as outras funзхes que mudaram.

Simples,espero que tenham entendido a lуgica.
Agora se 'virem' com sua simples manipulaзгo de macros

Lembre-se:

Код:
#if ServerVersion ==  1  - > Checarб versгo do server
#endif                         -> Fecharб o cуdigo para a versгo usada na condicional if
#pragma unused DrawDistance  -> Indica que nгoo usaremos DrawDistance (evita warns)
Tutorial Lуgico

Crйditos:
Sistema pensado por mim,o 'Tutorial' tambйm.

Abraзos
Reply
#2

Уtimo Tutorial !
Eu estive pensando por que vocк tinha feito isto no 4FUN da [FeK]Squad.
E agora venho ver o motivo ._.
Parabйns уtimo tutorial !
Irб ajudar muitas pessoas !
Reply
#3

WTF?
Muito Bom vou testar os 3 agora
Reply
#4

Meu Game Mode que ultilizo Abre os 3 Server-Samp.exe numa boa,sem Warnings.
Reply
#5

no meu fica dando ISSO

Код:
C:\Documents and Settings\Pedro\Desktop\GM Novo\samp03csvr_win32\gamemodes\BRASILNEWLIFE.pwn(17) : fatal error 100: cannot read from file: "../Includes2/a_samp.inc"

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


1 Error.
Reply
#6

Nгo existe a incluiзгo.
Reply
#7

OTimo
Reply
#8

bom.
Reply
#9

Quote:

no meu fica dando ISSO

no meu tambem

@edit
aqui nao deu deu erro na hora de compilar ;x
Reply
#10

Nгo testei pelo fato de eu nгo usar versхes antigas em minhas gamemodes :S
Mas pelo cуdigo parece que funciona *.*

@Ichigo_Kurosaki:
Tб faltando include neeeee ¬.¬
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)