[Ajuda] Comando /contrato
#1

Seguinte galera estou embaraзado com esse comando ae para as duas ORGS Assassinas serб que alguem me consegue ajudar com ele? vou postar ele so para a ORG Hitmans e queria ver se me ajudavam a fazer um so comando para Hitmans e Triads.

pawn Код:
if(strcmp(cmd, "/contrato", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            new money2;
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD1, "USE: /contratohitman [ID/Nome] [Quantia]");
                return 1;
            }
            giveplayerid = ReturnUser(tmp);
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD1, "USE: /contratohitman [ID/Nome] [Quantia]");
                return 1;
            }
            moneys = strval(tmp);
            if(moneys < 10000) { SendClientMessage(playerid, COLOR_GREY, "   Seu contrato nгo pode ser menor que 10000"); return 1; }
            if (IsPlayerConnected(giveplayerid))
            {
                if(giveplayerid != INVALID_PLAYER_ID)
                {
                    if(PlayerInfo[giveplayerid][pMembro] == 8 || PlayerInfo[giveplayerid][pLider] == 8)
                    {
                        SendClientMessage(playerid, COLOR_GREY, "   Nгo pode colocar contrato em Hitmans na Agencia Hitmans");
                        return 1;
                    }
                    /*else if(PlayerInfo[giveplayerid][pAdmin] >= 1)
                    {
                        SendClientMessage(playerid, COLOR_GREY, "   Nгo pode colocar contrato em Admins!");
                        return 1;
                    }*/

                    if(gTeam[giveplayerid] == 2 && moneys <= 100000)
                    {
                        SendClientMessage(playerid, COLOR_GREY, "   Preco Minimo de $100000 em oficiais!");
                        return 1;
                    }
                    if(giveplayerid == playerid)
                    {
                        SendClientMessage(playerid, COLOR_GREY, "Nao pode colocar contrato em si mesmo!");
                        return 1;
                    }
                    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                    GetPlayerName(playerid, sendername, sizeof(sendername));
                    money2 = GetPlayerMoney(playerid);
                    if (moneys > 0 && money2 >= moneys)
                    {
                        GivePlayerMoney(playerid, (0 - moneys));
                        PlayerInfo[giveplayerid][pHeadValuehitman]+=moneys;
                        format(string, sizeof(string), "[Hitmans]:%s Colocou um contrato em %s, por $%d.",sendername, giveplayer, moneys);
                        SendFamilyMessage(8, COLOR_YELLOW, string);
                        format(string, sizeof(string), "* Vocк colocou um contrato nos Hitmans em %s, por $%d.",giveplayer, moneys);
                        SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                        PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
                    }
                    else
                    {
                        SendClientMessage(playerid, COLOR_GRAD1, "   Vocк nгo possui essa grana.");
                    }
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GRAD1, "   Esse nгo й um jogador ativo.");
            }
        }
        return 1;
    }
Reply
#2

Poste as variaveis dos Triads: ID da Org, e o OnPlayerDeath na parte que "cumpre contrato".
Reply
#3

pawn Код:
if(PlayerInfo[giveplayerid][pMembro] == 8 || PlayerInfo[giveplayerid][pLider] == 8)
Acrescenta aqui os id dos Triads
Reply
#4

Ok entao vou postar aqui o outro cmd que adaptei pois nao sabia fazer num sу

