Ayudita
#1

Saludos,


Buenas noches, quisiera saber como ago para que SendMessageToAdmins sea solamente para admins nivel 2+
Lo que tengo echo es esto:

pawn Код:
//Stock

enum pInfo
{
    pAdmin,
}
new PlayerInfo[MAX_PLAYERS][pInfo];

stock SendMessageToAdmins(msg[])
{
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(pInfo[pAdmin] >=2);
        {
            SendClientMessage(i,-1,msg);
        }
    }
}
Y el error es este:

pawn Код:
C:\Users\usuario\Sa-Mp\filterscripts\mysql.pwn(32) : error 028: invalid subscript (not an array or too many subscripts): "pInfo"
C:\Users\usuario\Sa-Mp\filterscripts\mysql.pwn(32) : warning 215: expression has no effect
C:\Users\usuario\Sa-Mp\filterscripts\mysql.pwn(32) : error 001: expected token: ";", but found "]"
C:\Users\usuario\Sa-Mp\filterscripts\mysql.pwn(32) : error 029: invalid expression, assumed zero
C:\Users\usuario\Sa-Mp\filterscripts\mysql.pwn(32) : fatal error 107: too many error messages on one line
LINEA:

pawn Код:
if(pInfo[pAdmin] >=2);
Reply
#2

tu error es ke en el if ke te tira el eror es por ke colocaste un ; (punto y coma) osea lo cerraste.

pawn Код:
stock SendMessageToAdmins(const msg[]) {
    for(new player=0; player<GetMaxPlayers(); player++) {
        if(!IsPlayerConnected(player)) continue;
        if(IsPlayerConnected(player)) {
            if(PlayerInfo[player][pAdmin] ==2) {
                SendClientMessage(player,-1,msg);
            }
        }
    }
}


EDIT:

tambien tenias mal la variable, es asi. PlayerInfo[player][pAdmin]
Reply
#3

Prueba asi

pawn Код:
//Stock

enum pInfo
{
    pAdmin,
}
new PlayerInfo[MAX_PLAYERS][pInfo];

stock SendMessageToAdmins(msg[])
{
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(pInfo[playerid][pAdmin] >= 2)
        {
            SendClientMessage(i,-1,msg);
        }
    }
}
Reply
#4

Quote:
Originally Posted by OTACON
Посмотреть сообщение
[B]tu error es ke en el if ke te tira el eror es por ke colocaste un ; (punto y coma) osea lo cerraste.

pawn Код:
stock SendMessageToAdmins(const msg[]) {
    for(new player=0; player<GetMaxPlayers(); player++) {
        if(!IsPlayerConnected(player)) continue;
        if(IsPlayerConnected(player)) {
            if(PlayerInfo[player][pAdmin] ==2) {
                SendClientMessage(player,-1,msg);
            }
        }
    }
}
EDIT:

tambien tenias mal la variable, es asi. PlayerInfo[player][pAdmin]
No es que quiera parece ofensivo, pero es que soy nuevo y mucho no entiendo y lo tullo esta muy desordenado y me saltan 20 errores. Aprecio tu ayuda igual y la valoro


------------------------------------------------------------------------------------------------------------------

Quote:
Originally Posted by Raylan Givens
Посмотреть сообщение
Prueba asi

pawn Код:
//Stock

enum pInfo
{
    pAdmin,
}
new PlayerInfo[MAX_PLAYERS][pInfo];

stock SendMessageToAdmins(msg[])
{
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(pInfo[playerid][pAdmin] >= 2)
        {
            SendClientMessage(i,-1,msg);
        }
    }
}
Con lo tuyo me saltan estos errores:

pawn Код:
C:\Users\usuario\Sa-Mp\filterscripts\mysql.pwn(34) : error 028: invalid subscript (not an array or too many subscripts): "pInfo"
C:\Users\usuario\Sa-Mp\filterscripts\mysql.pwn(34) : error 017: undefined symbol "playerid"
C:\Users\usuario\Sa-Mp\filterscripts\mysql.pwn(34) : error 029: invalid expression, assumed zero
C:\Users\usuario\Sa-Mp\filterscripts\mysql.pwn(34) : fatal error 107: too many error messages on one line
LINE:

pawn Код:
if(pInfo[playerid][pAdmin] >= 2)
Reply
#5

pawn Код:
if(pInfo[i][pAdmin] >= 2)
Reply
#6

Quote:
Originally Posted by JustBored
Посмотреть сообщение
pawn Код:
if(pInfo[i][pAdmin] >= 2)
lo mismo, mismo error
Reply
#7

pawn Код:
//Stock

enum pInfo
{
    pAdmin,
}
new PlayerInfo[MAX_PLAYERS][pInfo];

stock SendMessageToAdmins(msg[])
{
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(PlayerInfo[i][pAdmin] >= 2)
        {
            SendClientMessage(i,-1,msg);
        }
    }
}
Reply
#8

y asн?

if(pInfo[pAdmin] >= 2)
Reply
#9

Quote:
Originally Posted by PabloDiCostanzo
Посмотреть сообщение
lo mismo, mismo error
pawn Код:
stock SendMessageToAdmins(const msg[]) {
    for(new player=0; player<GetMaxPlayers(); player++) {
        if(!IsPlayerConnected(player)) continue;
        if(IsPlayerConnected(player)) {
            if(PlayerInfo[player][pAdmin] ==2) {
                SendClientMessage(player,-1,msg);
            }
        }
    }
}
Reply
#10

