Noticias:

Debes de estar registrado para poder ver el contenido indicado. Registrate o Conectate

Menú Principal

Mensajes recientes

#91
Desarrollo de Servidores / Info de la faccion
Último mensaje por Swarlog - Feb 04, 2023, 12:49 AM
Información Adicional:

Es un código que encontre y al igual que a mi os puede servir. Con el os informara, mediante un comando, de todos los jugadores conectados de vuestra faction.

Código:

if(strcmp(cmd,"/members",true)==0)
{
new teamnumber;
if (PlayerInfo[playerid][pLeader] != 0) teamnumber = PlayerInfo[playerid][pLeader];
else if (PlayerInfo[playerid][pMember] != 0) teamnumber = PlayerInfo[playerid][pMember];
else if (PlayerInfo[playerid][pFMember] != 255) teamnumber = PlayerInfo[playerid][pFMember];
else
{
SendClientMessage(playerid, COLOR_GRAD1, "You are not a member of an organization!");
return 1;
}
new alevel[25], alevel2[25];
if(PlayerInfo[playerid][pDivision] == 1) { alevel = "TNR"; }
else if(PlayerInfo[playerid][pDivision] == 2) { alevel = "CID"; }
else if(PlayerInfo[playerid][pDivision] == 3) { alevel = "HSIU"; }
else if(PlayerInfo[playerid][pDivision] == 4) { alevel = "SWAT"; }
else if(PlayerInfo[playerid][pDivisionLeader] == 1) { alevel2 = "TNR"; }
else if(PlayerInfo[playerid][pDivisionLeader] == 2) { alevel2 = "CID"; }
else if(PlayerInfo[playerid][pDivisionLeader] == 3) { alevel2 = "HSIU"; }
else if(PlayerInfo[playerid][pDivisionLeader] == 4) { alevel2 = "SWAT"; }

SendClientMessage(playerid, 0x808000AA, "Members Online:");
foreach (Player, i)
{
if (IsPlayerConnected(i))
{
GetPlayerRPName(i, sendername, sizeof(sendername));
format(string, sizeof(string), "");
if(PlayerInfo[playerid][pLeader] || PlayerInfo[playerid][pMember])
{
if (PlayerInfo[i][pLeader] == teamnumber && PlayerInfo[i][pDivisionLeader])
{
format(string, sizeof(string), "%s (Leader), Division: %s",sendername, alevel2);
}
else if (PlayerInfo[i][pLeader] == teamnumber && PlayerInfo[i][pDivisionLeader])
{
format(string, sizeof(string), "%s (Leader)",sendername);
}
else if (PlayerInfo[i][pMember] == teamnumber && PlayerInfo[i][pDivision] != 0)
{
format(string, sizeof(string), "%s, Rank: %d, Division: %s",sendername, PlayerInfo[i][pRank], alevel);
}
else if (PlayerInfo[i][pMember] == teamnumber && PlayerInfo[i][pDivision] == 0)
{
format(string, sizeof(string), "%s, Rank: %d.",sendername, PlayerInfo[i][pRank]);
}
}
else if(PlayerInfo[playerid][pFMember] != 255)
{
if (PlayerInfo[i][pFMember] == teamnumber)
{
format(string, sizeof(string), "%s, Rank: %d.",sendername, PlayerInfo[i][pRank]);
}
}
if (strlen(string) > 1) SendClientMessage(playerid, 0xF5DEB3AA, string);
}
}
}
#92
Desarrollo de Servidores / Subir/Bajar nivel de busqueda ...
Último mensaje por Swarlog - Feb 04, 2023, 12:49 AM
Información Adicional:

Ya que estamos poniendo temas relacionados con el sistema de busquedas (las estrellas), os dejo este código para subir o bajar mediante el uso de un comando el nivel de busqueda del jugador.

Código:

