SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese

Reply
 
Thread Tools Display Modes
Old 29/03/2012, 06:46 PM   #1
caoraivoso3
High-roller
 
Join Date: Dec 2011
Posts: 1,148
Reputation: 31
Default [AJUDA] alterar comando

Boas malta,eu tinha o comando /anuncio,que era quando o player entrasse numa business,ele usava /anuncio e fazia o seu anuncio,so que alterei,para não ser anuncio. Comando do Anuncio.
pawn Code:
if(strcmp(cmd, "/anuncio", true) == 0 || strcmp(cmd, "/an", true) == 0)
        {
            if(IsPlayerConnected(playerid))
            {
                if(gPlayerLogged[playerid] == 0)
                {
                    SendClientMessage(playerid, COLOR_DARKRED, "[ERRO:] Não estás logado.");
                    return 1;
                }
                new length = strlen(cmdtext);
                while ((idx < length) && (cmdtext[idx] <= ' '))
                {
                    idx++;
                }
                new offset = idx;
                new result[128];
                while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
                {
                    result[idx - offset] = cmdtext[idx];
                    idx++;
                }
                result[idx - offset] = EOS;
                if(!strlen(result))
                {
                    SendClientMessage(playerid, COLOR_LIGHTORANGE, "[Comando:] (/an)uncio [texto]");
                    return 1;
                }
                {
                   if(GetPlayerVirtualWorld(playerid) == -1)
                         {
                                    if ((!adds) && (PlayerInfo[playerid][mstrvbcAdmin] < 1))
                                    {
                                        format(string, sizeof(string), "Aguarda %d segundos para fazeres outro anúncio.",  (addtimer/1000));
                                        SendClientMessage(playerid, COLOR_WHITE, string);
                                        return 1;

                                    }
                                    new payout = idx * 15;
                                    if(GetPlayerEuros(playerid) < payout)
                                    {
                                        SendClientMessage(playerid, COLOR_DARKRED, "[ERRO:]Não tens dinheiro suficiente para fazeres publicidade.");
                                        return 1;
                                    }
                                    GivePlayerEuros(playerid, - payout);
                                    format(string, sizeof(string), "___________________________[Publicidade]___________________________");
                                    SendClientMessageToAll(COLOR_LIGHTGREEN,string);
                                    format(string, sizeof(string), "[Anúncio:] %s",  result);
                                    SendClientMessageToAll(COLOR_WHITE,string);
                                    format(string, sizeof(string), "[Anúncio:] Publicidade por: %s - Número De Telemóvel: %d.",  GetPlayerNameEx(playerid),PlayerInfo[playerid][msPhoneNumber]);
                                    SendClientMessageToAll(COLOR_WHITE,string);
                                    SendClientMessageToAll(COLOR_LIGHTGREEN,"________________________________________________________________________________________________________________________");
                                    if (PlayerInfo[playerid][mstrvbcAdmin] < 1){SetTimer("AddsOn", addtimer, 0);adds = 0;}
                                    format(string, sizeof(string), " Caracteres contidos: %d - Preço: %d€ - Obrigado pelo seu anúncio.");
                                    SendClientMessage(playerid,COLOR_WHITE,string);
                                    PlayerActionMessage(playerid,15.0,"Deu algum dinheiro ao jornalista e fez o seu anuncio");
                                    return 1;
                                }
                                else
                                {
                                 SendClientMessage(playerid, COLOR_WHITE, "Não te encontras no Negócio.");
                        }
                    }
                }
                return 1;
            }
eu queria que,quando o player tivesse dentro de um interior numas certas coordenadas,podesse fazer o anuncio,se tivesse fora do interior não desse. Exemplo: Player ta na rua,usa /anuncio e apareçia,"Tens que estar no estabelecimento da news". Se o player tivesse dentro do interior numas coordenadas,ja podesse fazer o /anuncio. Ajudem-me malta :S
caoraivoso3 is offline   Reply With Quote
Old 29/03/2012, 07:09 PM   #2
Skun Fly
Big Clucker
 
Skun Fly's Avatar
 
Join Date: Jan 2012
Location: Marte
Posts: 123
Reputation: 4
Default Re: [AJUDA] alterar comando

Podes usar: IsPlayerInRangeOfPoint

