How to fix this
#1

Hello , i dont know how to fix this , anyone can help me ?
This is my eror .
pawn Код:
C:\Documents and Settings\user\Desktop\Team.pwn(179) : error 017: undefined symbol "PlayerInfo"
C:\Documents and Settings\user\Desktop\Team.pwn(179) : warning 215: expression has no effect
C:\Documents and Settings\user\Desktop\Team.pwn(179) : error 001: expected token: ";", but found "]"
C:\Documents and Settings\user\Desktop\Team.pwn(179) : error 029: invalid expression, assumed zero
C:\Documents and Settings\user\Desktop\Team.pwn(179) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664          Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.
and this my script , i just try to create /teaminfo , for showin player on same /setteam .
pawn Код:
#include <a_samp>
#include <zcmd>
#include <dini>
#include <sscanf>
#include <streamer>

// COLORS
#define usage 0xFFEEC1AA
#define error 0xFF3434AA
#define lancar 0x34C6FFAA
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_YELLOW 0xFFFF00AA

// DEFINES
#define version_team_chooser        "1.0"

enum LData
{
    Team
};

new TeamInfo[MAX_PLAYERS][LData];
new LGDTeam[MAX_PLAYERS];

public OnFilterScriptInit()
{
    print("\n----------------------------------------------------");
    print(" Team Chooser By  leingod"#version_team_chooser"");
    print("----------------------------------------------------\n");
    return 1;
}

public OnPlayerConnect(playerid)
{
    new LName[MAX_PLAYER_NAME], file[128];
    GetPlayerName(playerid,LName,sizeof(LName));
    format(file,sizeof(file),"Teams/%s.ini",LName);
    if(!dini_Exists(file))
    {
        dini_Create(file);
        dini_IntSet(file,"Team",TeamInfo[playerid][Team]);
        new rteam = random(-999999999999);
        LGDTeam[playerid] = rteam;
    }
    if(dini_Exists(file))
    {
        TeamInfo[playerid][Team] = dini_Int(file,"Team");
        LGDTeam[playerid] = dini_Int(file,"Team");
    }
    return 1;
}

// ZCMD COMMANDS
COMMAND:setteam(playerid, params[])
{
    new LTeam;
    #pragma unused params
    if(sscanf(params, "d", LTeam)) return SendClientMessage(playerid, usage, "[USAGE]: /setteam [1-999,999]");
    else if (LTeam >= 999999 || LTeam == 0) return SendClientMessage(playerid, error, "[ERROR]: Team id must between 1 and 999,999");
    else
    {
        new string[128], LName[MAX_PLAYER_NAME], file[128];
        format(string, sizeof(string), "[SERVER]: Success choosing team id -> '%d'.", LTeam);
        SendClientMessage(playerid, lancar, string);
        LGDTeam[playerid] = LTeam;
        SetPlayerTeam(playerid, LGDTeam[playerid]);
        SetPlayerTeam(playerid, LTeam);
        GetPlayerName(playerid,LName,sizeof(LName));
        format(file,sizeof(file),"Teams/%s.ini",LName);
        dini_IntSet(file,"Team",LGDTeam[playerid]);
    }
    return 1;
}

COMMAND:myteam(playerid, params[])
{
    new str[256];
    #pragma unused params
    format(str, sizeof(str), "[SERVER]: Your team id -> '%d'.", LGDTeam);
    SendClientMessage(playerid, lancar, str);
    return 1;
}

COMMAND:resetteam(playerid, params[])
{
    new rteam = random(-999999999999), LName[MAX_PLAYER_NAME], file[128];
    #pragma unused params
    LGDTeam[playerid] = rteam;
    SetPlayerTeam(playerid, LGDTeam[playerid]);
    SendClientMessage(playerid, usage, "[SERVER]: Success make your team to netral, Everybody are enemy!.");
    GetPlayerName(playerid,LName,sizeof(LName));
    format(file,sizeof(file),"Teams/%s.ini",LName);
    dini_IntSet(file,"Team",LGDTeam[playerid]);
    return 1;
}

public OnPlayerText(playerid, text[])
{
    if(text[0] == '!'){
    new pn[MAX_PLAYER_NAME],m[128];
    GetPlayerName(playerid,pn,sizeof(pn));
    strdel(text,0,1);
    format(m,sizeof(m),"{00FFFF}[TEAMCHAT] %s [%i]: %s",pn,playerid,text);
    for(new i = 0; i < MAX_PLAYERS; i++){
    if(IsPlayerConnected(i)){
    if(LGDTeam[i] == LGDTeam[playerid]){
    SendClientMessage(i,0xFFFFFFFF,m);
    }
    }
    }
    return 0;
    }
    else return 1;
}

CMD:teaminfo(playerid,params[])
{
    new Count = 0;
    new n[MAX_PLAYER_NAME];
    new string[1000];
    SendClientMessage(playerid, 0x00FF00FF, "__________|Player On Setteam|__________");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(!IsPlayerConnected(i)) continue;
        if(PlayerInfo[i][LGDTeam] < 1) continue;
        GetPlayerName(i,n,sizeof(n));
        format(string,sizeof(string),"%sLevel %d: %s [ID: %d] - %s\n", string, PlayerInfo[i][LGDTeam], n, i, GetPlayerNameExt(i));
        Count++;
    }
    if(Count == 0)
    {
        ShowPlayerDialog(playerid, 2,DIALOG_STYLE_MSGBOX, "Online Players", "No Players Online", "Ok", "");
        return 1;
    }
    ShowPlayerDialog(playerid, 2,DIALOG_STYLE_MSGBOX, "Online Players", string, "Ok", "");
    return 1;
}