pawn Код:
if(strcmp(cmd, "/contratotriad", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            new money2;
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD1, "USE: /contratotriad [ID/Nome] [Quantia]");
                return 1;
            }
            giveplayerid = ReturnUser(tmp);
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD1, "USE: /contratotriad [ID/Nome] [Quantia]");
                return 1;
            }
            moneys = strval(tmp);
            if(moneys < 10000) { SendClientMessage(playerid, COLOR_GREY, "   Seu contrato nгo pode ser menor que 10000"); return 1; }
            if (IsPlayerConnected(giveplayerid))
            {
                if(giveplayerid != INVALID_PLAYER_ID)
                {
                    if(PlayerInfo[giveplayerid][pLider] == 34 || PlayerInfo[playerid][pMembro] == 34)
                    {
                        SendClientMessage(playerid, COLOR_GREY, "   Nгo pode colocar contrato em Triads na Agencia Triads");
                        return 1;
                    }
                    /*else if(PlayerInfo[giveplayerid][pAdmin] >= 1)
                    {
                        SendClientMessage(playerid, COLOR_GREY, "   Nгo pode colocar contrato em Admins!");
                        return 1;
                    }*/

                    if(gTeam[giveplayerid] == 2 && moneys <= 100000)
                    {
                        SendClientMessage(playerid, COLOR_GREY, "   Preco Minimo de $100000 em oficiais!");
                        return 1;
                    }
                    if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Nao pode colocar contrato em si mesmo!"); return 1; }
                    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                    GetPlayerName(playerid, sendername, sizeof(sendername));
                    money2 = GetPlayerMoney(playerid);
                    if (moneys > 0 && money2 >= moneys)
                    {
                        GivePlayerMoney(playerid, (0 - moneys));
                        PlayerInfo[giveplayerid][pHeadValuetriad]+=moneys;
                        format(string, sizeof(string), "[Triad]: %s Colocou um contrato em %s, por $%d.",sendername, giveplayer, moneys);
                        SendFamilyMessage(34, COLOR_YELLOW, string);
                        format(string, sizeof(string), "* Vocк colocou um contrato nos TRIAD em %s, por $%d.",giveplayer, moneys);
                        SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                        PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
                    }
                    else
                    {
                        SendClientMessage(playerid, COLOR_GRAD1, "   Vocк nгo possui essa grana.");
                    }
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GRAD1, "   Esse nгo й um jogador ativo.");
            }
        }
        return 1;
    }
e aqui a parte do "OnPlayerDeath"

pawn Код:
if(PlayerInfo[playerid][pHeadValuetriad] > 0)
    {
        if(IsPlayerConnected(killerid))
        {
            if(gTeam[killerid] == 10 || PlayerInfo[killerid][pLider] == 34  || PlayerInfo[killerid][pMembro] == 34)
            {
                if(GoChase[killerid] == playerid)
                {
                    ConsumingMoney[killerid] = 1;
                    GivePlayerMoney(killerid, PlayerInfo[playerid][pHeadValuetriad]);
                    format(gstring,128,"Vocк foi morto por contrato pelo Triad %s no valor de %d e nгo foi DM!",PlayerName(killerid),PlayerInfo[playerid][pHeadValuetriad]);
                    //SendClientMessage(playerid, 0x33FF00FF, gstring);
                    SendClientMessage(playerid, COR_BALLAS, gstring);
                    format(gstring,128,"<< Triad %s Cumpriu o contrato em %s e recebeu $%d >>",PlayerName(killerid),PlayerName(playerid),PlayerInfo[playerid][pHeadValuetriad]);
                    SendFamilyMessage(34, COLOR_YELLOW, gstring);
                    PlayerInfo[playerid][pHeadValuetriad] = 0;
                    Gottriad[playerid] = 0;
                    GetChased[playerid] = 999;
                    GoChase[killerid] = 999;
                }
            }
        }
    }
Reply
#5