pawn Code:
if(!strcmp("/meucomando",cmdtext))
{
    if(IsPlayerInRangeOfPoint(playerid,RAIO, CORDENADAX, CORDENADAY, CORDENADAZ))
    {
        SendClientMessage(playerid,COR,"[ERRO] Vai para o local correto para usares /meucomando");
    }
    return 1;
}

Se precisar de mais ajuda ou se der algum erro posta
Ajudei? +resp <----

@EDIT Faltou o raio
__________________
Projetos em realização:

[X]TugaElectronicGaming.com RolePlayGaming
[X]SKAdmin System

Se você encontrar um caminho sem obstáculos, ele provavelmente não leva a lugar nenhum..
Estou de volta!

Last edited by Skun Fly; 29/03/2012 at 07:47 PM.
Skun Fly is offline   Reply With Quote
Old 29/03/2012, 07:34 PM   #3
humildadeforever
High-roller
 
humildadeforever's Avatar
 
Join Date: Jan 2011
Location: Jacarei - SP :)
Posts: 2,025
Reputation: 186
Default Re: [AJUDA] alterar comando

Usa assim para verificar se está em certo local:
pawn Code:
if(!IsPlayerInRangeOfPoint(playerid,raio, coordenadas do local)) return SendClientMessage(playerid,-1,"Você não está no local.");
//resto do cmd
E para verificar se está no interior que você quer usa assim:
pawn Code:
if(GetPlayerInterior(playerid) != interior q voce quer) return SendClientMessage(playerid,-1,"Você precisa tá no interior interiorid");
//resto do cmd
Se estiver errada desculpe-me, não estou muito bem hoje...
__________________

"Antes de querer ensinar, tenha a certeza de que você já aprendeu" - Eu
Sunset RolePlay:

Primeiro vídeo de apresentação: http://www.youtube.com/watch?v=YOwKgFbKKVI
Trailer Oficial Sunset RolePlay:
http://www.youtube.com/watch?v=p3jzRhJhV4s
Projeto pausado, por falta de tempo, mais uma vez

Facebook: https://www.facebook.com/aninhaahsilva
humildadeforever is offline   Reply With Quote
Old 29/03/2012, 07:40 PM   #4
Jason`
High-roller
 
Jason`'s Avatar
 
Join Date: Sep 2011
Posts: 1,464
Reputation: 112
Default Re: [AJUDA] alterar comando

Quote:
Originally Posted by Skun Fly View Post
Podes usar: IsPlayerInRangeOfPoint

pawn Code:
if(!strcmp("/meucomando",cmdtext))
{
    if(IsPlayerInRangeOfPoint(playerid, CORDENADAX, CORDENADAY, CORDENADAZ))
    {
        SendClientMessage(playerid,COR,"[ERRO] Vai para o local correto para usares /meucomando");
    }
    return 1;
}

Se precisar de mais ajuda ou se der algum erro posta
Ajudei? +resp <----
Errado.