stock GetPlayerNameExt(playerid)
{
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    return name;
}
i have eror on cmd /teaminfo
Reply
#2

anyone help me please
Reply
#3

replace ur format to my

Код:
format(string,sizeof(string),"%sLevel %d: %s [ID: %d] - %s\n", string, TeamInfo[i][LGDTeam], n, i, GetPlayerNameExt(i));
Reply
#4

Quote:
Originally Posted by dEcooR
Посмотреть сообщение
replace ur format to my

Код:
format(string,sizeof(string),"%sLevel %d: %s [ID: %d] - %s\n", string, TeamInfo[i][LGDTeam], n, i, GetPlayerNameExt(i));
oke , and i have an eror again .
pawn Код:
C:\Documents and Settings\user\Desktop\Team.pwn(179) : error 033: array must be indexed (variable "LGDTeam")
C:\Documents and Settings\user\Desktop\Team.pwn(181) : error 033: array must be indexed (variable "LGDTeam")
this is on line 179
pawn Код:
if(TeamInfo[i][LGDTeam] < 1) continue; //before change is : if(Playerinfo[i][LGDTeam] <1) continue;
and this on line 181
pawn Код:
format(string,sizeof(string),"%sLevel %d: %s [ID: %d] - %s\n", string, TeamInfo[i][LGDTeam], n, i, GetPlayerNameExt(i));
Reply
#5

It says previously, you have defined LGDTeam as an array

Most probably it's like LGDTeam[MAX_PLAYERS];

So you need to add LGDTeam[playerid] everywhere.
Reply
#6

yes or this

Код:
enum LData
{
    Team,
    LGDTeam
};

new TeamInfo[MAX_PLAYERS][LData];
and then everywhere TeamInfo[playerid][LGDTeam]
Reply
#7

Quote:
Originally Posted by dEcooR
Посмотреть сообщение
yes or this

Код:
enum LData
{
    Team,
    LGDTeam
};

new TeamInfo[MAX_PLAYERS][LData];
and then everywhere TeamInfo[playerid][LGDTeam]
This script working , but when i type /teaminfo , showing dialog with format : Setteam id , name , to all player ,
example :
[Team 5] Horrible
[Team 1] Horrible2
that dialog showing all player with different /setteam , i just want , showing player with same /setteam ,
i dont know how to create that ~_~

Teaminfo script
pawn Код:
CMD:teaminfo(playerid,params[])
{
    new Count = 0;
    new n[MAX_PLAYER_NAME];
    new string[1000];
    SendClientMessage(playerid, 0x00FF00FF, "__________|Player On Setteam|__________");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(!IsPlayerConnected(i)) continue;
        if(LGDTeam[playerid] < 1) continue;
        GetPlayerName(i,n,sizeof(n));
        format(string,sizeof(string),"%sLevel %d: %s [ID: %d] - %s\n", string, LGDTeam[playerid], n, i, GetPlayerNameExt(i));
        Count++;
    }
    if(Count == 0)
    {
        ShowPlayerDialog(playerid, 2,DIALOG_STYLE_MSGBOX, "Online Players", "No Players Online", "Ok", "");
        return 1;
    }
    ShowPlayerDialog(playerid, 2,DIALOG_STYLE_MSGBOX, "Online Players", string, "Ok", "");
    return 1;
}

stock GetPlayerNameExt(playerid)
{
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    return name;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)