SA-MP Forums Archive
[Ajuda] cуdigo. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] cуdigo. (/showthread.php?tid=433337)



cуdigo. - Pedro Pawno - 27.04.2013

Bom estou tendo um problema insuportбvel....
Quando eu dou /dominar e saio do local domina do mesmo jeito nгo quero que isso aconteзa.. jб tentei de varios jeitos. E agora tentei fazer assim:



pawn Код:
SetTimer("Invalid",5000,true);
pawn Код:
forward invalid(playerid);
public invalid(playerid)
{
    new string[128];
    if(IsPlayerInTrafico(playerid,2479.8335,-1883.0388,2440.6567,-1900.6251) == true) // warning nessa linha.
    {
        format(string, sizeof(string),"%s da gang %s nгo dominou o local de trбfico.",name,GangName[Gang[playerid]]);
        scmt(Amarelo, string);
        TraficoSendoDominado = 0;
        Dominando[playerid] = 0;
        GangZoneStopFlashForAll(GZ);
    }
    return 1;
}
Warnings na linha do Comentбrio..

pawn Код:
5 Warnings.
C:\Users\camila\Desktop\Pastas\Programacгo pawn\gamemodes\Servidor.pwn(1605) : warning 202: number of arguments does not match definition
C:\Users\camila\Desktop\Pastas\Programacгo pawn\gamemodes\Servidor.pwn(1605) : warning 202: number of arguments does not match definition
C:\Users\camila\Desktop\Pastas\Programacгo pawn\gamemodes\Servidor.pwn(1605) : warning 202: number of arguments does not match definition
C:\Users\camila\Desktop\Pastas\Programacгo pawn\gamemodes\Servidor.pwn(1605) : warning 202: number of arguments does not match definition
C:\Users\camila\Desktop\Pastas\Programacгo pawn\gamemodes\Servidor.pwn(1605) : warning 213: tag mismatch
Pawn compiler 3.2.3664          Copyright (c) 1997-2006, ITB CompuPhase
5 Warnings.
Modo que eu estava tentando:

pawn Код:
public DominarTrafico(playerid)
{
    new string[128];
    GetPlayerName(playerid,name, sizeof(name));
    if(IsPlayerInTrafico(playerid))
    {
        GangZoneShowForAll(GZ, GetGangColor(Gang[playerid]));
        DonoTrafico = Gang [playerid];
        format(string, sizeof(string), "%s da gang %s dominou o local de trбfico.", name, GangName[Gang[playerid]]);
        scmt(Amarelo, string);
    }
   /*   else
    {
        if(!IsPlayerInTrafico(playerid))
        {
            format(string, sizeof(string), "%s da gang %s nгo dominou o local de trбfico.", name, GangName[Gang[playerid]]);
            scmt(Amarelo, string);
        }
    }
    TraficoSendoDominado = 0;
    Dominando[playerid] = 0;
    GangZoneStopFlashForAll(GZ);*/

    return 1;
}

Esse que postei acima, tambйm nгo funcionava quando eu saia da бrea dominava do mesmo jeito...

Se precisar o comando:

pawn Код:
CMD:dominar(playerid,params[])
    {
        if(!IsPlayerInTrafico(playerid))
        {
            GetPlayerName(playerid, name, sizeof(name));
            if(Gang[playerid]!= grove && Gang[playerid]!= ballas && Gang[playerid]!= vagos && Gang[playerid]!= grove) return scm(playerid,Error,"Vocк nгo й de nenhuma organizaзгo!");
            if(IsPlayerInRangeOfPoint(playerid,3.0,2458.6389,-1895.1144,13.5469)) return scm(playerid,Error,"Vocк nгo estб no local de trбficol.");
            {
                 if(Dominando[playerid] != 0) return scm(playerid,Error,"Vocк jб esta dominando o local de trбfico!");
                 if(TraficoSendoDominado != 0)return scm(playerid,Error,"O local de trбfico jб estб sendo dominado!");
                 if(DonoTrafico == Gang[playerid]) return scm(playerid,Error,"O local de trбfico jб й da sua gang.");
                 scmt(Amarelo,"Estгo tentando dominar o local de trбfico!");
                 GangZoneFlashForAll(GZ, GetGangColor(Gang[playerid]));
                 SetTimerEx("DominarTrafico", 30000, false, "i", playerid);
                 TraficoSendoDominado = 1;
                 Dominando[playerid] = 1;
            }
        /*else
        {
            scm(playerid,Error,"Vocк nгo estб no local de trбfico!");
        }*/

    }
        return 1;
    }
Stock pra checar a бrea.

