Undefined Symbol "playerid"

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hi,


    Hab mir eine stock Funktion für LanguageMessages gebastelt, bekomme aber die Fehlermeldung "undefined symbol: "playerid".


    stock SendLanguageMessageToAll(color, LanguageDE[], LanguageEN[])
    {
    switch(pLanguage[playerid][Language])
    {
    case 0: SendClientMessageToAll(color, LanguageDE);
    case 1: SendClientMessageToAll(color, LanguageEN);
    }
    return 1;
    }


    Was ist falsch?


    Danke!


  • Mach es bloß NICHT so!
    Dann ist die playerid immer = 0.
    //edit:
    Gebe dir mal nen Anstupser:
    for-schleife.

  • /Wenn müsstest du eine Schleife durch alle Spieler machen zb. so:


    stock SendLanguageMessageToAll(color, LanguageDE[], LanguageEN[])
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    switch(pLanguage[i][Language])
    {
    case 0: SendClientMessage(i,color, LanguageDE);
    case 1: SendClientMessage(i,color, LanguageEN);
    }
    return 1;

    seekrass approved
    4x vom Discord geflogen


    shoxinat0r 4
    dennismitzwein 2
    Trooper[Y] 2
    maddin 1
    Unbekannter Discord Kick 2
  • Okay, langsam.


    Ich hab nun folgendes:


    1. Ein Language enum.
    enum Language
    {
    LANGUAGE_DE,
    LANGUAGE_EN
    }


    2. Die Variable, die darauf zugreift.
    new pLanguage[MAX_PLAYERS][Language];


    Und 3. die stock Funktion.
    stock SendLanguageMessageToAll(color, LanguageDE[], LanguageEN[])
    {
    for(new i; i < MAX_PLAYERS; i++)
    {
    switch(pLanguage[i][Language])
    {
    case 0: SendClientMessage(i, color, LanguageDE);
    case 1: SendClientMessage(i, color, LanguageEN);
    }
    }
    return 1;
    }


    Jetzt erscheint mir die Fehlermeldung: array index out of bounds (variable "pLanguage")


    EDIT: Ich korrigiere:
    D:\Documents\SAMP 0.3x\gamemodes\brawl.pwn(2079) : error 032: array index out of bounds (variable "pLanguage")
    D:\Documents\SAMP 0.3x\gamemodes\brawl.pwn(2081) : error 035: argument type mismatch (argument 2)
    D:\Documents\SAMP 0.3x\gamemodes\brawl.pwn(2082) : error 035: argument type mismatch (argument 2)
    D:\Documents\SAMP 0.3x\gamemodes\brawl.pwn(2075) : warning 203: symbol is never used: "color"


    EDIT: Immer noch array index out of bounds (variable "pLanguage")

    Einmal editiert, zuletzt von Manyula ()


  • stock SendLanguageMessageToAll(color, LanguageDE[], LanguageEN[])
    {
    for(new i; i < MAX_PLAYERS; i++)
    {
    switch(pLanguage[i][Language])
    {
    case 0: SendClientMessage(i,color, LanguageDE);
    case 1: SendClientMessage(i,color, LanguageEN);
    }
    }
    return 1;

    seekrass approved
    4x vom Discord geflogen


    shoxinat0r 4
    dennismitzwein 2
    Trooper[Y] 2
    maddin 1
    Unbekannter Discord Kick 2
  • do.de - Domain-Offensive - Domains für alle und zu super Preisen

  • stock SendLanguageMessageToAll(color, LanguageDE[], LanguageEN[])
    {
    for(new i; i < MAX_PLAYERS; i++)
    {
    if(pLanguage[i][LANGUAGE_DE]==1) { SendClientMessage(i,color, LanguageDE); }
    if(pLanguage[i][LANGUAGE_EN]==1) { SendClientMessage(i,color, LanguageEN); }
    }
    return 1;
    Musst es vielleicht noch ein bisschen anpassen weiss nicht ob das ==1 für dich stimmt!

    seekrass approved
    4x vom Discord geflogen


    shoxinat0r 4
    dennismitzwein 2
    Trooper[Y] 2
    maddin 1
    Unbekannter Discord Kick 2
  • Jetzt versteh ich aber nicht, warum es heißt:
    pLanguage[i][LANGUAGE_DE]


    wobei das, was als zweites zwischen den Klammern steht, doch eigentlich der Name des Enumerators sein müsste, auf den die Variable zugreift? Also "Language".

  • Das zweite ist das worauf du IM enum zugreifen willst.
    Das new pLanguage[MAX_PLAYERS][Language];
    Das sagt nur das du Language nimmst als enum worauf du zugreifen willst.

    seekrass approved
    4x vom Discord geflogen


    shoxinat0r 4
    dennismitzwein 2
    Trooper[Y] 2
    maddin 1
    Unbekannter Discord Kick 2