[Ajuda] infoadmin (duvida)
#1

Eu baixei um gamemode de drift(foi o unico com infoadmin que achei para poder estudar) e vi umas coisas nesse sistema que eu nao entendi.

pawn Код:
#include a_samp
#include Dini


enum pInfo
{
    pAdmin,
};

new PlayerInfo[MAX_PLAYERS][pInfo];
new ListA[MAX_PLAYERS];

public OnPlayerCommandText(playerid, cmdtext[])
{
    if(strcmp("/infoadmin", cmdtext, true) == 0)
    {
        if(PlayerInfo[playerid][pAdmin]<2) return SendClientMessage(playerid,0xFFFFFFAA,"Vocк nгo tem autorizaзгo para usar esse comando!");
        new strd[512],L1[53],L2[53],L3[53],L4[53],L5[53],L6[53],L7[53],L8[53],L9[53],L10[53];
        strcat(L1,dini_Get("NoteAdmin.ini","Linha1"));
        strcat(L2,dini_Get("NoteAdmin.ini","Linha2"));
        strcat(L3,dini_Get("NoteAdmin.ini","Linha3"));
        strcat(L4,dini_Get("NoteAdmin.ini","Linha4"));
        strcat(L5,dini_Get("NoteAdmin.ini","Linha5"));
        strcat(L6,dini_Get("NoteAdmin.ini","Linha6"));
        strcat(L7,dini_Get("NoteAdmin.ini","Linha7"));
        strcat(L8,dini_Get("NoteAdmin.ini","Linha8"));
        strcat(L9,dini_Get("NoteAdmin.ini","Linha9"));
        strcat(L10,dini_Get("NoteAdmin.ini","Linha10"));
        format(strd,512,"Notas:\n\n1- %s\n2- %s\n3- %s\n4- %s\n5- %s\n6- %s\n7- %s\n8- %s\n9- %s\n10- %s",L1,L2,L3,L4,L5,L6,L7,L8,L9,L10);
        ShowPlayerDialog(playerid,9999,DIALOG_STYLE_MSGBOX,"[v3.0a] InfoAdmin:",strd,"Mudar","Ok");
        return 1;
    }
    return 0;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid==9999)
    {
        if(response) return ShowPlayerDialog(playerid,10000,DIALOG_STYLE_LIST,"Modificar notas:","Linha 1\nLinha 2\nLinha 3\nLinha 4\nLinha 5\nLinha 6\nLinha 7\nLinha 8\nLinha 9\nLinha 10","Mudar","Sair");
        return 1;
    }
    if(dialogid==10000)
    {
        if(response)
        {
            if(listitem==0) {ListA[playerid]=1;ShowPlayerDialog(playerid,11000,DIALOG_STYLE_INPUT,"Modificar linha:","Digite o texto abaixo:\n No mбximo: 53 caracteres e de preferкncia com data!","Mudar","Sair");}
            if(listitem==1) {ListA[playerid]=2;ShowPlayerDialog(playerid,11000,DIALOG_STYLE_INPUT,"Modificar linha:","Digite o texto abaixo:\n No mбximo: 53 caracteres e de preferкncia com data!","Mudar","Sair");}
            if(listitem==2) {ListA[playerid]=3;ShowPlayerDialog(playerid,11000,DIALOG_STYLE_INPUT,"Modificar linha:","Digite o texto abaixo:\n No mбximo: 53 caracteres e de preferкncia com data!","Mudar","Sair");}
            if(listitem==3) {ListA[playerid]=4;ShowPlayerDialog(playerid,11000,DIALOG_STYLE_INPUT,"Modificar linha:","Digite o texto abaixo:\n No mбximo: 53 caracteres e de preferкncia com data!","Mudar","Sair");}
            if(listitem==4) {ListA[playerid]=5;ShowPlayerDialog(playerid,11000,DIALOG_STYLE_INPUT,"Modificar linha:","Digite o texto abaixo:\n No mбximo: 53 caracteres e de preferкncia com data!","Mudar","Sair");}
            if(listitem==5) {ListA[playerid]=6;ShowPlayerDialog(playerid,11000,DIALOG_STYLE_INPUT,"Modificar linha:","Digite o texto abaixo:\n No mбximo: 53 caracteres e de preferкncia com data!","Mudar","Sair");}
            if(listitem==6) {ListA[playerid]=7;ShowPlayerDialog(playerid,11000,DIALOG_STYLE_INPUT,"Modificar linha:","Digite o texto abaixo:\n No mбximo: 53 caracteres e de preferкncia com data!","Mudar","Sair");}
            if(listitem==7) {ListA[playerid]=8;ShowPlayerDialog(playerid,11000,DIALOG_STYLE_INPUT,"Modificar linha:","Digite o texto abaixo:\n No mбximo: 53 caracteres e de preferкncia com data!","Mudar","Sair");}
            if(listitem==8) {ListA[playerid]=9;ShowPlayerDialog(playerid,11000,DIALOG_STYLE_INPUT,"Modificar linha:","Digite o texto abaixo:\n No mбximo: 53 caracteres e de preferкncia com data!","Mudar","Sair");}
            if(listitem==9) {ListA[playerid]=10;ShowPlayerDialog(playerid,11000,DIALOG_STYLE_INPUT,"Modificar linha:","Digite o texto abaixo:\n No mбximo: 53 caracteres e de preferкncia com data!","Mudar","Sair");}
        }
        return 1;
    }
    if(dialogid==11000)
    {
        if(response)
        {
            if(ListA[playerid]==1) {dini_Set("NoteAdmin.ini","Linha1",inputtext);}
            if(ListA[playerid]==2) {dini_Set("NoteAdmin.ini","Linha2",inputtext);}
            if(ListA[playerid]==3) {dini_Set("NoteAdmin.ini","Linha3",inputtext);}
            if(ListA[playerid]==4) {dini_Set("NoteAdmin.ini","Linha4",inputtext);}
            if(ListA[playerid]==5) {dini_Set("NoteAdmin.ini","Linha5",inputtext);}
            if(ListA[playerid]==6) {dini_Set("NoteAdmin.ini","Linha6",inputtext);}
            if(ListA[playerid]==7) {dini_Set("NoteAdmin.ini","Linha7",inputtext);}
            if(ListA[playerid]==8) {dini_Set("NoteAdmin.ini","Linha8",inputtext);}
            if(ListA[playerid]==9) {dini_Set("NoteAdmin.ini","Linha9",inputtext);}
            if(ListA[playerid]==10) {dini_Set("NoteAdmin.ini","Linha10",inputtext);}
            ListA[playerid]=0;
        }
        return 1;
    }
    return 1;
}
pq ele colocou o
pawn Код:
new ListA[MAX_PLAYERS]
em max_players? daria algum conflito se nao colocasse em max_players?
Reply
#2