pawn Код:
if(strcmp(cmd, "/contrato", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            new money2;
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD1, "USE: /contrato[ID/Nome] [Quantia]");
                return 1;
            }
            giveplayerid = ReturnUser(tmp);
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD1, "USE: /contrato[ID/Nome] [Quantia]");
                return 1;
            }
            moneys = strval(tmp);
            if(moneys < 10000) { SendClientMessage(playerid, COLOR_GREY, "   Seu contrato nгo pode ser menor que 10000"); return 1; }
            if (IsPlayerConnected(giveplayerid))
            {
                if(giveplayerid != INVALID_PLAYER_ID)
                {
                    if(PlayerInfo[giveplayerid][pMembro] == 8 || PlayerInfo[giveplayerid][pLider] == 8)
                    {
                        SendClientMessage(playerid, COLOR_GREY, "   Nгo pode colocar contrato em Hitmans na Agencia Hitmans");
                        return 1;
                    }
                    if(PlayerInfo[giveplayerid][pLider] == 34 || PlayerInfo[playerid][pMembro] == 34)
                    {
                        SendClientMessage(playerid, COLOR_GREY, "   Nгo pode colocar contrato em Triads na Agencia Triads");
                        return 1;
                    }
                    /*else if(PlayerInfo[giveplayerid][pAdmin] >= 1)
                    {
                        SendClientMessage(playerid, COLOR_GREY, "   Nгo pode colocar contrato em Admins!");
                        return 1;
                    }*/

                    if(gTeam[giveplayerid] == 2 && moneys <= 100000)
                    {
                        SendClientMessage(playerid, COLOR_GREY, "   Preco Minimo de $100000 em oficiais!");
                        return 1;
                    }
                    if(giveplayerid == playerid)
                    {
                        SendClientMessage(playerid, COLOR_GREY, "Nao pode colocar contrato em si mesmo!");
                        return 1;
                    }
                    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                    GetPlayerName(playerid, sendername, sizeof(sendername));
                    money2 = GetPlayerMoney(playerid);
                    if (moneys > 0 && money2 >= moneys)
                    {
                        GivePlayerMoney(playerid, (0 - moneys));
                        PlayerInfo[giveplayerid][pHeadValuehitman]+=moneys;
                        PlayerInfo[giveplayerid][pHeadValuetriad]+=moneys;
                        format(string, sizeof(string), "[Contrato]:%s Colocou um contrato em %s, por $%d.",sendername, giveplayer, moneys);
                        SendFamilyMessage(8, COLOR_YELLOW, string);
                        SendFamilyMessage(34, COLOR_YELLOW, string);
                        format(string, sizeof(string), "* Vocк colocou um contrato %s, por $%d.",giveplayer, moneys);
                        SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                        PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
                    }
                    else
                    {
                        SendClientMessage(playerid, COLOR_GRAD1, "   Vocк nгo possui essa grana.");
                    }
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GRAD1, "   Esse nгo й um jogador ativo.");
            }
        }
        return 1;
    }
   
 
   
    if(PlayerInfo[playerid][pHeadValuetriad] > 0 || PlayerInfo[playerid][pHeadValuehitman] > 0)
    {
        if(IsPlayerConnected(killerid))
        {
            if(gTeam[killerid] == 10 || PlayerInfo[killerid][pLider] == 34  || PlayerInfo[killerid][pMembro] == 34
                                     || PlayerInfo[killerid][pLider] == 8   || PlayerInfo[killerid][pMembro] == 8 )
            {
                if(GoChase[killerid] == playerid)
                {
                    ConsumingMoney[killerid] = 1;
                    GivePlayerMoney(killerid, PlayerInfo[playerid][pHeadValuetriad]);
                    format(gstring,128,"Vocк foi morto por contrato pelo %s no valor de %d e nгo foi DM!",PlayerName(killerid),PlayerInfo[playerid][pHeadValuetriad]);
                    //SendClientMessage(playerid, 0x33FF00FF, gstring);
                    SendClientMessage(playerid, COR_BALLAS, gstring);
                    if(PlayerInfo[killerid][pLider] == 34  || PlayerInfo[killerid][pMembro] == 34)
                    {
                        format(gstring,128,"<< Triad %s Cumpriu o contrato em %s e recebeu $%d >>",PlayerName(killerid),PlayerName(playerid),PlayerInfo[playerid][pHeadValuetriad]);
                        SendFamilyMessage(34, COLOR_YELLOW, gstring);
                        PlayerInfo[playerid][pHeadValuetriad] = 0;
                        Gottriad[playerid] = 0;
                    }
                    if(PlayerInfo[killerid][pLider] == 8 || PlayerInfo[killerid][pMembro] == 8)
                    {
                        format(gstring,128,"<< Hitman %s Cumpriu o contrato em %s e recebeu $%d >>",PlayerName(killerid),PlayerName(playerid),PlayerInfo[playerid][pHeadValuetriad]);
                        SendFamilyMessage(8, COLOR_YELLOW, gstring);
                        PlayerInfo[playerid][pHeadValuehitman] = 0;
                        GotGothitman[playerid] = 0;
                    }
                    GetChased[playerid] = 999;
                    GoChase[killerid] = 999;
                }
            }
        }
    }
