[Ajuda] Criando Veiculos com restriзгo
#1

eai galйra do forum SA-MP

Й o seguinte, como sou novo no fуrum e nгo sei postar o codigo do Gm vou tentar explicar...

eu criei org no meu Gamemode por #define
EXEMPLO:
#define Groove 1
(porem fiz 20 orgs)

dai beleza... fiz os comandos de /convidar /demitir e ETC.
para fazer os carros:

new V_Groove[2] (aqui coloquei 10, pois fiz 10 carros)

ai la em onGamemodeInit

coloquei os carros

V_Groove[0] = createvehicle (e as cordenada e modelo) (coloquei 10 desses, pois fiz 10 carros)

porem nгo sei como dizer que V_Groove PERTENCE A #define Groove
e se pertence, onde colocar a funзгo SendClientMessage para o player, que ele n e da org

entenderam?
eu tentei fazer em public

forward V_Orgs(playerid);

ai depois:
public V_Orgs(playerid)
{
if(pDados[playerid][Organizacao] != Groove)
{
SendClientMessage(playerid, C_Groove, "Voce nгo й da Grove Street");
RemovePlayerFromVehicle(playerid);
return 1;
}
return 1;
}
isso estб salvo em DOF2
#Edit
para colocar coisas adicionais, talves ъteis

o que eu fiz
Quote:
Originally Posted by Deeh16
Посмотреть сообщение
Adicione o V_Orgs em OnPlayerEnterVehicle.
pawn Код:
#include <a_samp>
#include <zcmd> //Adicionando o ZCMD
#include <sscanf> //Adicionando o sscanf
#include <DOF2> //Adicionando o DOF2
main()
{
    print("\n----------------------------------");
    print(" Second Life BR 0.3z");
    print(" Codado por Biel_Bandolero");
    print("----------------------------------\n");
}
//define orgs
#define Civil 0
#define Exercito 1
#define BOPE 2
#define PoliciaM 3
#define PoliciaC 4
#define PoliciaF 5
#define Groove 6
#define Ballas 7
#define Vagos 8
#define Aztecas 9
#define Drifters 10
#define Prefeito 11
#define Hamas 12
#define Alqaeda 13
#define Globo 14
#define Texista 15
#define MafiaCN 16
#define Yakuza 17
#define Triads 18
#define Hitmans 19
#define Bloodz 20

//cores orgs
#define C_Civil 0xFFFFFFFF
#define C_Exercito 0x0064000
#define C_BOPE 0x0071680
#define C_PoliciaM 0x0000500
#define C_PoliciaC 0x4B22000
#define C_PoliciaF 0x2223230
#define C_Groove 0x00EF000
#define C_Ballas 0xBC00B50
#define C_Vagos 0xFFFF000
#define C_Aztecas 0x0000C60
#define C_Drifters 0x0095A80
#define C_Prefeito 0x9999FFF6
#define C_Hamas 0x666699F6
#define C_Alqaeda 0x00660CF6
#define C_Globo 0xCC6666F6
#define C_Texista 0x005FFFFF
#define C_MafiaCN 0x109FFFAA
#define C_Yakuza 0x009999F6
#define C_Triads 0xA9A9A9F6
#define C_Hitmans 0xFF9900AA
#define C_Bloodz 0x660066F6
//cores adicionais
#define COR_ERRO 0xAD0000AA
#define COR_SUCESSO 0x00AB00AA
#define COR_AV_ADM 0x007CF6AA
#define COR_AZUL_CLARO 0x00F6F6AA
#define COR_RAD 0x4876FFAA


//forward
forward Groovecar(playerid);
forward Exercitocar(playerid);
//oorgs

//news
new Equipar_1 ;
new Equipar_2 ;
new Equipar_3 ;
new Equipar_4 ;
new Equipar_5 ;
new Equipar_6 ;
new Equipar_7 ;
new Equipar_8 ;
new Equipar_9 ;
new Equipar_10 ;
new Equipar_11 ;
new Equipar_12 ;
new Equipar_13 ;
new Equipar_14 ;
new Equipar_15 ;
new Equipar_16 ;
new Equipar_17 ;
new Equipar_18 ;
new Equipar_19 ;
new Equipar_20 ;
//news de carro
new V_Orgs;

//enum

enum PlayerDados
{
    Organizacao,
    Cargo
}

new V_Groove[10];
new V_Exercito[2];

new pDados[MAX_PLAYERS][PlayerDados]; //Criamos a varнavel que amarzenarб os Dados do player



//publics