pawn Код:
stock IsPlayerInTrafico(playerid)
{
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    if(X >= 2479.8335 && Y >= -1883.0388 && X <= 2440.6567 && Y <= -1900.6251)
    {
        return 1;
    }
    return 0;
}



Re: cуdigo. - Axl. - 27.04.2013

Nгo seria mais fбcil: https://sampwiki.blast.hk/wiki/IsPlayerInRangeOfPoint ?


Respuesta: cуdigo. - Pedro Pawno - 27.04.2013

Nгo vai funcionar, pois a intenзгo do cуdigo e se ele sair.


Re: cуdigo. - Axl. - 27.04.2013

Cara, faz assim:

Se ele tiver no ponto "x" mostra a mensagem de domнnio.
Se nгo mostra a mensagem de nгo domicio.

if(IsPlayerInRangeOfPoint(playerid,RANGE,X,Y,Z)
mostre mensagem de domнnio
else
mostre mensagem de nгo domнnio


Respuesta: cуdigo. - Pedro Pawno - 27.04.2013

pawn Код:
public DominarTrafico(playerid)
{
    new string[128];
    GetPlayerName(playerid,name, sizeof(name));
    if(IsPlayerInTrafico(playerid))
    {
        GangZoneShowForAll(GZ, GetGangColor(Gang[playerid]));
        DonoTrafico = Gang [playerid];
        format(string, sizeof(string), "%s da gang %s dominou o local de trбfico.", name, GangName[Gang[playerid]]);
        scmt(Amarelo, string);
    }
    else
    {
        if(IsPlayerInTrafico(playerid))
        {
            format(string, sizeof(string), "%s da gang %s nгo dominou o local de trбfico.",name,GangName[Gang[playerid]]);
            scmt(Amarelo, string);
        }
    }
    TraficoSendoDominado = 0;
    Dominando[playerid] = 0;
    GangZoneStopFlashForAll(GZ);
    return 1;
}
entгo fiz deste jeito agora faz o que eu queria que fizeste, me afastei e tal e parou de piscar, mais tem um porйm nгo manda a mensagem vocк nгo dominou tal e tal.


Re: cуdigo. - Axl. - 27.04.2013

Vocк se esqueceu do operador "!" no segundo if.


Re: cуdigo. - Jason` - 27.04.2013

Quote:
Originally Posted by Axl.
Посмотреть сообщение
Vocк se esqueceu do operador "!" no segundo if.
Nem era necessбria a condicional.


pawn Код:
public DominarTrafico(playerid)
{
    new string[128];
    GetPlayerName(playerid,name, sizeof(name));
    if(IsPlayerInTrafico(playerid))
    {
        GangZoneShowForAll(GZ, GetGangColor(Gang[playerid]));
        DonoTrafico = Gang [playerid];
        format(string, sizeof(string), "%s da gang %s dominou o local de trбfico.", name, GangName[Gang[playerid]]);
        scmt(Amarelo, string);
    }
    else
    {
        format(string, sizeof(string), "%s da gang %s nгo dominou o local de trбfico.",name,GangName[Gang[playerid]]);
        scmt(Amarelo, string);
    }
    TraficoSendoDominado = 0;
    Dominando[playerid] = 0;
    GangZoneStopFlashForAll(GZ);
    return 1;
}



Re: cуdigo. - Axl. - 27.04.2013

Quote:
Originally Posted by Jason`
Посмотреть сообщение
Nem era necessбria a condicional.


pawn Код:
public DominarTrafico(playerid)
{
    new string[128];
    GetPlayerName(playerid,name, sizeof(name));
    if(IsPlayerInTrafico(playerid))
    {
        GangZoneShowForAll(GZ, GetGangColor(Gang[playerid]));
        DonoTrafico = Gang [playerid];
        format(string, sizeof(string), "%s da gang %s dominou o local de trбfico.", name, GangName[Gang[playerid]]);
        scmt(Amarelo, string);
    }
    else
    {
        format(string, sizeof(string), "%s da gang %s nгo dominou o local de trбfico.",name,GangName[Gang[playerid]]);
        scmt(Amarelo, string);
    }
    TraficoSendoDominado = 0;
    Dominando[playerid] = 0;
    GangZoneStopFlashForAll(GZ);
    return 1;
}
Bem lembrado, sгo pequenas coisas que fodem com a gente.


Respuesta: cуdigo. - Pedro Pawno - 27.04.2013

Jason nгo funcionou quando estou na area aparece, que nгo estou inverteu... problema maldito


Re: cуdigo. - Axl. - 27.04.2013

Vocк arrumou a confusгo da IsPlayerInTrafico?