Reply
#6

Vitor tipo eu queria que o player escolhesse em que org quer colocar o contrato
Reply
#7

pawn Код:
if(strcmp(cmd, "/contrato", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            new money2;
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD1, "USE: /contrato[ID/Nome] [Quantia] [agencia]");
                return 1;
            }
            giveplayerid = ReturnUser(tmp);
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD1, "USE: /contrato[ID/Nome] [Quantia] [agencia]");
                return 1;
            }
            moneys = strval(tmp);
            if(moneys < 10000) { SendClientMessage(playerid, COLOR_GREY, "   Seu contrato nгo pode ser menor que 10000"); return 1; }
            new agencia;
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD1, "USE: /contrato [ID/Nome] [Quantia] [agencia 1 = hit | 2 = triad]");
                return 1;
            }
            agencia = strval(tmp);
                        if(agencia < 1 || agencia > 2) return SendClientMessage(playerid, COLOR_GRAD1, "USE: [agencia 1 = hit | 2 = triad]");
            if (IsPlayerConnected(giveplayerid))
            {
                if(giveplayerid != INVALID_PLAYER_ID)
                {
                    if(PlayerInfo[giveplayerid][pMembro] == 8 || PlayerInfo[giveplayerid][pLider] == 8)
                    {
                        SendClientMessage(playerid, COLOR_GREY, "   Nгo pode colocar contrato em Hitmans na Agencia Hitmans");
                        return 1;
                    }
                    if(PlayerInfo[giveplayerid][pLider] == 34 || PlayerInfo[playerid][pMembro] == 34)
                    {
                        SendClientMessage(playerid, COLOR_GREY, "   Nгo pode colocar contrato em Triads na Agencia Triads");
                        return 1;
                    }
                    /*else if(PlayerInfo[giveplayerid][pAdmin] >= 1)
                    {
                        SendClientMessage(playerid, COLOR_GREY, "   Nгo pode colocar contrato em Admins!");
                        return 1;
                    }*/

                    if(gTeam[giveplayerid] == 2 && moneys <= 100000)
                    {
                        SendClientMessage(playerid, COLOR_GREY, "   Preco Minimo de $100000 em oficiais!");
                        return 1;
                    }
                    if(giveplayerid == playerid)
                    {
                        SendClientMessage(playerid, COLOR_GREY, "Nao pode colocar contrato em si mesmo!");
                        return 1;
                    }
                    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                    GetPlayerName(playerid, sendername, sizeof(sendername));
                    money2 = GetPlayerMoney(playerid);
                    if (moneys > 0 && money2 >= moneys)
                    {
                        GivePlayerMoney(playerid, (0 - moneys));
                        if(agencia == 1)
                        {
                            PlayerInfo[giveplayerid][pHeadValuehitman]+=moneys;
                            format(string, sizeof(string), "[Contrato Hitman]: %s Colocou um contrato Hitman em %s, por $%d.",sendername, giveplayer, moneys);
                            SendFamilyMessage(8, COLOR_YELLOW, string);
                        }
                        if(agencia == 2)
                        {
                            PlayerInfo[giveplayerid][pHeadValuetriad]+=moneys;
                            format(string, sizeof(string), "[Contrato Triad]: %s Colocou um contrato Triad em %s, por $%d.",sendername, giveplayer, moneys);
                            SendFamilyMessage(34, COLOR_YELLOW, string);
                        }
                        format(string, sizeof(string), "* Vocк colocou um contrato %s, por $%d.",giveplayer, moneys);
                        SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                        PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
                    }
                    else
                    {
                        SendClientMessage(playerid, COLOR_GRAD1, "   Vocк nгo possui essa grana.");
                    }
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GRAD1, "   Esse nгo й um jogador ativo.");
            }
        }
        return 1;
    }
Reply
#8