public OnGameModeInit()
{
   
    // Don't use these lines if it's a filterscript
    SetGameModeText("RPG BR 0.3z");
    AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    AddStaticVehicleEx ( 487, 2109.1763, 1503.0453, 32.2887, 82.2873, 0, 1, 15 );
        {//equipar (pickup)
        Equipar_1 = CreatePickup(1242, 0, 2743.2683, -2453.8887, 13.8623, 0);
        Equipar_2 = CreatePickup(1242, 0, 360.2704, -1551.6147, 32.9348, 0);
        Equipar_3 = CreatePickup(1242, 0, 1580.0959, -1636.0132, 13.5595, 0);
        Equipar_4 = CreatePickup(1242, 0, 916.6559, -1235.1953, 17.2109, 0);
        Equipar_5 = CreatePickup(1242, 0, 610.7482, -583.7473,18.0995, 0);
        Equipar_6 = CreatePickup(1242, 0, 2520.2756, -1678.4612,15.0039, 0);
        Equipar_7 = CreatePickup(1242, 0, 2480.9851, -1537.0526,24.1815, 0);
        Equipar_8 = CreatePickup(1242, 0, 2808.4800, -1190.6290,25.3305, 0);
        Equipar_9 = CreatePickup(1242, 0, 1673.8265, -2122.4688,14.1460, 0);
        Equipar_10 = CreatePickup(1242, 0, 2793.3293, -1626.9401,10.9219, 0);
        Equipar_11 = CreatePickup(1242, 0, 1480.9388, -1771.1096,18.7958, 0);
        Equipar_12 = CreatePickup(1242, 0, -50.2947, -269.5299,6.6332,0);
        Equipar_13 = CreatePickup(1242, 0, 2554.4924, -2144.7122,-0.2188, 0);
        Equipar_14 = CreatePickup(1242, 0, 736.5074, -1357.3419,13.5000, 0);
        Equipar_15 = CreatePickup(1242, 0, 1089.2911, -1184.0073,18.3012, 0);
        Equipar_16 = CreatePickup(1242, 0, 1489.3357, -668.6467,95.6013, 0);
        Equipar_17 = CreatePickup(1242, 0, 673.5741, -1277.2224,13.6337, 0);
        Equipar_18 = CreatePickup(1242, 0, 2351.4998, -1214.8763,22.5000, 0);
        Equipar_19 = CreatePickup(1242, 0, 1509.8113, -1481.3242,9.5000, 0);
        Equipar_20 = CreatePickup(1242, 0, 2141.4141, -1802.4954,16.1475, 0);

        //carros grove
       
        V_Groove[0] = AddStaticVehicleEx(562, 2474.1990, -1693.7802, 13.1833, 0.0082, 128, 86, 1200000); //Veiculo numero 0
        V_Groove[1] = AddStaticVehicleEx(559, 2509.5493, -1687.1425, 13.2230, 48.2839, 128, 128, 1200000); //Veiculo numero 1
        V_Groove[2] = AddStaticVehicleEx(560,xxx,-1667.6067,14.8740,93.4592,128,128, 1200000);
        V_Groove[3] = AddStaticVehicleEx(560,xxx,-1673.1764,13.6805,59.4320,128,128, 1200000);
        V_Groove[4] = AddStaticVehicleEx(521,xxx,-1643.4869,13.3565,144.8307,128,128, 1200000);
        V_Groove[5] = AddStaticVehicleEx(521,Xxx,-1643.9562,13.3665,159.7328,128,128, 1200000);
        V_Groove[6] = AddStaticVehicleEx(521,xxx,-1643.5686,13.3571,203.3588,128,128, 1200000);
        V_Groove[7] = AddStaticVehicleEx(424,x,-1690.9180,13.2996,355.2002,128,128, 1200000);
        V_Groove[8] = AddStaticVehicleEx(487,xxx,-1677.8020,20.0831,93.3787,128,128, 1200000);
        V_Groove[9] = AddStaticVehicleEx(480,xxx,-1653.5386,13.4996,132.3727,128,128, 1200000); //Veiculo numero 1
//coloquei xxx aqui, porem no meu gm ta as cordenada certin

        V_Exercito[0]=AddStaticVehicleEx(480,2485.6665,-1658.8387,13.1161,98.2875,1,1, 1200000);
        V_Exercito[1]=AddStaticVehicleEx(521,2495.4326,-1643.5686,13.3571,203.3588,1,1, 1200000);
        //portхes
        CreateObject(976, 1549.0999755859, -1618.0999755859, 12.60000038147, 1.0, 0.0, 266.0, 300);
  }
    return 1;
}
public OnGameModeExit()
{
    DOF2_Exit();
    return 1;
}


return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
    SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    return 1;
}

public OnPlayerConnect(playerid)
{
    new arquivo[34], playername[MAX_PLAYER_NAME]; //Criamos as vбriaveos que irгo armazenar o arquivo e o nome do jogador
    GetPlayerName(playerid, playername, sizeof(playername)); //Getamos o nome do player
    format(arquivo, sizeof(arquivo), "Contas/%s", playername); //Formatamos o arquivo de acordo com o nome do player (Contas/NOME)
    pDados[playerid][Organizacao] = DOF2_GetInt(arquivo, "Organizaзгo");
    pDados[playerid][Cargo] = DOF2_GetInt(arquivo, "Cargo");
    SpawnPlayer(playerid); //Dб SPAWN no player
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    new arquivo[34], playername[MAX_PLAYER_NAME]; //Criamos as vбriaveos que irгo armazenar o arquivo e o nome do jogador
    GetPlayerName(playerid, playername, sizeof(playername)); //Getamos o nome do player
    format(arquivo, sizeof(arquivo), "Contas/%s", playername); //Formatamos o arquivo de acordo com o nome do player (Contas/NOME)
    if(DOF2_FileExists(arquivo)) //Se a Conta existir
    {
        DOF2_SetInt(arquivo, "Organizaзгo", pDados[playerid][Organizacao]); //Setamos o valor de "pDados[playerid][Organizacao]" no "arquivo", com a TAG "Organizaзгo"
        DOF2_SetInt(arquivo, "Cargo", pDados[playerid][Cargo]); //Setamos o valor de "pDados[playerid][Cargo]" no "arquivo", com a TAG "Cargo"
    }
    else //Se a conta nгo esxitir
    {
        DOF2_CreateFile(arquivo); //Cria o arquivo com os Dados do player
        DOF2_SetInt(arquivo, "Organizaзгo", pDados[playerid][Organizacao]); //Setamos o valor de "pDados[playerid][Organizacao]" no "arquivo", com a TAG "Organizaзгo"
        DOF2_SetInt(arquivo, "Cargo", pDados[playerid][Cargo]); //Setamos o valor de "pDados[playerid][Cargo]" no "arquivo", com a TAG "Cargo"
    }
    return 1;
}