Quote:
Originally Posted by LuiisRubio
Посмотреть сообщение
pawn Код:
//Stock

enum pInfo
{
    pAdmin,
}
new PlayerInfo[MAX_PLAYERS][pInfo];

stock SendMessageToAdmins(msg[])
{
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(PlayerInfo[i][pAdmin] >= 2)
        {
            SendClientMessage(i,-1,msg);
        }
    }
}
pawn Код:
C:\Users\usuario\Sa-Mp\filterscripts\mysql.pwn(62) : error 035: argument type mismatch (argument 1)
C:\Users\usuario\Sa-Mp\filterscripts\mysql.pwn(65) : error 029: invalid expression, assumed zero
C:\Users\usuario\Sa-Mp\filterscripts\mysql.pwn(67) : error 035: argument type mismatch (argument 1)
C:\Users\usuario\Sa-Mp\filterscripts\mysql.pwn(73) : warning 225: unreachable code
C:\Users\usuario\Sa-Mp\filterscripts\mysql.pwn(73) : warning 217: loose indentation
C:\Users\usuario\Sa-Mp\filterscripts\mysql.pwn(73) : error 029: invalid expression, assumed zero
C:\Users\usuario\Sa-Mp\filterscripts\mysql.pwn(73) : error 004: function "OnDialogResponse" is not implemented
C:\Users\usuario\Sa-Mp\filterscripts\mysql.pwn(75) : error 017: undefined symbol "dialogid"
C:\Users\usuario\Sa-Mp\filterscripts\mysql.pwn(77) : error 017: undefined symbol "response"
C:\Users\usuario\Sa-Mp\filterscripts\mysql.pwn(79) : error 035: argument type mismatch (argument 2)
C:\Users\usuario\Sa-Mp\filterscripts\mysql.pwn(80) : error 035: argument type mismatch (argument 1)
C:\Users\usuario\Sa-Mp\filterscripts\mysql.pwn(84) : error 035: argument type mismatch (argument 2)
C:\Users\usuario\Sa-Mp\filterscripts\mysql.pwn(90) : error 030: compound statement not closed at the end of file (started at line 62)
-------------------------------------------------------------------------------------------------------------


Quote:
Originally Posted by Raylan Givens
Посмотреть сообщение
y asн?

if(pInfo[pAdmin >=2)
Me llega el mismo error que antes, (viejo error):

pawn Код:
C:\Users\usuario\Sa-Mp\filterscripts\mysql.pwn(32) : error 028: invalid subscript (not an array or too many subscripts): "pInfo"
C:\Users\usuario\Sa-Mp\filterscripts\mysql.pwn(32) : warning 215: expression has no effect
C:\Users\usuario\Sa-Mp\filterscripts\mysql.pwn(32) : error 001: expected token: ";", but found "]"
C:\Users\usuario\Sa-Mp\filterscripts\mysql.pwn(32) : error 029: invalid expression, assumed zero
C:\Users\usuario\Sa-Mp\filterscripts\mysql.pwn(32) : fatal error 107: too many error messages on one line
--------------------------------------------------------------------------------------------------------------

Les paso el script entero, capaz sea algun error en otro lado:

pawn Код:
//Includes

#include <a_samp>
#include <a_mysql>

//Defines
#define SQL_HOST "DATOS DE NO INTERES"
#define SQL_USER "DATOS DE NO INTERES"
#define SQL_PASS "DATOS DE NO INTERES"
#define SQL_DB "DATOS DE NO INTERES"

//Defines system

#define DIALOG_REGISTER 1
#define DIALOG_LOGIN 2
#define COL_ORANGE "0xFF8000"
#define COL_GREY "0x848484"
#define COL_RED "0xFF0000"

//STock

enum pInfo
{
    pAdmin,
}
new PlayerInfo[MAX_PLAYERS][pInfo];

stock SendMessageToAdmins(msg[])
{
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(pInfo[pAdmin] >= 2)
        {
            SendClientMessage(i,-1,msg);
        }
    }
}

//Stuff

forward ConnectMySQL();
public ConnectMySQL()
{
    mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS);

    if(mysql_ping() == 1)
    {
        mysql_debug(1);
        printf("[MYSQL]: Connection to `%s` succesful!", SQL_DB);
    }
    else
    {
        printf("[ERROR]: Connection to `%s` failed!", SQL_DB);
    }
    return 1;
}

//System

public OnPlayerConnect(playerid)
{
    mysql_function_query("SELECT `password` FROM `users` WHERE `username` = '%s'", PlayerName);
    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"LOGIN","Insert your password below","LOGIN","QUIT");
    {
    else
    {
    mysql_function_query("INSERT INTO `users` (`username`, `password`) VALUES ('%s', MD5('%s'))", PlayerName, password);
    ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "REGISTER","Insert a password for this account below","REGISTER","QUIT");
    }
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == DIALOG_LOGIN)
    {
        if(response)
        {
            SendClientMessage(playerid, COL_ORANGE, "SERVER: You have logged in this account");
            SendMessageToAdmins(playerid, COL_GREY, "ADMINS: %s has logged in");
        }
        else
        {
            SendClientMessage(playerid, COL_RED, "KICKED: You have been kicked");
            Kick(playerid);
        }
    }
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)