pawn Code:
if(!strcmp("/meucomando",cmdtext))
{
    if(!IsPlayerInRangeOfPoint(playerid, RAIO, CORDENADAX, CORDENADAY, CORDENADAZ))
        return SendClientMessage(playerid,COR,"[ERRO] Vai para o local correto para usares /meucomando");
    return 1;
}
Jason` is offline   Reply With Quote
Old 29/03/2012, 07:46 PM   #5
Skun Fly
Big Clucker
 
Skun Fly's Avatar
 
Join Date: Jan 2012
Location: Marte
Posts: 123
Reputation: 4
Default Re: [AJUDA] alterar comando

Quote:
Originally Posted by Pedro_Miranda View Post
Errado.

pawn Code:
if(!strcmp("/meucomando",cmdtext))
{
    if(IsPlayerInRangeOfPoint(playerid, RAIO, CORDENADAX, CORDENADAY, CORDENADAZ))
    {
        SendClientMessage(playerid,COR,"[ERRO] Vai para o local correto para usares /meucomando");
    }
    return 1;
}
É verdade, esqueci o raio '-' vlw
Vou já editar
__________________
Projetos em realização:

[X]TugaElectronicGaming.com RolePlayGaming
[X]SKAdmin System

Se você encontrar um caminho sem obstáculos, ele provavelmente não leva a lugar nenhum..
Estou de volta!
Skun Fly is offline   Reply With Quote
Old 29/03/2012, 07:51 PM   #6
humildadeforever
High-roller
 
humildadeforever's Avatar
 
Join Date: Jan 2011
Location: Jacarei - SP :)
Posts: 2,025
Reputation: 186
Default Re: [AJUDA] alterar comando

Quote:
Originally Posted by Pedro_Miranda View Post
Errado.

pawn Code:
if(!strcmp("/meucomando",cmdtext))
{
    if(IsPlayerInRangeOfPoint(playerid, RAIO, CORDENADAX, CORDENADAY, CORDENADAZ))
    {
        SendClientMessage(playerid,COR,"[ERRO] Vai para o local correto para usares /meucomando");
    }
    return 1;
}
O certo não seria:
pawn Code:
if(!strcmp("/meucomando",cmdtext))
{
    if(IsPlayerInRangeOfPoint(playerid, RAIO, CORDENADAX, CORDENADAY, CORDENADAZ))
    {
        SendClientMessage(playerid,COR,"Você está no local correto!");
    }
    return 1;
}
Ou então:
pawn Code:
if(!strcmp("/meucomando",cmdtext))
{
    if(!IsPlayerInRangeOfPoint(playerid, RAIO, CORDENADAX, CORDENADAY, CORDENADAZ))// !
    {
        SendClientMessage(playerid,COR,"[ERRO] Vai para o local correto para usares /meucomando");
    }
    return 1;
}
Ou de uma forma mais pequena
pawn Code:
if(!strcmp("/meucomando",cmdtext))
{
    if(!IsPlayerInRangeOfPoint(playerid, RAIO, CORDENADAX, CORDENADAY, CORDENADAZ)) return SendClientMessage(playerid,COR,"[ERRO] Vai para o local correto para usares /meucomando");
    //funçoes do comando, exemplo:
    SendClientMessage(playerid,-1,"Você digitou o comando no lugar certo e ganhou uma arminha :)");
    GivePlayerWeapon(playerid, 24,100);
    return 1;
}
__________________

"Antes de querer ensinar, tenha a certeza de que você já aprendeu" - Eu
Sunset RolePlay:

Primeiro vídeo de apresentação: http://www.youtube.com/watch?v=YOwKgFbKKVI
Trailer Oficial Sunset RolePlay:
http://www.youtube.com/watch?v=p3jzRhJhV4s
Projeto pausado, por falta de tempo, mais uma vez

Facebook: https://www.facebook.com/aninhaahsilva
humildadeforever is offline   Reply With Quote
Old 29/03/2012, 07:54 PM   #7
Jason`
High-roller
 
Jason`'s Avatar
 
Join Date: Sep 2011
Posts: 1,464
Reputation: 112
Default Re: [AJUDA] alterar comando

Verdade

Está correto apenas na segunda forma, na primeira vai dizer que não está no local mas as funções seguintes serão executadas da mesma forma (caso hajam), deveria ter posto return 1; :P
Jason` is offline   Reply With Quote
Old 29/03/2012, 07:56 PM   #8
caoraivoso3
High-roller
 
Join Date: Dec 2011
Posts: 1,148
Reputation: 31
Default Re: [AJUDA] alterar comando