VLW vitor mas nao me consegue colocar esse cmd a chekar tipo em vez de ser Hitman = 1 / triad = 2 ser em Letras tipo Hitman e triad ?
Reply
#9

pawn Код:
if(strcmp(cmd, "/contrato", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            new money2;
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD1, "USE: /contrato[ID/Nome] [Quantia] [agencia]");
                return 1;
            }
            giveplayerid = ReturnUser(tmp);
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD1, "USE: /contrato[ID/Nome] [Quantia] [agencia]");
                return 1;
            }
            moneys = strval(tmp);
            if(moneys < 10000) { SendClientMessage(playerid, COLOR_GREY, "   Seu contrato nгo pode ser menor que 10000"); return 1; }
            new agencia[8];
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD1, "USE: /contrato [ID/Nome] [Quantia] [agencia = hitmans ou triads]");
                return 1;
            }
            strmid(agencia, tmp, 0, strlen(cmdtext), 255);
            if (IsPlayerConnected(giveplayerid))
            {
                if(giveplayerid != INVALID_PLAYER_ID)
                {
                    if(PlayerInfo[giveplayerid][pMembro] == 8 || PlayerInfo[giveplayerid][pLider] == 8)
                    {
                        SendClientMessage(playerid, COLOR_GREY, "   Nгo pode colocar contrato em Hitmans na Agencia Hitmans");
                        return 1;
                    }
                    if(PlayerInfo[giveplayerid][pLider] == 34 || PlayerInfo[playerid][pMembro] == 34)
                    {
                        SendClientMessage(playerid, COLOR_GREY, "   Nгo pode colocar contrato em Triads na Agencia Triads");
                        return 1;
                    }
                    /*else if(PlayerInfo[giveplayerid][pAdmin] >= 1)
                    {
                        SendClientMessage(playerid, COLOR_GREY, "   Nгo pode colocar contrato em Admins!");
                        return 1;
                    }*/

                    if(gTeam[giveplayerid] == 2 && moneys <= 100000)
                    {
                        SendClientMessage(playerid, COLOR_GREY, "   Preco Minimo de $100000 em oficiais!");
                        return 1;
                    }
                    if(giveplayerid == playerid)
                    {
                        SendClientMessage(playerid, COLOR_GREY, "Nao pode colocar contrato em si mesmo!");
                        return 1;
                    }
                    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                    GetPlayerName(playerid, sendername, sizeof(sendername));
                    money2 = GetPlayerMoney(playerid);
                    if (moneys > 0 && money2 >= moneys)
                    {
                        GivePlayerMoney(playerid, (0 - moneys));
                        if(strcmp(agencia, "hitman", true, strlen(agencia)) == 0 || strcmp(agencia, "hitmans", true, strlen(agencia)) == 0)
                        {
                            PlayerInfo[giveplayerid][pHeadValuehitman]+=moneys;
                            format(string, sizeof(string), "[Contrato Hitman]: %s Colocou um contrato Hitman em %s, por $%d.",sendername, giveplayer, moneys);
                            SendFamilyMessage(8, COLOR_YELLOW, string);
                        }
                        if(strcmp(agencia, "triad", true, strlen(agencia)) == 0 || strcmp(agencia, "triads", true, strlen(agencia)) == 0)
                        {
                            PlayerInfo[giveplayerid][pHeadValuetriad]+=moneys;
                            format(string, sizeof(string), "[Contrato Triad]: %s Colocou um contrato Triad em %s, por $%d.",sendername, giveplayer, moneys);
                            SendFamilyMessage(34, COLOR_YELLOW, string);
                        }
                        format(string, sizeof(string), "* Vocк colocou um contrato %s, por $%d.",giveplayer, moneys);
                        SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                        PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
                    }
                    else
                    {
                        SendClientMessage(playerid, COLOR_GRAD1, "   Vocк nгo possui essa grana.");
                    }
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GRAD1, "   Esse nгo й um jogador ativo.");
            }
        }
        return 1;
    }
Reply
#10

Vlw vitor :P ,recebeu minha reputaзгo?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)