public OnPlayerSpawn(playerid)
{
  if(pDados[playerid][Organizacao] == 0)
    {
        SetPlayerPos(playerid, 2520.2756,-1678.4612,15.0039);
    }
    else if(pDados[playerid][Organizacao] == 1)
    {
        SetPlayerPos(playerid, 2743.2683, -2453.8887, 13.8623);
    }
    else if(pDados[playerid][Organizacao] == 2)
    {
        SetPlayerPos(playerid, 360.2704, -1551.6147, 32.9348);
    }
    else if(pDados[playerid][Organizacao] == 3)
    {
        SetPlayerPos(playerid, 1580.0959, -1636.0132, 13.5595);
    }
    else if(pDados[playerid][Organizacao] == 4)
    {
        SetPlayerPos(playerid, 916.6559, -1235.1953, 17.2109);
    }
    else if(pDados[playerid][Organizacao] == 5)
    {
        SetPlayerPos(playerid, 610.7482, -583.7473, 18.0995);
    }
    else if(pDados[playerid][Organizacao] == 6)
    {
        SetPlayerPos(playerid, 2520.2756, -1678.4612, 15.0039);
    }
    else if(pDados[playerid][Organizacao] == 7)
    {
        SetPlayerPos(playerid, 2480.9851, -1537.0526, 24.1815);
    }
    else if(pDados[playerid][Organizacao] == 8)
    {
        SetPlayerPos(playerid, 2808.4800, -1190.6290, 25.3305);
    }
    else if(pDados[playerid][Organizacao] == 9)
    {
        SetPlayerPos(playerid, 1673.8265, -2122.4688, 14.1460);
    }
    else if(pDados[playerid][Organizacao] == 10)
    {
        SetPlayerPos(playerid, 2793.3293, -1626.9401, 10.9219);
    }
    else if(pDados[playerid][Organizacao] == 11)
    {
        SetPlayerPos(playerid, 1480.9388, -1771.1096, 18.7958);
    }
    else if(pDados[playerid][Organizacao] == 12)
    {
        SetPlayerPos(playerid, -50.2947, -269.5299, 6.6332);
    }
    else if(pDados[playerid][Organizacao] == 13)
    {
        SetPlayerPos(playerid, 2554.4924, -2144.7122, -0.2188);
    }
    else if(pDados[playerid][Organizacao] == 14)
    {
        SetPlayerPos(playerid, 736.5074, -1357.3419, 13.5000);
    }
    else if(pDados[playerid][Organizacao] == 15)
    {
        SetPlayerPos(playerid, 1089.2911, -1184.0073, 18.3012);
    }
    else if(pDados[playerid][Organizacao] == 16)
    {
        SetPlayerPos(playerid, 1489.3357, -668.6467, 95.6013);
    }
    else if(pDados[playerid][Organizacao] == 17)
    {
        SetPlayerPos(playerid, 673.5741, -1277.2224, 13.6337);
    }
    else if(pDados[playerid][Organizacao] == 18)
    {
        SetPlayerPos(playerid, 2351.4998, -1214.8763, 22.5000);
    }
    else if(pDados[playerid][Organizacao] == 19)
    {
        SetPlayerPos(playerid, 1509.8113, -1481.3242, 9.5000);
    }
    else if(pDados[playerid][Organizacao] == 20)
    {
        SetPlayerPos(playerid, 2141.4141, -1802.4954, 16.1475);
    }
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    return 1;
}

public OnVehicleSpawn(vehicleid)
{
    return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
    return 1;
}

public OnPlayerText(playerid, text[])
{
    return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/mycommand", cmdtext, true, 10) == 0)
    {
        // Do something here
        return 1;
    }
    return 0;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
    return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{

    if(newstate == PLAYER_STATE_DRIVER)
        {
            new veh = GetPlayerVehicleID(playerid);
            if(veh == V_Groove[0] && pDados[playerid][Organizacao] != 6)
            {
                RemovePlayerFromVehicle(playerid);
                return 1;
            }
        }
    return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
    return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
    return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
    return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
    return 1;
}

public OnRconCommand(cmd[])
{
    return 1;
}

public OnPlayerRequestSpawn(playerid)
{
    return 1;
}

public OnObjectMoved(objectid)
{
    return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
    return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
    if(pickupid == Equipar_1)
    {
        SendClientMessage(playerid, C_Exercito, "use /equipar.");
        return 1;
    }
    if(pickupid == Equipar_2)
    {
        SendClientMessage(playerid, C_BOPE, "use /equipar.");
        return 1;
    }
    if(pickupid == Equipar_3)
    {
        SendClientMessage(playerid, C_PoliciaM, "use /equipar.");
        return 1;
    }
    if(pickupid == Equipar_4)
    {
        SendClientMessage(playerid, C_PoliciaC, "use /equipar.");
        return 1;
    }
    if(pickupid == Equipar_5)
    {
        SendClientMessage(playerid, C_PoliciaF, "use /equipar.");
        return 1;
    }
    if(pickupid == Equipar_6)
    {
        SendClientMessage(playerid, C_Groove, "use /equipar.");
        return 1;
    }
    if(pickupid == Equipar_7)
    {
        SendClientMessage(playerid, C_Ballas, "use /equipar.");
        return 1;
    }
    if(pickupid == Equipar_8)
    {
        SendClientMessage(playerid, C_Vagos, "use /equipar.");
        return 1;
    }
    if(pickupid == Equipar_9)
    {
        SendClientMessage(playerid, C_Aztecas, "use /equipar.");
        return 1;
    }
    if(pickupid == Equipar_10)
    {
        SendClientMessage(playerid, C_Drifters, "use /equipar.");
        return 1;
    }
    if(pickupid == Equipar_11)
    {
        SendClientMessage(playerid, C_Prefeito, "use /equipar.");
        return 1;
    }
    if(pickupid == Equipar_12)
    {
        SendClientMessage(playerid, C_Hamas, "use /equipar.");
        return 1;
    }
    if(pickupid == Equipar_13)
    {
        SendClientMessage(playerid, C_Alqaeda, "use /equipar.");
        return 1;
    }
    if(pickupid == Equipar_14)
    {
        SendClientMessage(playerid, C_Globo, "use /equipar.");
        return 1;
    }
    if(pickupid == Equipar_15)
    {
        SendClientMessage(playerid, C_Texista, "use /equipar.");
        return 1;
    }
    if(pickupid == Equipar_16)
    {
        SendClientMessage(playerid, C_MafiaCN, "use /equipar.");
        return 1;
    }
    if(pickupid == Equipar_17)
    {
        SendClientMessage(playerid, C_Yakuza, "use /equipar.");
        return 1;
    }
    if(pickupid == Equipar_18)
    {
        SendClientMessage(playerid, C_Triads, "use /equipar.");
        return 1;
    }
    if(pickupid == Equipar_19)
    {
        SendClientMessage(playerid, C_Hitmans, "use /equipar.");
        return 1;
    }
    if(pickupid == Equipar_20)
    {
        SendClientMessage(playerid, C_Bloodz, "use /equipar.");
        return 1;
    }
   
    return 1;
}

public OnVehicleMod(playerid, vehicleid, componentid)
{
    return 1;
}

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
    return 1;
}