Ja,agora,aproveito este topic,eu orienteime por voces,fico grato. O comando "finalizado" por min:
pawn Code:
if(strcmp(cmd, "/anuncio", true) == 0 || strcmp(cmd, "/an", true) == 0)
        {
            if(IsPlayerConnected(playerid))
            {
                if(gPlayerLogged[playerid] == 0)
                {
                    SendClientMessage(playerid, COLOR_DARKRED, "[ERRO:] Não estás logado.");
                    return 1;
                }
                new length = strlen(cmdtext);
                while ((idx < length) && (cmdtext[idx] <= ' '))
                {
                    idx++;
                }
                new offset = idx;
                new result[128];
                while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
                {
                    result[idx - offset] = cmdtext[idx];
                    idx++;
                }
                result[idx - offset] = EOS;
                if(!strlen(result))
                {
                    SendClientMessage(playerid, COLOR_LIGHTORANGE, "[Comando:] (/an)uncio [texto]");
                    return 1;
                }
                {
                if(!IsPlayerInRangeOfPoint(playerid, 20.0, 364.1921,168.3376,1019.9844))
                  (SetPlayerInterior(playerid, 3));
                   };
                   {
                    if(GetPlayerVirtualWorld(playerid) == 3)
                         {
                                    if ((!adds) && (PlayerInfo[playerid][mstrvbcAdmin] < 1))
                                    {
                                        format(string, sizeof(string), "Aguarda %d segundos para fazeres outro anúncio.",  (addtimer/1000));
                                        SendClientMessage(playerid, COLOR_WHITE, string);
                                        return 1;

                                    }
                                    new payout = idx * 15;
                                    if(GetPlayerEuros(playerid) < payout)
                                    {
                                        SendClientMessage(playerid, COLOR_DARKRED, "[ERRO:]Não tens dinheiro suficiente para fazeres publicidade.");
                                        return 1;
                                    }
                                    GivePlayerEuros(playerid, - payout);
                                    format(string, sizeof(string), "___________________________[Publicidade]___________________________");
                                    SendClientMessageToAll(COLOR_LIGHTGREEN,string);
                                    format(string, sizeof(string), "[Anúncio:] %s",  result);
                                    SendClientMessageToAll(COLOR_WHITE,string);
                                    format(string, sizeof(string), "[Anúncio:] Publicidade por: %s - Número De Telemóvel: %d.",  GetPlayerNameEx(playerid),PlayerInfo[playerid][msPhoneNumber]);
                                    SendClientMessageToAll(COLOR_WHITE,string);
                                    SendClientMessageToAll(COLOR_LIGHTGREEN,"________________________________________________________________________________________________________________________");
                                    if (PlayerInfo[playerid][mstrvbcAdmin] < 1){SetTimer("AddsOn", addtimer, 0);adds = 0;}
                                    format(string, sizeof(string), " Caracteres contidos: %d - Preço: %d€ - Obrigado pelo seu anúncio.");
                                    SendClientMessage(playerid,COLOR_WHITE,string);
                                    PlayerActionMessage(playerid,15.0,"Deu algum dinheiro ao jornalista e fez o seu anuncio");
                                    return 1;
                                }
                                else
                                {
                                 SendClientMessage(playerid, COLOR_WHITE, "Não te encontras no Negócio.");
                        }
                    }
                }
                return 1;
            }
ficou assim comando,mas dame somente 1 erro:
pawn Code:
C:\Users\Jesus\Desktop\Comunidade OG\OG\pawno\include\a_players.inc(125) : warning 201: redefinition of constant/macro (symbol "MAX_PLAYER_ATTACHED_OBJECTS")
C:\Users\Jesus\Desktop\Comunidade OG\OG\pawno\include\JunkBuster.inc(1084) : warning 209: function "F_SetPlayerPos" should return a value
C:\Users\Jesus\Desktop\Comunidade OG\OG\pawno\include\JunkBuster.inc(3126) : warning 201: redefinition of constant/macro (symbol "SetPlayerPos")
C:\Users\Jesus\Desktop\Comunidade OG\OG\gamemodes\OG-RP.pwn(5307) : warning 225: unreachable code
C:\Users\Jesus\Desktop\Comunidade OG\OG\gamemodes\OG-RP.pwn(6227) : error 036: empty statement
C:\Users\Jesus\Desktop\Comunidade OG\OG\gamemodes\OG-RP.pwn(52764) : warning 203: symbol is never used: "FloodAn"
Pawn compiler 3.2.3664          Copyright (c) 1997-2006, ITB CompuPhase


1 Error.
eu colocei cm vcs diseram,principalmente como a humilde disse,depois fiz uns pequenos edits,e ficou assim(comando acima). Linha do erro:
pawn Code:
};
(A que esta debaixo de
pawn Code:
(SetPlayerInterior(playerid, 3));
Se me podessem ajudar-me agora taMBEM =)
caoraivoso3 is offline   Reply With Quote
Old 29/03/2012, 08:04 PM   #9
Jason`
High-roller
 
Jason`'s Avatar
 
Join Date: Sep 2011
Posts: 1,464
Reputation: 112
Default Re: [AJUDA] alterar comando

