Jump to content

alinutz_boy32

Membru
  • Posts

    91
  • Joined

  • Last visited

    Never

Posts posted by alinutz_boy32

  1. Am incercat sa fac niste porti sa se deschida... Se deschid dar nu se deschid bine...

    Aceasta problema este de aici!

      MoveObject(gate3, 2799.185547,1331.419800,9.898438, 2.0);

    Cum salvez coordonatele (ex: se deschide poarta de la x la y {10 metri]) ?

  2. CMD:setname(playerid,params[])

    {

    if(PlayerInfo[playerid][Level] <=4) return SendClientMessage(playerid, red, "ERROR: You are not an administrator!");

    new id, newname[64], name[64], string[128], string2[128];

    if(sscanf(params, "us", id, newname)) return SendClientMessage(playerid, orange, "{FFFFFF}::{FF0000}Foloseste: {FFFFFF} /setname [playerid/name] [new name]");

    CMDMessageToAdmins(playerid,"SETNAME");

    GetPlayerName(id, name, sizeof(name));

    format(string, sizeof(string), "Ai schimbat numele lui %s (ID: %d) in %s.", name, id, newname);

    SendClientMessage(playerid, blue, string);

    GetPlayerName(playerid, name, sizeof(name));

    format(string, sizeof(string2), "%s (ID: %s) ti-a schimbat numele in %s.", name, playerid, newname);

    SendClientMessage(id, blue, string2);

    SetPlayerName(id, newname);

    SendClientMessageToAll(COLOR_BLUE, string);

    return 1;

    }

    Si am mai obs cv... daca ma duc la /aa scrie '' ADMIN 'Nume' (Level: %d) | Command: /aa ... si eu nu  vreau sa imi arate decat la comezi de admini!

  3. Cum pot pune la o comanda de admin cand o accesezi sa scrie Admin..nume.. a folosit comanda .CMD ?

    Am incercat asa!

    forward MessageToAdmins(color,const string[]);

    public MessageToAdmins(color,const string[])

    {

    for(new i = 0; i < MAX_PLAYERS; i++)

    {

    if(IsPlayerConnected(i) == 1) if (PlayerInfo[Level] >= 1) SendClientMessage(i, color, string);

    }

    return 1;

    }

    stock CMDMessageToAdmins(playerid,command[])

    {

    if(ServerInfo[AdminCmdMsg] == 0) return 1;

    new string[256]; GetPlayerName(playerid,string,sizeof(string));

    format(string,sizeof(string),"ADMIN '{FF9900}%s{375FFF}' (Level: %d) | Command: {FF9900}%s", string,PlayerInfo[playerid][Level],command);

    return MessageToAdmins(blue,string);

    }

    la comanda am pus CMDMessageToAdmins(playerid,"comanda");

    ServerInfo nu avea.. am pus new ServerInfo[serverData];

    si la ServerData am pus asa

    enum ServerData

    {

      MaxAdminLevel,

      AdminCmdMsg

    };

  4. Mi-a facut Ph0eniX un /stats . dar nu imi merge cand scriu /stats imi zice ca aceasta comanda nu exista!

    Comanda:

    [pawn]CMD:stats(playerid, params[])

    {

        if(!sscanf(params, "u", givepid))

        {

            if(IsPlayerConnected(givepid))

            {

            ShowPlayerDialog(playerid, 123, DIALOG_STYLE_MSGBOX, "Player Stats", ShowStats(givepid), "Ok", "");

                return 1;

            }

            else return SendClientMessage(playerid, red, "ERROR: Player not connected!");

        }

        else return ShowPlayerDialog(playerid, 123, DIALOG_STYLE_MSGBOX, "Player Stats", ShowStats(playerid), "Ok", "");

    }[/pawn]

    si stock`ul

    stock ShowStats(playerid)

    {

        new lvl[30],killer[50],sts[10],sp[30],vp[30],SString[3][712], SStringF[3024];

        if ( PlayerInfo [playerid] [ Kills ] == 0 ){killer = "Noob";}

        if ( PlayerInfo [playerid] [ Kills ] >= 1 ){killer = "Begginer";}

        if ( PlayerInfo [playerid] [ Kills ] >= 50 ){killer = "Advanced";}

        if ( PlayerInfo [playerid] [ Kills ] >= 150 ){killer = "Pro";}

        if ( PlayerInfo [playerid] [ Kills ] >= 400 ){killer = "Killer";}

        if ( PlayerInfo [playerid] [ Kills ] >= 800 ){killer = "Master Killer";}

        if ( afk [playerid] == 1 ){sts = "Da";} else {sts = "Nu";}

        if ( PlayerInfo [playerid] [ Level ] == 0 ){lvl = "Player";}

        if ( PlayerInfo [playerid] [ Level ] == 1 ){lvl = "Mini-Helper";}

        if ( PlayerInfo [playerid] [ Level ] == 2 ){lvl = "Helper";}

        if ( PlayerInfo [playerid] [ Level ] == 3 ){lvl = "Co-Moderator";}

        if ( PlayerInfo [playerid] [ Level ] == 4 ){lvl = "Moderator";}

        if ( PlayerInfo [playerid] [ Level ] == 5 ){lvl = "Administrator";}

        if ( PlayerInfo [playerid] [ Level ] == 6 ){lvl = "Owner";}

    if ( boost [playerid] == true ){sp = "Activat";} else {sp = "Dezactivat";}

    if ( Vup [playerid] == 1 ){vp = "Activat";} else {vp = "Dezactivat";}

        //--------------------------------------------------------------------------

        format(SString[0], 712, "{FF0101}%s {1DEE01}'s {1DEE01}Statistics\n\n\

                                {FA4205}General Statistics\n\

                                {1DEE01}Money: {06FBFB}$%d\n\

                                {1DEE01}Score: {06FBFB}%d\n\

                                {1DEE01}Coins: {06FBFB}%d\n\

                                {1DEE01}Respect: {06FBFB}+%d{1DEE01} / {06FBFB}-%d\n\

                                %s\

                                {1DEE01}Admin Level: {06FBFB}%d\n\

                                {1DEE01}VIP Level: {06FBFB}%d\n",

                                GetName(playerid), GetPlayerMoney(playerid),

                                GetPlayerScore(playerid), PlayerInfo[playerid][Coins],

                                PlayerInfo[playerid][Respectpl], PlayerInfo[playerid][Respectmn],

                                PlayerInfo[playerid][Level], PlayerInfo[playerid][Vip]);

        //--------------------------------------------------------------------------

        format(SString[1], 712, "{FA4205}Killer Statistics\n\

                                {1DEE01}Kills: {06FBFB}%d\n\

                                {1DEE01}Deaths: {06FBFB}%d\n\

                                {1DEE01}Kills Rank: {FF0101}%s\n",

                                PlayerInfo[playerid][Kills], PlayerInfo[playerid][Deaths],

                                killer);

        //--------------------------------------------------------------------------

        format(SString[2], 712, "{FA4205}-------------\n\

                                {1DEE01}Skin: {06FBFB}%d\n\

                                {1DEE01}Warnings:{06FBFB} %d\n\

                                {1DEE01}AFK: {06FBFB}%s\n\

                                {1DEE01}Speed: {06FBFB}%s\n\

                                {1DEE01}Vup: {06FBFB}%s\n\

                                {1DEE01}Xtreme Points (xp): {06FBFB}%d\n",

                                GetPlayerSkin(playerid), PlayerInfo[playerid][Warnings],

                                sts, sp, vp, PlayerInfo[playerid][xp]);

        //--------------------------------------------------------------------------

        format(SStringF, 3024, "%s\n%s\n%s", SString[0], SString[1], SString[2]);

        //--------------------------------------------------------------------------

        return SStringF;

    }

  5. Am si eu o problema la comada /stats , Warnings si Skin nu apar in ordine desi eu asa le-am pus!

    1o40as.jpg

    [pawn]CMD:stats ( playerid , params [ ] )

    {

        new target=playerid;

        if ( !isnull ( params ) ) target=strval ( params ) ;

    new str [ 100 ] , str2 [ 200 ] , str3 [ 200 ] , str4 [ 200 ] , str5 [ 250 ] , str7 [ 100 ],str6 [ 990 ];

    new sts [ 10 ];

    new killer [ 50 ];

    new lvl [ 30 ];

    new sp [ 30 ];

    new vp [ 30 ];

    if ( PlayerInfo [ target ] [ Kills ] == 0 ){killer = "Noob";}

    if ( PlayerInfo [ target ] [ Kills ] >= 1 ){killer = "Begginer";}

    if ( PlayerInfo [ target ] [ Kills ] >= 50 ){killer = "Advanced";}

    if ( PlayerInfo [ target ] [ Kills ] >= 150 ){killer = "Pro";}

    if ( PlayerInfo [ target ] [ Kills ] >= 400 ){killer = "Killer";}

    if ( PlayerInfo [ target ] [ Kills ] >= 800 ){killer = "Master Killer";}

    if ( afk [ target ] == 1 ){sts = "Da";} else {sts = "Nu";}

    if ( PlayerInfo [ target ] [ Level ] == 0 ){lvl = "Player";}

    if ( PlayerInfo [ target ] [ Level ] == 1 ){lvl = "Mini-Helper";}

    if ( PlayerInfo [ target ] [ Level ] == 2 ){lvl = "Helper";}

    if ( PlayerInfo [ target ] [ Level ] == 3 ){lvl = "Co-Moderator";}

    if ( PlayerInfo [ target ] [ Level ] == 4 ){lvl = "Moderator";}

    if ( PlayerInfo [ target ] [ Level ] == 5 ){lvl = "Administrator";}

    if ( PlayerInfo [ target ] [ Level ] == 6 ){lvl = "Owner";}

    if ( boost [ target ] == true ){sp = "Activat";} else {sp = "Dezactivat";}

    if ( Vup [ target ] == 1 ){vp = "Activat";} else {vp = "Dezactivat";}

    if ( IsPlayerConnected ( target ) )

    {

        new ye , mo , d;

    getdate ( ye , mo , d ) ;

    format ( str , 100 , "{AD8693}\n{CCFF00}»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»\n\n" ) ;

    format ( str2 , 200 , "\t{B3B3B3}Name:{FF0000}%s\n\t{B3B3B3}Date: {FF0000}%d{FFFF00}/{FF0000}%d{FFFF00}/{FF0000}%d\n" , GetName ( target ) , mo , d , ye ) ;

    format ( str3 , 200 , ""R3"•"O1"Admin [Level]: {CCFF00}%d [ %s ]\n"R3"•"O1"Vip [Level]: {CCFF00}%d\n"R3"•"O1" Kills: {CCFF00}%d \n "R3"•"O1" Killer Rank :{CCFF00}%s \n "R3"•"O1" Deaths :{CCFF00}%d \n\n " , PlayerInfo [ target ] [ Level ] , lvl , PlayerInfo [ target ] [ Vip ] , PlayerInfo [ target ] [ Kills ] , killer , PlayerInfo [ target ] [ Deaths ] ) ;

    format ( str4 , 200 , ""R3"•"O1"Warnings :{CCFF00}%d\n"R3"•"O1" Respect :{CCFF00}%d\n"R3"•"O1" NegRespect :{CCFF00}%d\n"R3"•"O1" Coins :{CCFF00}%d\n"R3"•"O1" Money :{CCFF00}$%d\n "R3"•"O1" Score :{CCFF00}%d\n" , PlayerInfo [ target ] [ Warnings ], PlayerInfo[playerid][Respectpl], PlayerInfo[playerid][Respectmn] , PlayerInfo [ target ] [ Coins ] , GetPlayerMoney ( target ) , GetPlayerScore ( target ) ) ;

    format ( str5 , 250 , ""R3"•"O1"Skin :{CCFF00}%d \n"R3"•"O1" Afk :{CCFF00}%s\n"R3"•"O1" Speed :{CCFF00}%s\n"R3"•"O1" {9F9F9F}Vup :{CCFF00}%s" , GetPlayerSkin ( target ) , sts , sp , vp ) ;

    format ( str7 , 250 , "\n"R3"•"O1"Xtreme Points (xp) :{CCFF00}%d" , PlayerInfo [ playerid ] [ xp ] ) ;

    format ( str6 , 990 , "%s%s%s%s%s%s%s%s" , str , str2 , str , str3 , str4 , str5 , str7 , str ) ;

    ShowPlayerDialog ( playerid , Stats , DIALOG_STYLE_MSGBOX , "{FF3300}Stats" , str6 , "Inchide" , "" ) ;

    SendClientMessage ( playerid , -1 , "{B3B3B3}INFO:{FF0000}Poti folosi si /stats [ id ]" ) ;

    }

    else return SendClientMessage ( playerid , red , "{B3B3B3}Acest id este incorect" ) ;

    return 1;

    }[/pawn]

  6. Am o probleme cand cineva isi cumpara o casa ar trebui sa scrie Nume:...,pret.. etc.. La nume dupa ce cumperi casa scrie ForSale .. daca dau restart la server .. scrie numele jucatorului care a cumparat`o

    [pawn]CMD:buyh(playerid, params[])

    {

    new str1[80], Float:sy, Float:sx, Float:sz, hID = GetHouseID(playerid);

    //--------------------------------------------------------------------------

    if(hID == -1) return

    SendClientMessage(playerid, red, "ERROR: You are not in a house icon!");

    //--------------------------------------------------------------------------

    format(str1, 100, "Houses/Users/%s.house", GetName(playerid));

    if(dini_Exists(str1))

    {

    if(dini_Int(str1, "hi") != -255) return

    SendClientMessage(playerid, red, "ERROR: You can only buy one house!");

    }

    format(str1, 80, "Houses/hi%d", hID);

    //--------------------------------------------------------------------------

    if(strcmp(hInfo[hID][Name], "ForSale", true)) return

    SendClientMessage(playerid, red, "ERROR: This house isn't for sale!");

    //--------------------------------------------------------------------------

    if(PlayerInfo[playerid][Coins] < hInfo[hID][Cost]) return

    SendClientMessage(playerid, red, "ERROR: You don't have enough Coins to buy this house!");

    //--------------------------------------------------------------------------

    SendClientMessage(playerid, red, "• (RPE House) • {FF0000}You have Succesfully bought this house!");

    PlayerInfo[playerid][Coins] -= hInfo[hID][Cost];

        dini_Set(str1, "Name", GetName(playerid));

        hInfo[hID][Name] = GetName(playerid));

        hInfo[hID][Locked] = dini_IntSet(str1, "Locked",0);

    format(str1, 80, "Houses/Users/%s.house", GetName(playerid));

    //--------------------------------------------------------------------------

    if(!dini_Exists(str1))

    {

    dini_Create(str1);

    }

    dini_IntSet(str1, "hi", hID);

    //--------------------------------------------------------------------------

    if(!dini_Isset(str1,"Rentid"))

    {

    dini_IntSet(str1, "Rentid", -255);

    }

    //-------------------------------------------------------------------------

    GetPlayerPos(playerid, sx,sy,sz); dini_FloatSet(str1, "SpawnX", sx);

    dini_FloatSet(str1, "SpawnY", sy); dini_FloatSet(str1, "SpawnZ", sz);

    dini_IntSet(str1, "SpawnInt", GetPlayerInterior(playerid));

    //--------------------------------------------------------------------------

    DestroyPickup(HousePickup[hID]);

    houseup(hID, hInfo[hID][iconx], hInfo[hID][icony], hInfo[hID][iconz]);

    HousePickup[hID] = CreatePickup(19135, 23, hInfo[hID][iconx], hInfo[hID][icony], hInfo[hID][iconz]);

    return 1;

    }[/pawn]

    D:\New  Romania Play Stunt!\gamemodes\New Folder\bugs\RPS.pwn(13639) : error 047: array sizes do not match, or destination array is too small

    D:\New  Romania Play Stunt!\gamemodes\New Folder\bugs\RPS.pwn(13639) : error 029: invalid expression, assumed zero

    D:\New  Romania Play Stunt!\gamemodes\New Folder\bugs\RPS.pwn(13639) : warning 215: expression has no effect

    Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

    2 Errors.

    13639:    hInfo[hID][Name] = GetName(playerid));

    enum HouseInfo
    {
        Name[24], Renter[24], Rentable, Rentcost, Cost, Sell, Interior, Locked,
        Virtualworld, Float:InteriorX, Float:InteriorY, Float:InteriorZ,
        Float:iconx, Float:icony, Float:iconz, Rentfee,
    };

  7. Eu ma gandeam ca trb bagate aici in stats

    Tot asa trb sa fac si la /respect.

    [pawn]CMD:stats ( playerid , params [ ] )

    {

        new target=playerid;

        if ( !isnull ( params ) ) target=strval ( params ) ;

    new str [ 100 ] , str2 [ 200 ] , str3 [ 200 ] , str4 [ 200 ] , str5 [ 250 ] , str7 [ 100 ],str6 [ 990 ];

    new sts [ 10 ];

    new killer [ 50 ];

    new lvl [ 30 ];

    new sp [ 30 ];

    new vp [ 30 ];

    if ( PlayerInfo [ target ] [ Kills ] == 0 ){killer = "Noob";}

    if ( PlayerInfo [ target ] [ Kills ] >= 1 ){killer = "Begginer";}

    if ( PlayerInfo [ target ] [ Kills ] >= 50 ){killer = "Advanced";}

    if ( PlayerInfo [ target ] [ Kills ] >= 150 ){killer = "Pro";}

    if ( PlayerInfo [ target ] [ Kills ] >= 400 ){killer = "Killer";}

    if ( PlayerInfo [ target ] [ Kills ] >= 800 ){killer = "Master Killer";}

    if ( afk [ target ] == 1 ){sts = "Da";} else {sts = "Nu";}

    if ( PlayerInfo [ target ] [ Level ] == 0 ){lvl = "Player";}

    if ( PlayerInfo [ target ] [ Level ] == 1 ){lvl = "Mini-Helper";}

    if ( PlayerInfo [ target ] [ Level ] == 2 ){lvl = "Helper";}

    if ( PlayerInfo [ target ] [ Level ] == 3 ){lvl = "Co-Moderator";}

    if ( PlayerInfo [ target ] [ Level ] == 4 ){lvl = "Moderator";}

    if ( PlayerInfo [ target ] [ Level ] == 5 ){lvl = "Administrator";}

    if ( PlayerInfo [ target ] [ Level ] == 6 ){lvl = "Owner";}

    if ( boost [ target ] == true ){sp = "Activat";} else {sp = "Dezactivat";}

    if ( Vup [ target ] == 1 ){vp = "Activat";} else {vp = "Dezactivat";}

    if ( IsPlayerConnected ( target ) )

    {

        new ye , mo , d;

    getdate ( ye , mo , d ) ;

    format ( str , 100 , "{AD8693}\n{CCFF00}|»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»|\n\n" ) ;

    format ( str2 , 200 , "\t{B3B3B3}Name:{FF0000}%s\n\t{B3B3B3}Date: {FF0000}%d{FFFF00}/{FF0000}%d{FFFF00}/{FF0000}%d\n" , GetName ( target ) , mo , d , ye ) ;

    format ( str3 , 200 , "{BBFF00}»{9F9F9F}Admin [Level]: {CCFF00}%d [ %s ]\n{BBFF00}»{9F9F9F}Vip [Level]: {CCFF00}%d\n{BBFF00}» Kills: {CCFF00}%d\n{BBFF00}» Killer Rank :{CCFF00}%s\n{BBFF00}» Deaths :{CCFF00}%d\n" , PlayerInfo [ target ] [ Level ] , lvl , PlayerInfo [ target ] [ Vip ] , PlayerInfo [ target ] [ Kills ] , killer , PlayerInfo [ target ] [ Deaths ] ) ;

    format ( str4 , 200 , "{BBFF00}»{9F9F9F}Warnings :{CCFF00}%d\n{BBFF00}» Respect :{CCFF00}%d\n{BBFF00}» NegRespect :{CCFF00}%d\n{BBFF00}» Coins :{CCFF00}%d\n{BBFF00}» Money :{CCFF00}$%d\n{BBFF00}» Score :{CCFF00}%d\n" , PlayerInfo [ target ] [ Warnings ], PlayerInfo[playerid][Respectpl], PlayerInfo[playerid][Respectmn] , PlayerInfo [ target ] [ Coins ] , GetPlayerMoney ( target ) , GetPlayerScore ( target ) ) ;

    format ( str5 , 250 , "{BBFF00}»{9F9F9F}Skin :{CCFF00}%d\n{BBFF00}» {9F9F9F}Afk :{CCFF00}%s\n{BBFF00}» {9F9F9F}Speed :{CCFF00}%s\n{BBFF00}» {9F9F9F}Vup :{CCFF00}%s" , GetPlayerSkin ( target ) , sts , sp , vp ) ;

    format ( str7 , 250 , "\n{CCFF00}*{AD8693}Xtreme Points (xp) :{CCFF00}%d \n{BBFF00}» {9F9F9F}C4Bombs :{CCFF00}%s " , PlayerInfo [ playerid ] [ xp ] , PlayerInfo [ playerid ] [ c4 ] ) ;

    format ( str6 , 990 , "%s%s%s%s%s%s%s%s" , str , str2 , str , str3 , str4 , str5 , str7 , str ) ;

    ShowPlayerDialog ( playerid , Stats , DIALOG_STYLE_MSGBOX , "{FF3300}Stats" , str6 , "Inchide" , "" ) ;

    SendClientMessage ( playerid , -1 , "{B3B3B3}INFO:{FF0000}Poti folosi si /stats [ id ]" ) ;

    }

    else return SendClientMessage ( playerid , red , "{B3B3B3}Acest id este incorect" ) ;

    return 1;

    }[/pawn]

  8. Sall .. Am bagat in gm acum cateva ore un sistem de c4! am intalnit o problema

    La stats trb sa apara cv de genu : C4Bomb: DA/Nu

    am pus

    [pawn] if(PlayerInfo[playerid][c4] >= 1 { c4 = "Da";}

        if(PlayerInfo[playerid][c4] < 0 { c4 = "Nu";}[/pawn]

    Si imi da 4 erori!

    D:\New  Romania Play Stunt!\gamemodes\RPS.pwn(16811) : error 029: invalid expression, assumed zero

    D:\New  Romania Play Stunt!\gamemodes\RPS.pwn(16811) : error 022: must be lvalue (non-constant)

    D:\New  Romania Play Stunt!\gamemodes\RPS.pwn(16811) : warning 215: expression has no effect

    D:\New  Romania Play Stunt!\gamemodes\RPS.pwn(16812) : error 029: invalid expression, assumed zero

    D:\New  Romania Play Stunt!\gamemodes\RPS.pwn(16812) : error 022: must be lvalue (non-constant)

    D:\New  Romania Play Stunt!\gamemodes\RPS.pwn(16812) : warning 215: expression has no effect

    Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

    4 Errors.

  9. D:\ Romania Play Stunt!\gamemodes\RPS.pwn(12846) : error 047: array sizes do not match, or destination array is too small

    Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

    1 Error.

    hInfo[hID][Name] = GetName( playerid);

  10. D:\RGS.pwn(2049) : error 017: undefined symbol "params"

    Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

    1 Error.

    .. si daca pun

    new params;

    D:\RGS.pwn(2049) : error 029: invalid expression, assumed zero

    D:\RGS.pwn(2049) : warning 215: expression has no effect

    D:\RGS.pwn(2049) : error 001: expected token: ";", but found "if"

    D:\RGS.pwn(2049) : error 029: invalid expression, assumed zero

    D:\RGS.pwn(2049) : fatal error 107: too many error messages on one line

    Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

    4 Errors.

  11. D:\New  Romania Play Stunt!\gamemodes\RGS.pwn(2046) : warning 202: number of arguments does not match definition

    Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

    Header size:          11312 bytes

    Code size:          561448 bytes

    Data size:          526264 bytes

    Stack/heap size:      16384 bytes; estimated max. usage=5041 cells (20164 bytes)

    Total requirements: 1115408 bytes

    1 Warning.

    else if ( pickupid == Pick [ 14 ] )

    {

        asta e linia-  return cmd_cmds( playerid );

    }

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.