public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
    return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
    return 1;
}

public OnPlayerExitedMenu(playerid)
{
    return 1;
}

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
    return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
    return 1;
}

public OnPlayerUpdate(playerid)
{
    new arquivo[34], playername[MAX_PLAYER_NAME]; //Criamos as vбriaveos que irгo armazenar o arquivo e o nome do jogador
    GetPlayerName(playerid, playername, sizeof(playername)); //Getamos o nome do player
    format(arquivo, sizeof(arquivo), "Contas/%s", playername); //Formatamos o arquivo de acordo com o nome do player (Contas/NOME)
    if(DOF2_FileExists(arquivo)) //Se a Conta existir
    {
        DOF2_SetInt(arquivo, "Organizaзгo", pDados[playerid][Organizacao]); //Setamos o valor de "pDados[playerid][Organizacao]" no "arquivo", com a TAG "Organizaзгo"
        DOF2_SetInt(arquivo, "Cargo", pDados[playerid][Cargo]); //Setamos o valor de "pDados[playerid][Cargo]" no "arquivo", com a TAG "Cargo"
    }
    else //Se a conta nгo esxitir
    {
        DOF2_CreateFile(arquivo); //Cria o arquivo com os Dados do player
        DOF2_SetInt(arquivo, "Organizaзгo", pDados[playerid][Organizacao]); //Setamos o valor de "pDados[playerid][Organizacao]" no "arquivo", com a TAG "Organizaзгo"
        DOF2_SetInt(arquivo, "Cargo", pDados[playerid][Cargo]); //Setamos o valor de "pDados[playerid][Cargo]" no "arquivo", com a TAG "Cargo"
    }
    return 1;
}

public OnPlayerStreamIn(playerid, forplayerid)
{
    return 1;
}

public OnPlayerStreamOut(playerid, forplayerid)
{
    return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
    return 1;
}