Tenta trocar o comando por este:

pawn Code:
if(strcmp(cmd, "/anuncio", true) == 0 || strcmp(cmd, "/an", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
        if(gPlayerLogged[playerid] == 0)
        {
            SendClientMessage(playerid, COLOR_DARKRED, "[ERRO:] Não estás logado.");
            return 1;
        }
        new length = strlen(cmdtext);
        while ((idx < length) && (cmdtext[idx] <= ' '))
        {
            idx++;
        }
        new offset = idx;
        new result[128];
        while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
        {
            result[idx - offset] = cmdtext[idx];
            idx++;
        }
        result[idx - offset] = EOS;
        if(!strlen(result))
        {
            SendClientMessage(playerid, COLOR_LIGHTORANGE, "[Comando:] (/an)uncio [texto]");
            return 1;
        }
        if(!IsPlayerInRangeOfPoint(playerid, 20.0, 364.1921,168.3376,1019.9844))
        {
            if(GetPlayerVirtualWorld(playerid) == 3)
            {
                SetPlayerInterior(playerid, 3));
                if ((!adds) && (PlayerInfo[playerid][mstrvbcAdmin] < 1))
                {
                    format(string, sizeof(string), "Aguarda %d segundos para fazeres outro anúncio.",  (addtimer/1000));
                    SendClientMessage(playerid, COLOR_WHITE, string);
                    return 1;
                }
                new payout = idx * 15;
                if(GetPlayerEuros(playerid) < payout)
                {
                    SendClientMessage(playerid, COLOR_DARKRED, "[ERRO:]Não tens dinheiro suficiente para fazeres publicidade.");
                    return 1;
                }
                GivePlayerEuros(playerid, - payout);
                format(string, sizeof(string), "___________________________[Publicidade]___________________________");
                SendClientMessageToAll(COLOR_LIGHTGREEN,string);
                format(string, sizeof(string), "[Anúncio:] %s",  result);
                SendClientMessageToAll(COLOR_WHITE,string);
                format(string, sizeof(string), "[Anúncio:] Publicidade por: %s - Número De Telemóvel: %d.",  GetPlayerNameEx(playerid),PlayerInfo[playerid][msPhoneNumber]);
                SendClientMessageToAll(COLOR_WHITE,string);
                SendClientMessageToAll(COLOR_LIGHTGREEN,"________________________________________________________________________________________________________________________");
                if (PlayerInfo[playerid][mstrvbcAdmin] < 1)
                {
                    SetTimer("AddsOn", addtimer, 0);
                    adds = 0;
                }
                format(string, sizeof(string), " Caracteres contidos: %d - Preço: %d€ - Obrigado pelo seu anúncio.");
                SendClientMessage(playerid,COLOR_WHITE,string);
                PlayerActionMessage(playerid,15.0,"Deu algum dinheiro ao jornalista e fez o seu anuncio");
                return 1;
            }
            else
            {
                SendClientMessage(playerid, COLOR_WHITE, "Não te encontras no Negócio.");
            }
        }
    }
    return 1;
}
Jason` is offline   Reply With Quote
Old 29/03/2012, 08:22 PM   #10
caoraivoso3
High-roller
 
Join Date: Dec 2011
Posts: 1,148
Reputation: 31
Default Re: [AJUDA] alterar comando

agora eu entro no server,entro na building,e uso /an,apareçe "[Comando:] (/an)uncio [texto]",mas quando uso /anuncio compro batatas,não acontece nada,nao aparece mensagem e nem apareçe o anuncio.
caoraivoso3 is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[AJUDA] Só relogando para alterar /rg Chis Português/Portuguese 6 10/02/2012 11:55 PM
[Ajuda] Alterar interior de Hospital Ossipat Português/Portuguese 21 05/09/2011 07:24 PM
[Ajuda] Alterar as Coordenadas dos Checkpoints Ossipat Português/Portuguese 24 28/08/2011 02:07 PM
[AJUDA] Alterar posição de estrelas de procurado pawNO Português/Portuguese 1 22/03/2010 05:10 PM
[DUV]alterar o score do player por comando Lucas_Brasil Português/Portuguese 7 16/01/2010 03:40 PM


All times are GMT. The time now is 09:24 PM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.