if (strcmp("/subirnivel", cmdtext, true, 10) == 0)
{
new oldlevel;
new newlevel;

oldlevel = GetPlayerWantedLevel(playerid);
newlevel = oldlevel + 1;
SetPlayerWantedLevel(playerid, newlevel);
SendClientMessage(playerid, 0xFF0000AA,"Vuestro nivel de busqueda ha aumentado!");

return 1;
}

if (strcmp("/bajarnivel", cmdtext, true, 10) == 0)
{
new oldlevel;
new newlevel;

oldlevel = GetPlayerWantedLevel(playerid);
newlevel = oldlevel + 1;
SetPlayerWantedLevel(playerid, newlevel);
SendClientMessage(playerid, 0xF6F600F6,"Vuestro nivel de busqueda ha bajado!");

return 1;
}
#93
Desarrollo de Servidores / Cambios de estado
Último mensaje por Swarlog - Feb 04, 2023, 12:49 AM
Información Adicional:

Como dice el titulo, se trata del code que os permitira mediante el uso de comandos, cambiar el estado de vuestro personaje, ya sea estado negativo o positivo. Esta bastante bien para servidores de roll.

Código:

/======Includes=============
#include <a_samp>
#include <zcmd>
#include <sscanf2>
//=======Colores=============
#define NEGATIVO 0xFF0000FF
#define POSITIVO 0x00FF00FF
//=======news===============
new bool:ConEstado[MAX_PLAYERS];
new Text3D:estado[MAX_PLAYERS];
//=======comandos==============
CMD:estado(playerid,params[])
{
new estadoo[200],str[256],mensaje[256];
if(ConEstado[playerid] == true) return SendClientMessage(playerid,NEGATIVO,"Ya estas con un estado. Usa /quitarestado");
if(sscanf(params, "s[128]", estadoo) )return SendClientMessage(playerid,POSITIVO,"Uso: /estado [ESTADO] ");
format(str, sizeof(str), "Estado: {FFFFFF}%s",estadoo);
format(mensaje, sizeof(mensaje), "Te pusiste el estado: {FFFFFF}%s",estadoo);
estado[playerid] = Create3DTextLabel(str,POSITIVO,30.0,40.0,5.0,40.0,1);
Attach3DTextLabelToPlayer(estado[playerid], playerid, 0.0, 0.0, 0.40);
SendClientMessage(playerid, POSITIVO, mensaje);
SendClientMessage(playerid, POSITIVO, "Para borrar tu estado usa {FFFFFF}/quitarestado");
ConEstado[playerid] = true;
return 1;
}
CMD:quitarestado(playerid,params[])
{
if(ConEstado[playerid] == true){
SendClientMessage(playerid,POSITIVO,"Has Quitado tu estado actual!");
Delete3DTextLabel(estado[playerid]);
ConEstado[playerid] = false; return 1; }
if(ConEstado[playerid] == false) return SendClientMessage(playerid,NEGATIVO,"No tienes ningun estado puesto,usa /estado");
return 1;
}
#94
Desarrollo de Servidores / Prox detector
Último mensaje por Swarlog - Feb 04, 2023, 12:48 AM
Información Adicional:

Se trata de un detector de distancia, por ejemplo cuando hablas pues que solo te lean los que esten a 10 metros. Esta bastante bueno para servidores de Roll, le da un toque más real a vuestro servidor. Os lo recomiendo!

Código:

forward ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5);
public ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
{
    if(IsPlayerConnected(playerid))
    {
        new Float:posx, Float:posy, Float:posz;
        new Float:oldposx, Float:oldposy, Float:oldposz;
        new Float:tempposx, Float:tempposy, Float:tempposz;
        GetPlayerPos(playerid, oldposx, oldposy, oldposz);
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            if(IsPlayerConnected(i))
            {
                GetPlayerPos(i, posx, posy, posz);
                tempposx = (oldposx -posx);
                tempposy = (oldposy -posy);
                tempposz = (oldposz -posz);
                if(GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i))
                {
                    if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
                    {
                        SendClientMessage(i, col1, string);
                    }
                    else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
                    {
                        SendClientMessage(i, col2, string);
                    }
                    else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
                    {
                        SendClientMessage(i, col3, string);
                    }
                    else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
                    {
                        SendClientMessage(i, col4, string);
                    }
                    else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
                    {
                        SendClientMessage(i, col5, string);
                    }
                }
            }
        }
    }
    return 1;
}
#95
Desarrollo de Servidores / Sistema de venta 24/7 en dialo...
Último mensaje por Swarlog - Feb 04, 2023, 12:48 AM
Información Adicional:

Básicamente es lo que dice el titulo del post, se trata del dialogo de compra en las tiendas 24/7 mediante el comando "/buy". Muy bueno para editarlo y ponerlo al gusto de cada uno.

Código:

OnPlayerCommandText:

if(strcmp(cmdtext,"/buy",true)==0)
 if(IsPlayerInRangeOfPoint(playerid, 10.0, -30.8246,-28.4104,1003.5573))
{
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST,"Shop List","$15 - Condoms\n$5 - Chips\n$5 - Cola\n$3 - Burger\n$500 - Civilian Vest\n$100 - Camera\n$50 - Baseball Bat\n$50 - Wooden Cane\","Purchase","Exit");
       return 1;
}

OnDialogResponse:

if(dialogid==1 && response==1)
if(dialogid==1 && response==1)
{

switch(listitem)
    {
        case 0:
        {
        if(GetPlayerMoney(playerid) <15) return SendClientMessage(playerid,0xAA3333AA, "You do not have enough money!");
        new Float:pArmour;
        GetPlayerArmour(playerid, Float:pArmour);
        SendClientMessage(playerid,0xFF9900AA,"You have bought condoms for $15!");
        GivePlayerMoney(playerid, -15);
        SetPlayerArmour(playerid, pArmour+5);
            }
        case 1:
        {
        if(GetPlayerMoney(playerid) <9) return SendClientMessage(playerid,0xAA3333AA, "You do not have enough money!");
        SendClientMessage(playerid, 0xD6D6D6AA, "You purchased a bag of chips for $5");
        GivePlayerMoney(playerid, -9);
        ApplyAnimation(playerid,"VENDING", "vend_eat1_P",4.1,0,1,1,1,1,1);
        }
        case 2:
        {
        if(GetPlayerMoney(playerid) <3) return SendClientMessage(playerid,0xAA3333AA, "You do not have enough money!");
        new Float:pHealth;
        GetPlayerHealth(playerid, Float:pHealth);
        SendClientMessage(playerid, 0xD6D6D6AA, "You purchased a can of cola for $3");
        GivePlayerMoney(playerid, -3);
        SetPlayerHealth(playerid, pHealth+10);
        }
        case 3:
        {
        if(GetPlayerMoney(playerid) <3) return SendClientMessage(playerid,0xAA3333AA, "You do not have enough money!");
        new Float:pArmour;
        GetPlayerArmour(playerid, Float:pArmour);
        SendClientMessage(playerid, 0xD6D6D6AA, "You purchased a burger for $3");
        SetPlayerAttachedObject(playerid, 4, 2880, 5);
        GivePlayerMoney(playerid, -3);
        ApplyAnimation(playerid,"VENDING", "vend_eat1_P",4.1,0,1,1,1,1,1);
        SetPlayerArmour(playerid, pArmour+3);
        SendClientMessage(playerid, 0xD6D6D6AA, "((Use {219900}/removeobjects{D6D6D6} to remove the object!))");
        }
        case 4:
        {
        if(GetPlayerMoney(playerid) <500) return SendClientMessage(playerid,0xAA3333AA, "You do not have enough money!");
        new Float:pArmour;
        GetPlayerArmour(playerid, Float:pArmour);
        SendClientMessage(playerid, 0xD6D6D6AA, "You purchased a Civilian vest for $500");
        GivePlayerMoney(playerid, -500);
        SetPlayerArmour(playerid, pArmour+50);
        }
        case 5:
        {
        if(GetPlayerMoney(playerid) <100) return SendClientMessage(playerid,0xAA3333AA, "You do not have enough money!");
        new Float:pArmour;
        GetPlayerArmour(playerid, Float:pArmour);
        SendClientMessage(playerid, 0xD6D6D6AA, "You purchased a {13D4A3}Camera{D6D6D6} for $100");
        GivePlayerMoney(playerid, -125);
        GivePlayerWeapon(playerid, 43, 100);
        }
        case 6:
        {
        if(GetPlayerMoney(playerid) <35) return SendClientMessage(playerid,0xAA3333AA, "You do not have enough money!");
        new Float:pArmour;
        GetPlayerArmour(playerid, Float:pArmour);
        SendClientMessage(playerid, 0xD6D6D6AA, "You purchased a {13D4A3}Baseball Bat{D6D6D6} for $50");
        GivePlayerMoney(playerid, -50);
        GivePlayerWeapon(playerid, 5, 0);
        }
        case 7:
        {
        if(GetPlayerMoney(playerid) <50) return SendClientMessage(playerid,0xAA3333AA, "You do not have enough money!");
        new Float:pArmour;
        GetPlayerArmour(playerid, Float:pArmour);
        SendClientMessage(playerid, 0xD6D6D6AA, "You purchased a {13D4A3}Wooden Cane{D6D6D6} for $50");
        GivePlayerMoney(playerid, -50);
        GivePlayerWeapon(playerid, 15, 0);
        }
#96
Desarrollo de Servidores / Ataque Zombie
Último mensaje por Swarlog - Feb 04, 2023, 12:47 AM
Información Adicional:

Creado por Big Clucker, se trata de un script de su gm en donde si eres un zombie atacas mediante el boton "KEY_WALK" y ataca de forma aleatoria sobre el objetivo.Muy bueno, os lo recomiendo!

Código:

if (newkeys & KEY_WALK)
    {
        new victim = JugadorCercano(playerid);
        if(gTeam[playerid] == EZOMBIE)
        {
             if(DistanciaEntreJugadores(playerid, victim) <2)
             {
                if(gTeam[victim] == EHUMANO)
                {
                    new Float:health;
                    if(JugadorInfo[victim][jInfectado] == 0)
                    {
                        SetTimerEx("MordidaA", 10000, false, "d", victim);
                        SetPlayerWeather(victim, 41);
                    }
                    JugadorInfo[victim][jInfectado] = 1;
                    GameTextForPlayer(victim,"[Zombie]: ~w~Arghh!",6000,5);
                    PlayerPlaySound(victim, 1130, 0.0, 0.0, 0.0);
                    PlayerPlaySound(playerid, 1130, 0.0, 0.0, 0.0);//
                    Herido[victim] = 1;
                    JugadorInfo[playerid][jExp] += 1;
                    new which_message = random(5);
                    if(which_message == 0)
                    {
                        format(string, sizeof(string), "* %s le da un arañazo a %s.*", NombreJugador(playerid), NombreJugador(victim));
                        MandarMensajeCercano(30.0, playerid, string, ROSA,ROSA,ROSA,ROSA,ROSA);
                        GetPlayerHealth(victim, health);
                        SetPlayerHealth(victim, health-8);
                    }
                    else if(which_message == 1)
                    {
                        format(string, sizeof(string), "* %s le da un mordisco a %s.*", NombreJugador(playerid), NombreJugador(victim));
                        MandarMensajeCercano(30.0, playerid, string, ROSA,ROSA,ROSA,ROSA,ROSA);
                        GetPlayerHealth(victim, health);
                        SetPlayerHealth(victim, health-13);
                    }
                    else if(which_message == 2)
                    {
                        format(string, sizeof(string), "* %s le da un Manotazo a %s.*", NombreJugador(playerid), NombreJugador(victim));
                        MandarMensajeCercano(30.0, playerid, string, ROSA,ROSA,ROSA,ROSA,ROSA);
                        GetPlayerHealth(victim, health);
                        SetPlayerHealth(victim, health-7);
                    }
                    else if(which_message == 3)
                    {
                        format(string, sizeof(string), "* %s le da un empujon a %s.*", NombreJugador(playerid), NombreJugador(victim));
                        MandarMensajeCercano(30.0, playerid, string, ROSA,ROSA,ROSA,ROSA,ROSA);
                        GetPlayerHealth(victim, health);
                        SetPlayerHealth(victim, health-5);
                    }
                    else if(which_message == 4)
                    {
                        format(string, sizeof(string), "* %s lanza al suelo a %s.*", NombreJugador(playerid), NombreJugador(victim));
                        MandarMensajeCercano(30.0, playerid, string, ROSA,ROSA,ROSA,ROSA,ROSA);
                        GetPlayerHealth(victim, health);
                        SetPlayerHealth(victim, health-10);
                    }
                }
            }
            else
            {
                GameTextForPlayer(playerid,"No hay nadie cerca !",6000,5);
            }
        }
#97
Desarrollo de Servidores / Checkpoint Aleatorios
Último mensaje por Swarlog - Feb 04, 2023, 12:47 AM
Información Adicional:

Código para añadir checkpoint aleatorios de una lista que creemos de coordeadas.

Código:

new Float:RandFCP[8][3] =
{
    {-2454.2170, 503.8759, 30.0790},
    {-2669.7322, -6.0874, 6.1328},
    {-2796.9854, 1224.8180, 20.5429},
    {-2454.2170, 503.8759, 30.0790},
    {-2669.7322, -6.0874, 6.1328},
    {-2796.9854, 1224.8180, 20.5429},
    {-2454.2170, 503.8759, 30.0790},
    {-2669.7322, -6.0874, 6.1328}
}

SetPlayerCheckpoint(playerid,RandFCP[random(sizeof(RandFCP))][0], RandFCP[random(sizeof(RandFCP))][1], RandFCP[random(sizeof(RandFCP))][2]);
#98
Desarrollo de Servidores / Animaciones al hablar
Último mensaje por Swarlog - Feb 04, 2023, 12:46 AM
Información Adicional:

Con este script al hablar se ejecutaran animaciones automaticamente al hablar.

Código:

#include <a_samp>

forward Fuera(playerid);

new TFuera[MAX_PLAYERS];

public OnPlayerText(playerid, text[])
{
new AnimR = random(1);
if(AnimR == 0)
{
ApplyAnimation(playerid, "PED", "IDLE_CHAT", 4.0, 1, 0, 0, 1, 1);
TFuera[playerid] = SetTimerEx("Fuera", strlen(text)*200, false, "i", playerid);
}
else if(AnimR == 1)
{
ApplyAnimation(playerid, "PED", "Idle_Chat_02", 4.0, 1, 0, 0, 1, 1);
TFuera[playerid] = SetTimerEx("Fuera", strlen(text)*200, false, "i", playerid);
}
return 1;
}

public Fuera(playerid)
{
ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.0, 0, 0, 0, 0, 0);
return 1;
}
#99
Desarrollo de Servidores / Pincha - Ruedas
Último mensaje por Swarlog - Feb 04, 2023, 12:45 AM
Información Adicional:

Bueno pues aqui os dejo este sistema que os ayudara con la detención de algun que otro vehiculo. Muy bueno para policias y tal, mediante comandos activamos los pincharuedas o simplemente eliminarlos.

Código:

#include <a_samp>
#include <iPR>

//=====================[Defines]====================================//
#define FILTERSCRIPT

//=====================[PublicS]====================================//
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext,"/cpr",true) == 0) //Crear PinchaRuedas.
{
new Float:pX,Float:pY,Float:pZ,Float:pAngulo;
GetPlayerPos(playerid,pX,pY,pZ);
GetPlayerFacingAngle(playerid,pAngulo);
CrearPR(pX,pY,pZ,pAngulo);
return 1;
}