[MAX_PLAYERS] , serve para usar [playerid] , sem dar conflitos..

.. Alguem me corrija se falei besteira..

pawn Код:
em max_players? daria algum conflito se nao colocasse em max_players?
Nгo entendi, vocк quer trocar o que ?
Reply
#3

meu caro, eu sei o que o MAX_PLAYERS faz, o que eu quero saber й: PORQUE ele colocou em MAX_PLAYERS?
Reply
#4

Quote:
Originally Posted by FrostGF
Посмотреть сообщение
meu caro, eu sei o que o MAX_PLAYERS faz, o que eu quero saber й: PORQUE ele colocou em MAX_PLAYERS?
MAX_PLAYERS й usado, quando e setado somente para o "playerid" (tirando loops)

Quando nгo contйm MAX_PLAYERS, e setado para qualquer um, ou sejб..

Se ele utilizar um comando, e a variavel for MAX_PLAYERS, irб setar para o playerid.

Agora quando for SEM, irб setar como se fosse bloqueado aquele comando.

pawn Код:
// Exemplo MAX_PLAYERS
new Exemplo[MAX_PLAYERS];

CMD:comando(playerid)
{
    if(Exemplo[playerid] == 1) return SendClientMessage(playerid, -1, " MENSAGEM ");
    SendClientMessage(playerid, -1, "Parabйns, voce viu esse comando. ");
    Exemplo[playerid] = 1;
    return 1;
}
// Exemplo SEM MAX_PLAYERS
new Exemplo;

CMD:comando(playerid)
{
    if(Exemplo == 1) return SendClientMessage(playerid, -1, " MENSAGEM ");
    SendClientMessage(playerid, -1, "Parabйns, voce viu esse comando. ");
    Exemplo = 1;
    return 1;
}
Tambйm й usado para outras coisas.

Acredito que sejб isto!
Reply
#5

nao, isso eu entendi richard, mas o que eu nao estou entendendo no sistema й pq ele colocou em MAX_PLAYERS se nao hб necessidade, й algo que sу vai setar um nome em um arquivo
Reply
#6

http://pt.wikipedia.org/wiki/Array
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)