public OnVehicleStreamOut(vehicleid, forplayerid)
{
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
        if(dialogid == 666)
    {
        new playername[MAX_PLAYER_NAME], string[128]; //Variaveis que irб armazenar o nome e "string"
        GetPlayerName(playerid, playername, sizeof(playername)); //Geta o nome do player que aparaceu o dialog
        if(response) //Se ele clicar em SIM...
        {
            pDados[playerid][Organizacao] = GetPVarInt(playerid, "OrgConvidado"); //Seta a organizaзгo de acordo com a PVarInt do comando /convida
            pDados[playerid][Cargo] = 1; //Seta o cargo a 1
            format(string, sizeof(string), "%s aceitou seu Convite.", playername); //Formata uma mensagem com o nome do player que aceitou
            SendClientMessage(GetPVarInt(playerid, "QuemConvidou"), 0x00FF00FF, string); //Envia a mensgaem a quem convidou
            format(string, sizeof(string), "%s й o mais novo membro da Organizaзгo.", playername); //Formata uma mensgaem com o nome do player que aceitou
            SendFamilyMessage(pDados[playerid][Organizacao], GetPlayerColor(playerid), string); //Manda a mensagem para a organizaзгo do player
            SendClientMessage(playerid, 0x00FF00FF, "Vocк aceitou o Convite."); //Manda uma mensagem amigavel ao player que aceitou :P
            DeletePVar(playerid, "OrgConvidado"); //Deleta o PVar
            DeletePVar(playerid, "QuemConvidou"); //Deleta o PVar
            SpawnPlayer(playerid); //Spawn nele!
        }
        else //Se ele ciclar em NГO...
        {
            format(string, sizeof(string), "%s rejeitou seu Convite.", playername); //Formata a mensgaem com o nome do player que rejeitou o convite
            SendClientMessage(GetPVarInt(playerid, "QuemConvidou"), 0x00FF00FF, string); //Envia a mensagem a quem convidou o player
            SendClientMessage(playerid, 0x00FF00FF, "Vocк rejeitou o Convite."); //Manda uma mensagem amigavel ao player que rejeitou :P
            DeletePVar(playerid, "OrgConvidado"); //Deleta o PVar
            DeletePVar(playerid, "QuemConvidou"); //Deleta o PVar
        }
    }
    return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
    return 1;
}
CMD:membros(playerid)
{
    new playername[MAX_PLAYER_NAME], string[128]; //Criamos variaveis que irгo armazenar o nome e mensganes formatadas
    if(pDados[playerid][Organizacao] >= 1)
    {
        SendClientMessage(playerid, 0xBFC0C2FF, "(=-=-=-=-=-=-=({FFD700}Membros Online{BFC0C2})=-=-=-=-=-=-=)");
        for(new i = 0; i < MAX_PLAYERS; i++) //Criamos um loop de acordo com o MAX_PLAYERS
        {
            if(IsPlayerConnected(i)) //Verifica se o "i" (player) do loop estб online
            {
                if(pDados[i][Organizacao] == pDados[playerid][Organizacao]) //Verifica se a organizaзгo do player (do loop) й igual a do player que digitou o comando
                {
                    GetPlayerName(i, playername, sizeof(playername)); //Geta o nome do player(loop)...
                    if(pDados[i][Cargo] <= 4) //Verifica se o player do loop e cargo 4 ou menos
                    {
                        format(string, sizeof(string), "Membro: %s, Cargo: %d", playername, pDados[i][Cargo]); //Formata uma mensgaem com o nome e cargo do player (loop)
                        SendClientMessage(playerid, GetPlayerColor(playerid), string); //Envia a mensagem do player que digitou o comando
                    }
                    else
                    {
                        if(pDados[i][Cargo] == 6) //Verifica se o player й Lнder e formata/envia uma mensagem diferente/destacada
                        {
                            format(string, sizeof(string), "Membro: %s, Cargo: Lнder", playername);
                            SendClientMessage(playerid, GetPlayerColor(playerid), string);
                        }
                        else if(pDados[i][Cargo] == 5) //Verifica se o player й Lнder e formata/envia uma mensagem diferente/destacada
                        {
                            format(string, sizeof(string), "Membro: %s, Cargo: Sub-Lнder", playername);
                            SendClientMessage(playerid, GetPlayerColor(playerid), string);
                        }
                    }
                }
            }
        }
    }
    else
    {
        SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo pertence a nenhuma Organizaзгo.");
    }
    return 1; //Returnando a 1, nunca se esqueзa!
}
CMD:e(playerid, params[])
{
    new text[128], string[128], playername[MAX_PLAYER_NAME]; //Criando variavйs...
    if(sscanf(params, "s", text)) return SendClientMessage(playerid, 0xAD0000AA, "USE: /e [MENSAGEM]");
    if(pDados[playerid][Organizacao] == 0) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo participa de nenhuma organizaзгo!"); //Verifica se o player й CIVIL, se for, returna a mensagem
    GetPlayerName(playerid, playername, sizeof(playername)); //Geta o nome de quem usou o comando
    format(string, sizeof(string), "(Rбdio) %s [Cargo: %d] diz: %s", playername, pDados[playerid][Cargo], text); //Formata uma mensagem com o nome do player, cargo e a mensgem
    SendFamilyMessage(pDados[playerid][Organizacao], COR_RAD, string); //Envia a mensagem a organizaзгo do player
    return 1; //Returnando a 1, nunca se esqueзa!
}
CMD:convidar(playerid, params[])
{
    new id, playername[MAX_PLAYER_NAME], idname[MAX_PLAYER_NAME], string[128]; //Cria variaveis que irгo armazenar id, nome e string
    if(pDados[playerid][Cargo] != 6) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo й lider"); //Vк se quem digitou o comando й lнder, se nгo, returna a mensagem
    if(sscanf(params, "d", id)) return SendClientMessage(playerid, 0xAD0000AA, "USE: /convidar [ID]");
    if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xAD0000AA, "Este jogador nгo estб online."); //Verifica se o "id" estб online...
    if(pDados[id][Organizacao] != 0) return SendClientMessage(playerid, 0xAD0000AA, "Este jogador jб estб em uma Organizaзгo."); //Verifica se o player jб estб em alguma organizaзгo, se estiver, returna a mensagem
    if(playerid == id) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo pode convidar a vocк mesmo."); //Verifica se o "id" = id de quem digitou (playerid)
    GetPlayerName(id, idname, sizeof(idname)); //Geta o nome do "id"
    format(string, sizeof(string), "Vocк convidou %s para sua Organizaзгo.", idname); //Formata a mensagem com que foi convidado
    SendClientMessage(playerid, GetPlayerColor(playerid), string); //Envia a mensagem ao lнder
    GetPlayerName(playerid, playername, sizeof(playername)); //Geta o nome de quem digitou o comando
    format(string, sizeof(string), "%s estб lhe Convidando para fazer parte da Organizaзгo: %s \nDeseja aceitar?", playername, GetOrgName(pDados[playerid][Organizacao])); //Formata um dialog com o nome de que convidou e o nome da organizaзгo
    ShowPlayerDialog(id, 666, DIALOG_STYLE_MSGBOX, "Convite para organizaзгo", string, "Sim", "Nгo");
    SetPVarInt(id, "OrgConvidado", pDados[playerid][Organizacao]); //Setando PVarInt que serб usar no OnDialogResponse
    SetPVarInt(id, "QuemConvidou", playerid); //Setando PVarInt que serб usar no OnDialogResponse
    return 1; //Returnando a 1, nunca se esqueзa!
}
CMD:promover(playerid, params[])
{
    new id, cargo, string[128], playername[MAX_PLAYER_NAME], idname[MAX_PLAYER_NAME]; //Cria as vбriveis...
    if(pDados[playerid][Cargo] != 6) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo й lider"); //Verifica se o player que digitou o comando й lнder
    if(sscanf(params, "dd", id, cargo)) return SendClientMessage(playerid, 0xAD0000AA, "USE: /promover [ID]");
    if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xAD0000AA, "Este jogador nгo estб online."); //Verifica se o player que serб promovido estб online
    if(pDados[id][Organizacao] != pDados[playerid][Organizacao]) return SendClientMessage(playerid, 0xAD0000AA, "Este jogador nгo й da mesma Organizaзгo que vocк."); //Verifica se o "id" й da mesma organizaзгo do lнder
    if(playerid == id) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo pode promover a vocк mesmo."); //Verifica se o "id" й ele mesmo (playerid)
    if(cargo >= 1 || cargo <= 5) //Verifica se o cargo estб entre 1 a 5
    {
        pDados[id][Cargo] = cargo; //Seta o cargo do player de acordo com o "cargo" que o lнder digitou
        GetPlayerName(playerid, playername, sizeof(playername)); //Geta o nome do player que digitou o comando
        GetPlayerName(id, idname, sizeof(idname)); //Geta o nome de quem recebeu a promoзгo
        format(string, sizeof(string), "%s promoveu o membro %s para o Cargo %d.", playername, idname, cargo); //Formata a mesgaem com quem prommoveu, quem foi promovido e o cargo
        SendFamilyMessage(pDados[playerid][Organizacao], GetPlayerColor(playerid), string); //Envia a mensagem para a organizaзгo
        format(string, sizeof(string), "%s te promoveu para o Cargo %d.", playername, cargo); //Formata a mensgame...
        SendClientMessage(id, GetPlayerColor(playerid), string); //Envia a mesngaem para quem foi promovido
    }
    else //Caso o cargo nгo esta de 1 a 5, envia a mensagem abaixo:
    {
        SendClientMessage(playerid, 0xAD0000AA, "Cargos de 1 a 5");
        return 1;
    }
    return 1; //Returnando a 1, nunca se esqueзa!
}
CMD:demitir(playerid, params[])
{
    new id, motivo[128], string[128], playername[MAX_PLAYER_NAME], idname[MAX_PLAYER_NAME]; //Criando variaveis :P
    if(pDados[playerid][Cargo] != 6) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo й lider"); //Verifica se o player que digitou o comando й lider
    if(sscanf(params, "ds", id, motivo)) return SendClientMessage(playerid, 0xAD0000AA, "USE: /demitir [ID] [MOTIVO]");
    if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xAD0000AA, "Este jogador nгo estб online."); //Verifica se quem serб demitido estб online
    if(pDados[id][Organizacao] != pDados[playerid][Organizacao]) return SendClientMessage(playerid, 0xAD0000AA, "Este jogador nгo й da mesma Organizaзгo que vocк."); //Verifica se o "id" й da mesma organizaзгo do lнder
    if(playerid == id) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo pode demitir a vocк mesmo."); //Verifica se o "id" й ele mesmo (playerid)
    pDados[id][Organizacao] = 0;
    pDados[id][Cargo] = 0; //Seta o cargo od player a 0
    GetPlayerName(playerid, playername, sizeof(playername)); //Geta o nome de quem demitiu
    GetPlayerName(id, idname, sizeof(idname)); //Geta o nome de quem foi demitido
    format(string, sizeof(string), "%s demitiu o membro %s da Organizaзгo.", playername, idname); //Formata uma mensagem com o nome de quem demitiu e quem foi demitido
    SendFamilyMessage(pDados[playerid][Organizacao], GetPlayerColor(playerid), string); //Envia a mensagem para a organizaзгo
    format(string, sizeof(string), "%s te demitiu da Organizaзгo. Motivo: %s.", playername, motivo); //Formata uma mensagem com o nome de quem demitiu e o motivo
    SendClientMessage(id, GetPlayerColor(playerid), string); //Envia a mensagem para quem foi demitido
    SpawnPlayer(id); //Spawn no nego!
    return 1; //Returnando a 1, nunca se esqueзa!
}
CMD:darlider(playerid, params[])
{
    new id, org, string[256], quemdeu[MAX_PLAYER_NAME], quemganhou[MAX_PLAYER_NAME]; //Cria vбriaveis que irб armazenar o id do lнder, a organizaзгo, o nome etc...
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xAD0000AA, "{00E5FF}Vocк nгo estб autorizado a usar este Comando."); //Verifica se o player estб logado na RCON, se nгo, returna a mensagem
    if(sscanf(params, "ii", id, org)) return SendClientMessage(playerid, 0xAD0000AA, "USE: /darlider [ID] [ORGANIZAЗГO]");
    if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xAD0000AA, "Este jogador nгo estб online."); //Verifica se o player que iria ser setado lнder estб online
    GetPlayerName(id, quemganhou, sizeof(quemganhou)); //Geta o nome de quem ganhou a lideanзa
    GetPlayerName(playerid, quemdeu, sizeof(quemdeu)); //Geta o nome do admin que deu o lнder
    format(string, sizeof(string), "Vocк  deu lнder da Organizaзгo %s para %s(ID: %d)", GetOrgName(org), quemganhou, id); //Formata uma mensagem com o nome de quem ganhou a lideranзa, o nome da orgnizaзгo que foi setada e o "id"
    SendClientMessage(playerid, 0x00F6F6AA, string); //Manda a mensgem formatada para quem digitou o comando (quem deu o lнder)
    format(string, sizeof(string), "%s(ID: %d) te deu lнder da Organizaзгo %s.", quemdeu, playerid, GetOrgName(org)); //Formata uma mensgame com quem deu a lideranзa, o "playerid" e o nome organizaзгo setada
    SendClientMessage(id, 0x00F6F6AA, string); //Envia a mensgaem formatada para que recebeu a lideranзa
    format(string, sizeof(string), "%s(ID: %d) й o novo lнder da Organizaзгo %s.", quemganhou, id, GetOrgName(org)); //Formata a mensagem...
    SendClientMessageToAll(0x00F6F6AA, string); //Envia a mensagem para todos Online
    pDados[id][Organizacao] = org; //Seta a organizaзгo do "id"
    pDados[id][Cargo] = 6; //Seta o cargo (lideranзa) do "id"
    SpawnPlayer(id); //Spawna o player que rebeu a lideranзa
    return 1; //Returnando a 1, nunca se esqueзa!
}
CMD:equipar(playerid)
{
    if(pDados[playerid][Organizacao] == 0)
    {
        SendClientMessage(playerid, 0xAD0000AA, "Vocк й Civil e nгo pode equipar.");
    }
    else if(pDados[playerid][Organizacao] == 1)
    {
            if(!IsPlayerInRangeOfPoint(playerid, 3.0, 2743.2683, -2453.8887, 13.8623)) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo estб no local para se equipar");
            new Armas_Exercito = 50*pDados[playerid][Cargo];
            GivePlayerWeapon(playerid, 24, Armas_Exercito);//VOLTAR
            GivePlayerWeapon(playerid, 25, Armas_Exercito);
    }
    else if(pDados[playerid][Organizacao] == 2)
    {
            if(!IsPlayerInRangeOfPoint(playerid, 3.0, 360.2704, -1551.6147, 32.9348)) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo estб no local para se equipar");
            new Armas_BOPE = 50*pDados[playerid][Cargo];
            GivePlayerWeapon(playerid, 24, Armas_BOPE);
            GivePlayerWeapon(playerid, 25, Armas_BOPE);
    }
    else if(pDados[playerid][Organizacao] == 3)
    {
            if(!IsPlayerInRangeOfPoint(playerid, 3.0,1580.0959, -1636.0132, 13.5595)) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo estб no local para se equipar");
            new Armas_PoliciaM = 50*pDados[playerid][Cargo];
            GivePlayerWeapon(playerid, 24, Armas_PoliciaM);
            GivePlayerWeapon(playerid, 25, Armas_PoliciaM);
    }
    else if(pDados[playerid][Organizacao] == 4)
    {
            if(!IsPlayerInRangeOfPoint(playerid, 3.0,916.6559, -1235.1953, 17.2109)) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo estб no local para se equipar");
            new Armas_PoliciaC = 50*pDados[playerid][Cargo];
            GivePlayerWeapon(playerid, 24, Armas_PoliciaC);
            GivePlayerWeapon(playerid, 25, Armas_PoliciaC);
    }
    else if(pDados[playerid][Organizacao] == 5)
    {
            if(!IsPlayerInRangeOfPoint(playerid, 3.0,610.7482,-583.7473,18.0995)) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo estб no local para se equipar");
            new Armas_PoliciaF = 50*pDados[playerid][Cargo];
            GivePlayerWeapon(playerid, 24, Armas_PoliciaF);
            GivePlayerWeapon(playerid, 25, Armas_PoliciaF);
    }
    else if(pDados[playerid][Organizacao] == 6)
    {
            if(!IsPlayerInRangeOfPoint(playerid, 3.0,2520.2756,-1678.4612,15.0039)) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo estб no local para se equipar");
            new Armas_Groove = 50*pDados[playerid][Cargo];
            GivePlayerWeapon(playerid, 24, Armas_Groove);
            GivePlayerWeapon(playerid, 25, Armas_Groove);
    }
    else if(pDados[playerid][Organizacao] == 7)
    {
            if(!IsPlayerInRangeOfPoint(playerid, 3.0,2480.9851,-1537.0526,24.1815)) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo estб no local para se equipar");
            new Armas_Ballas = 50*pDados[playerid][Cargo];
            GivePlayerWeapon(playerid, 24, Armas_Ballas);
            GivePlayerWeapon(playerid, 25, Armas_Ballas);
    }
    else if(pDados[playerid][Organizacao] == 8)
    {
            if(!IsPlayerInRangeOfPoint(playerid, 3.0,2808.4800,-1190.6290,25.3305)) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo estб no local para se equipar");
            new Armas_Vagos = 50*pDados[playerid][Cargo];
            GivePlayerWeapon(playerid, 24, Armas_Vagos);
            GivePlayerWeapon(playerid, 25, Armas_Vagos);
    }
    else if(pDados[playerid][Organizacao] == 9)
    {
            if(!IsPlayerInRangeOfPoint(playerid, 3.0,1673.8265,-2122.4688,14.1460)) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo estб no local para se equipar");
            new Armas_Aztecas = 50*pDados[playerid][Cargo];
            GivePlayerWeapon(playerid, 24, Armas_Aztecas);
            GivePlayerWeapon(playerid, 25, Armas_Aztecas);
    }
    else if(pDados[playerid][Organizacao] == 10)
    {
            if(!IsPlayerInRangeOfPoint(playerid, 3.0,2793.3293,-1626.9401,10.9219)) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo estб no local para se equipar");
            new Armas_Drifters = 50*pDados[playerid][Cargo];
            GivePlayerWeapon(playerid, 24, Armas_Drifters);
            GivePlayerWeapon(playerid, 25, Armas_Drifters);
    }
    else if(pDados[playerid][Organizacao] == 11)
    {
            if(!IsPlayerInRangeOfPoint(playerid, 3.0,1480.9388,-1771.1096,18.7958)) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo estб no local para se equipar");
            new Armas_Prefeito = 50*pDados[playerid][Cargo];
            GivePlayerWeapon(playerid, 24, Armas_Prefeito);
            GivePlayerWeapon(playerid, 25, Armas_Prefeito);
    }
    else if(pDados[playerid][Organizacao] == 12)
    {
            if(!IsPlayerInRangeOfPoint(playerid, 3.0,-50.2947,-269.5299,6.6332)) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo estб no local para se equipar");
            new Armas_Hamas = 50*pDados[playerid][Cargo];
            GivePlayerWeapon(playerid, 24, Armas_Hamas);
            GivePlayerWeapon(playerid, 25, Armas_Hamas);
    }
    else if(pDados[playerid][Organizacao] == 13)
    {
            if(!IsPlayerInRangeOfPoint(playerid, 3.0,2554.4924,-2144.7122,-0.2188)) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo estб no local para se equipar");
            new Armas_Alqaeda = 50*pDados[playerid][Cargo];
            GivePlayerWeapon(playerid, 24, Armas_Alqaeda);
            GivePlayerWeapon(playerid, 25, Armas_Alqaeda);
    }
    else if(pDados[playerid][Organizacao] == 14)
    {
            if(!IsPlayerInRangeOfPoint(playerid, 3.0,736.5074,-1357.3419,13.5000)) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo estб no local para se equipar");
            new Armas_Globo = 50*pDados[playerid][Cargo];
            GivePlayerWeapon(playerid, 24, Armas_Globo);
            GivePlayerWeapon(playerid, 25, Armas_Globo);
    }
    else if(pDados[playerid][Organizacao] == 15)
    {
            if(!IsPlayerInRangeOfPoint(playerid, 3.0,1089.2911,-1184.0073,18.3012)) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo estб no local para se equipar");
            new Armas_Texista = 50*pDados[playerid][Cargo];
            GivePlayerWeapon(playerid, 24, Armas_Texista);
            GivePlayerWeapon(playerid, 25, Armas_Texista);
    }
    else if(pDados[playerid][Organizacao] == 16)
    {
            if(!IsPlayerInRangeOfPoint(playerid, 3.0,1489.3357,-668.6467,95.6013)) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo estб no local para se equipar");
            new Armas_MafiaCN = 50*pDados[playerid][Cargo];
            GivePlayerWeapon(playerid, 24, Armas_MafiaCN);
            GivePlayerWeapon(playerid, 25, Armas_MafiaCN);
    }
    else if(pDados[playerid][Organizacao] == 17)
    {
            if(!IsPlayerInRangeOfPoint(playerid, 3.0,673.5741,-1277.2224,13.6337)) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo estб no local para se equipar");
            new Armas_Yakuza = 50*pDados[playerid][Cargo];
            GivePlayerWeapon(playerid, 24, Armas_Yakuza);
            GivePlayerWeapon(playerid, 25, Armas_Yakuza);
    }
    else if(pDados[playerid][Organizacao] == 18)
    {
            if(!IsPlayerInRangeOfPoint(playerid, 3.0,2351.4998,-1214.8763,22.5000)) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo estб no local para se equipar");
            new Armas_Triads = 50*pDados[playerid][Cargo];
            GivePlayerWeapon(playerid, 24, Armas_Triads);
            GivePlayerWeapon(playerid, 25, Armas_Triads);
    }
    else if(pDados[playerid][Organizacao] == 19)
    {
            if(!IsPlayerInRangeOfPoint(playerid, 3.0,1509.8113,-1481.3242,9.5000)) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo estб no local para se equipar");
            new Armas_Hitmans = 50*pDados[playerid][Cargo];
            GivePlayerWeapon(playerid, 24, Armas_Hitmans);
            GivePlayerWeapon(playerid, 25, Armas_Hitmans);
    }
    else if(pDados[playerid][Organizacao] == 20)
    {
            if(!IsPlayerInRangeOfPoint(playerid, 3.0,2141.4141,-1802.4954,16.1475)) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo estб no local para se equipar");
            new Armas_Bloodz = 50*pDados[playerid][Cargo];
            GivePlayerWeapon(playerid, 24, Armas_Bloodz);
            GivePlayerWeapon(playerid, 25, Armas_Bloodz);
    }
    return 1; //Returnando a 1, nunca se esqueзa!
}
stock GetOrgName(orgid)
{
    new str[30];
    if(orgid == 0)
    {
        str = "Civil";
    }
    if(orgid == 1)
    {
        str = "Exercito";
    }
    if(orgid == 2)
    {
        str = "B.O.P.E";
    }
    if(orgid == 3)
    {
        str = "Policia Militar";
    }
    if(orgid == 4)
    {
        str = "Policia Civil";
    }
    if(orgid == 5)
    {
        str = "Policia Federal";
    }
    if(orgid == 6)
    {
        str = "Groove Street";
    }
    if(orgid == 7)
    {
        str = "Ballas";
    }
    if(orgid == 8)
    {
        str = "Los Vagos";
    }
    if(orgid == 9)
    {
        str = "Los Astecas";
    }
    if(orgid == 10)
    {
        str = "Drifters";
    }
    if(orgid == 11)
    {
        str = "Prefeito";
    }
    if(orgid == 12)
    {
        str = "Hamas";
    }
    if(orgid == 13)
    {
        str = "Al'qaeda";
    }
    if(orgid == 14)
    {
        str = "Rede Globo";
    }
    if(orgid == 15)
    {
        str = "Texista";
    }
    if(orgid == 16)
    {
        str = "Mбfia Cosa Nostra";
    }
    if(orgid == 17)
    {
        str = "Mбfia Yakuza";
    }
    if(orgid == 18)
    {
        str = "Triads";
    }
    if(orgid == 19)
    {
        str = "Hitmans";
    }
    if(orgid == 20)
    {
        str = "Bloodz";
    }
    return str;
}

stock SendFamilyMessage(orgid, cor, mensagem[]) //stock que envia a mensagem para tal organizaзгo de acordo com "ogrid"
{
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            if(pDados[i][Organizacao] == orgid)
            {
                SendClientMessage(i, cor, mensagem);
            }
        }
    }
    return 0;
}
// depois de Getplayername usa o > %s
}
ESTOU INICIANDO AGORA:
Reply
#2

Adicione o V_Orgs em OnPlayerEnterVehicle.
pawn Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger){
     V_Orgs(playerid);
     return 1;
}
Reply
#3

nгo deu... pois ja estб FEITO na public...

quero que fassa algum esquema de onde colocar cada coisa, tipo la onde coloquei os carros para igualar os carros de org com a org

e obg por tentar me ajudar
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)