if(strcmp(cmdtext,"/bprc",true) == 0) //Borrar PinchaRuedas más cercano.
{
BUPRC(playerid);
return 1;
}

if(strcmp(cmdtext,"/btpr",true) == 0) //Borrar todos los PinchaRuedas.
{
BTPR();
return 1;
}

return 0;
}
#100
Desarrollo de Servidores / Mensajes aleatorios al matar u...
Último mensaje por Swarlog - Feb 04, 2023, 12:45 AM
No puedes ver este adjunto.

Información Adicional:

Encontre esta implementación para vuestros servidores, para darle algo más de humor. Se trata del código que se encarga de emitir un mensaje que elige aleatoriamente de una lista! Agrego imagen, haber que tal os parece. Espero que les guste!

Código:

//FS TET KILL BY:CARLOSEDUARDOP
#include <a_samp>
#define FILTERSCRIPT

new KSMensajes[][] =
{
{"_~n~_~n~_~n~_~n~_~n~_~n~_~n~~g~~>~~r~ Aniquilado ~g~~<~"},
{"_~n~_~n~_~n~_~n~_~n~_~n~_~n~~g~~>~~g~ Maldito ~g~~<~"},
{"_~n~_~n~_~n~_~n~_~n~_~n~_~n~~b~~>~~w~ Tu mandas ~b~~<~"},
{"_~n~_~n~_~n~_~n~_~n~_~n~_~n~~b~~>~~b~ Wow! ~b~~<~"},
{"_~n~_~n~_~n~_~n~_~n~_~n~_~n~~g~~>~~w~ Lo Pillaste ~g~~<~"},
{"_~n~_~n~_~n~_~n~_~n~_~n~_~n~~b~~>~~p~ re pro ~b~~<~"},
{"_~n~_~n~_~n~_~n~_~n~_~n~_~n~~g~~>~~w~ El Puto Amo ~g~~<~"},
{"_~n~_~n~_~n~_~n~_~n~_~n~_~n~~b~~>~~y~ Cabron! ~b~~<~"},
{"_~n~_~n~_~n~_~n~_~n~_~n~_~n~~b~~>~~p~ perfecto ~b~~<~"},
{"_~n~_~n~_~n~_~n~_~n~_~n~_~n~~g~~>~~w~ Master ~g~~<~"},
{"_~n~_~n~_~n~_~n~_~n~_~n~_~n~~b~~>~~p~ Muy Pro ~b~~<~"},
{"_~n~_~n~_~n~_~n~_~n~_~n~_~n~~g~~>~~w~ Killer! ~g~~<~"},
{"_~n~_~n~_~n~_~n~_~n~_~n~_~n~~b~~>~~p~ Re Profecional! ~b~~<~"},
{"_~n~_~n~_~n~_~n~_~n~_~n~_~n~~b~~>~~y~ El Maximo ~b~~<~"},
{"_~n~_~n~_~n~_~n~_~n~_~n~_~n~~b~~>~~b~ Genial ~b~~<~"},
{"_~n~_~n~_~n~_~n~_~n~_~n~_~n~~b~~>~~p~ super pro ~b~~<~"},
{"_~n~_~n~_~n~_~n~_~n~_~n~_~n~~b~~>~~y~ facil ~b~~<~"},
{"_~n~_~n~_~n~_~n~_~n~_~n~_~n~~b~~>~~b~ el amo ~b~~<~"},
{"_~n~_~n~_~n~_~n~_~n~_~n~_~n~~g~~>~~g~ Owned ~g~~<~"}
};

public OnPlayerDeath(playerid, killerid, reason)
{
    SendDeathMessage(killerid,playerid,reason);
//Random TextDraw

GivePlayerMoney(killerid,1000);
GivePlayerMoney(playerid,-500);
GameTextForPlayer(killerid,KSMensajes[random(sizeof(KSMensajes))], 3000, 6);
return 1;
}

By CARLOSEDUARDOP