Beiträge von Jeffry

    So sollte es passen:
    public HpTimer()
    {
    new hpstring[4], Float:hp;;
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i))continue;
    if(GetPlayerState(i)==PLAYER_STATE_DRIVER || GetPlayerState(i)==PLAYER_STATE_ONFOOT)
    {
    GetPlayerHealth(i, hp);
    format(hpstring,sizeof(hpstring),"%i",floatround(hp));
    PlayerTextDrawSetString(i,hpanzeige[i],hpstring);
    PlayerTextDrawShow(i, hpanzeige[i]);
    }
    }
    return 1;
    }

    Naja, alternativ könntest du es über else-if's lösen, wenn das bei deinen Systemen zu keinen Konflikten führt:

    Spoiler anzeigen
    public OnPlayerEnterCheckpoint(playerid)
    {
    printf("aktiv: %d", Postinfo[playerid][post_bAktiv]);
    if(Postinfo[playerid][post_bAktiv])
    {
    printf("checkpoint: %d", Postinfo[playerid][post_Checkpoint]);
    if(sInfo[playerid][post] == 0 && Postinfo[playerid][post_Checkpoint] == 0)
    {
    for(new i = 0; i < sizeof(postCars); i++)
    {
    printf("Fahrzeug: %d / postCars: %d", GetPlayerVehicleID(playerid), postCars[i]);
    if(IsPlayerInVehicle(playerid,postCars[i]))
    {
    new Float:x,Float:y,Float:z;
    new veh = GetPlayerVehicleID(playerid);
    Postinfo[playerid][post_Checkpoint] = 1;
    DisablePlayerCheckpoint(playerid);
    GetPosHinterFahrzeug(veh,7,Float:x,Float:y,Float:z);
    sInfo[playerid][postx] = x;
    sInfo[playerid][posty] = y;
    sInfo[playerid][postz] = z;
    printf("Setze random checkpoint");
    new rand = random(sizeof(RandomSpawn1));
    SetPlayerCheckpoint(playerid,RandomSpawn1[rand][0], RandomSpawn1[rand][1],RandomSpawn1[rand][2],5.0);
    return 1;
    }
    }
    }
    else
    {
    if(Postinfo[playerid][post_Checkpoint] == 0)
    {
    for(new f = 0; f < sizeof(postg); f++)
    {
    printf("Fahrzeug: %d / postg: %d", GetPlayerVehicleID(playerid), postg[f]);
    if(IsPlayerInVehicle(playerid,postg[f]))
    {
    Postinfo[playerid][post_Checkpoint] = 1;
    DisablePlayerCheckpoint(playerid);
    printf("Setze random checkpoint");
    new rand = random(sizeof(RandomSpawn1));
    SetPlayerCheckpoint(playerid,RandomSpawn1[rand][0], RandomSpawn1[rand][1],RandomSpawn1[rand][2],5.0);
    return 1;
    }
    }
    }
    else
    {
    for(new f = 0; f < sizeof(postg); f++)
    {
    printf("Fahrzeug: %d / postg: %d", GetPlayerVehicleID(playerid), postg[f]);
    if(IsPlayerInVehicle(playerid,postg[f]))
    {
    sInfo[playerid][post]++;
    Postinfo[playerid][post_Checkpoint] = 0;
    printf("post: %i",sInfo[playerid][post]);
    if(sInfo[playerid][post] == 10)
    {
    SendClientMessage(playerid,0xFF0000FF,"Fertig");
    DisablePlayerCheckpoint(playerid);
    return 1;
    }
    else
    {
    printf("Setze checkpoint hinter Fahrzeug.");
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,sInfo[playerid][postx], sInfo[playerid][posty],sInfo[playerid][postz],3.0);
    return 1;
    }
    }
    }
    }
    }
    }
    else if(Fahrsstunde[playerid][fahr_bAktiv])
    {
    Fahrsstunde[playerid][fahr_Checkpoint]++;
    DisablePlayerCheckpoint(playerid);
    new playercp = Fahrsstunde[playerid][fahr_Checkpoint],veh = GetPlayerVehicleID(playerid),Float:hp;
    if(playercp == sizeof(Fahrss_Stationen))
    {
    GetVehicleHealth(veh,hp);
    hp = floatmul(floatdiv(100,750),(hp-250));
    if(hp < 80)
    {
    SetVehicleToRespawn(veh);
    tank[veh] = 100;
    SendClientMessage(playerid,IGELB,"Du bist durchgefallen da das Auto weniger als 80 Zustand hatte!");
    return 1;
    }
    else
    {
    PlayerPlaySound(playerid,1056,0.0,0.0,0.0);
    SendClientMessage(playerid,EGRÜN,"Du hast die Praktische Prüfung beendet bitte warte auf dein Ergebnis!");
    Fahrsstunde[playerid][fahr_bAktiv]=false;
    GetVehicleHealth(veh, hp);
    SetVehicleToRespawn(veh);
    tank[veh] = 100;
    return 1;
    }
    }
    else
    {
    new string[128];
    PlayerPlaySound(playerid,1056,0.0,0.0,0.0);
    format(string,sizeof(string),"(%d | %d)",playercp,sizeof(Fahrss_Stationen));
    SendClientMessage(playerid,IGELB,string);
    new id = Fahrsstunde[playerid][fahr_Checkpoint];
    SetPlayerCheckpoint(playerid,Fahrss_Stationen[id][F_fx],Fahrss_Stationen[id][F_fy],Fahrss_Stationen[id][F_fz],Fahrss_Stationen[id][F_fRad]);
    }
    }
    else if(Muellmann[playerid][pmi_bAktiv])
    {
    Muellmann[playerid][pmi_Checkpoint]++;
    DisablePlayerCheckpoint(playerid);
    new playercp = Muellmann[playerid][pmi_Checkpoint];
    if(playercp == sizeof(Muellfuhr_Stationen))
    {
    new veh = GetPlayerVehicleID(playerid);
    PlayerPlaySound(playerid,1056,0.0,0.0,0.0);
    SendClientMessage(playerid,EGRÜN,"Du hast deine Arbeit Erledigt!");
    Muellmann[playerid][pmi_bAktiv]=false;
    SetVehicleToRespawn(veh);
    tank[veh] = 100;
    }
    else
    {
    new String[128];
    PlayerPlaySound(playerid,1056,0.0,0.0,0.0);
    format(String,sizeof(String),"Weiter so,du hast es fasst geschafft ! (%d / %d)",playercp,sizeof(Muellfuhr_Stationen));
    SendClientMessage(playerid,IGELB,String);
    SetPlayerCheckpoint(playerid,Muellfuhr_Stationen[playercp][M_fx],Muellfuhr_Stationen[playercp][M_fy],Muellfuhr_Stationen[playercp][M_fz],Muellfuhr_Stationen[playercp][M_fRad]);
    }
    return 1;
    }
    else if(Strassenmann[playerid][str_bAktiv])
    {
    Strassenmann[playerid][str_Checkpoint]++;
    DisablePlayerCheckpoint(playerid);
    new playercp = Strassenmann[playerid][str_Checkpoint];
    if(playercp == sizeof(Strassen_Stationen))
    {
    new veh = GetPlayerVehicleID(playerid);
    PlayerPlaySound(playerid,1056,0.0,0.0,0.0);
    SendClientMessage(playerid,EGRÜN,"Du hast deine Arbeit Erledigt!");
    Strassenmann[playerid][str_bAktiv]=false;
    SetVehicleToRespawn(veh);
    tank[veh] = 100;
    }
    else
    {
    new string[128];
    PlayerPlaySound(playerid,1056,0.0,0.0,0.0);
    format(string,sizeof(string),"Weiter so,du hast es fasst geschafft! (%d | %d)",playercp,sizeof(Strassen_Stationen));
    SendClientMessage(playerid,IGELB,string);
    SetPlayerCheckpoint(playerid,Strassen_Stationen[0][S_fx],Strassen_Stationen[0][S_fy],Strassen_Stationen[0][S_fz],Strassen_Stationen[0][S_fRad]);
    }
    }
    else
    {
    DisablePlayerCheckpoint(playerid);
    }
    return 1;
    }

    stock giveplayermoney(playerid,money)
    {
    new string[128];
    GivePlayerMoney(playerid, money);
    if(money > 0)
    {
    format(string, sizeof(string),"~g~+%d", money);
    GameTextForPlayer(playerid, string, 1000, 1);
    }
    else if(money < 0)
    {
    format(string, sizeof(string),"~r~%d", money);
    GameTextForPlayer(playerid, string, 1000, 1);
    }
    return 1;
    }


    Oder so:

    Spoiler anzeigen
    stock giveplayermoney(playerid,money)
    {
    new string[128];
    GivePlayerMoney(playerid, money);
    if(money > 0) format(string, sizeof(string),"~g~+%d", money);
    else if(money < 0) format(string, sizeof(string),"~r~%d", money);
    GameTextForPlayer(playerid, string, 1000, 1);
    return 1;
    }

    Wie du willst.

    Der else-Teil ganz unten war falsch. Deshalb ging der Checkpoint weg.

    Spoiler anzeigen
    public OnPlayerEnterCheckpoint(playerid)
    {
    printf("aktiv: %d", Postinfo[playerid][post_bAktiv]);
    if(Postinfo[playerid][post_bAktiv])
    {
    printf("checkpoint: %d", Postinfo[playerid][post_Checkpoint]);
    if(sInfo[playerid][post] == 0 && Postinfo[playerid][post_Checkpoint] == 0)
    {
    for(new i = 0; i < sizeof(postCars); i++)
    {
    printf("Fahrzeug: %d / postCars: %d", GetPlayerVehicleID(playerid), postCars[i]);
    if(IsPlayerInVehicle(playerid,postCars[i]))
    {
    new Float:x,Float:y,Float:z;
    new veh = GetPlayerVehicleID(playerid);
    Postinfo[playerid][post_Checkpoint] = 1;
    DisablePlayerCheckpoint(playerid);
    GetPosHinterFahrzeug(veh,7,Float:x,Float:y,Float:z);
    sInfo[playerid][postx] = x;
    sInfo[playerid][posty] = y;
    sInfo[playerid][postz] = z;
    printf("Setze random checkpoint");
    new rand = random(sizeof(RandomSpawn1));
    SetPlayerCheckpoint(playerid,RandomSpawn1[rand][0], RandomSpawn1[rand][1],RandomSpawn1[rand][2],5.0);
    return 1;
    }
    }
    }
    else
    {
    if(Postinfo[playerid][post_Checkpoint] == 0)
    {
    for(new f = 0; f < sizeof(postg); f++)
    {
    printf("Fahrzeug: %d / postg: %d", GetPlayerVehicleID(playerid), postg[f]);
    if(IsPlayerInVehicle(playerid,postg[f]))
    {
    Postinfo[playerid][post_Checkpoint] = 1;
    DisablePlayerCheckpoint(playerid);
    printf("Setze random checkpoint");
    new rand = random(sizeof(RandomSpawn1));
    SetPlayerCheckpoint(playerid,RandomSpawn1[rand][0], RandomSpawn1[rand][1],RandomSpawn1[rand][2],5.0);
    return 1;
    }
    }
    }
    else
    {
    for(new f = 0; f < sizeof(postg); f++)
    {
    printf("Fahrzeug: %d / postg: %d", GetPlayerVehicleID(playerid), postg[f]);
    if(IsPlayerInVehicle(playerid,postg[f]))
    {
    sInfo[playerid][post]++;
    Postinfo[playerid][post_Checkpoint] = 0;
    printf("post: %i",sInfo[playerid][post]);
    if(sInfo[playerid][post] == 10)
    {
    SendClientMessage(playerid,0xFF0000FF,"Fertig");
    DisablePlayerCheckpoint(playerid);
    return 1;
    }
    else
    {
    printf("Setze checkpoint hinter Fahrzeug.");
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,sInfo[playerid][postx], sInfo[playerid][posty],sInfo[playerid][postz],3.0);
    return 1;
    }
    }
    }
    }
    }
    }
    if(Fahrsstunde[playerid][fahr_bAktiv])
    {
    Fahrsstunde[playerid][fahr_Checkpoint]++;
    DisablePlayerCheckpoint(playerid);
    new playercp = Fahrsstunde[playerid][fahr_Checkpoint],veh = GetPlayerVehicleID(playerid),Float:hp;
    if(playercp == sizeof(Fahrss_Stationen))
    {
    GetVehicleHealth(veh,hp);
    hp = floatmul(floatdiv(100,750),(hp-250));
    if(hp < 80)
    {
    SetVehicleToRespawn(veh);
    tank[veh] = 100;
    SendClientMessage(playerid,IGELB,"Du bist durchgefallen da das Auto weniger als 80 Zustand hatte!");
    return 1;
    }
    else
    {
    PlayerPlaySound(playerid,1056,0.0,0.0,0.0);
    SendClientMessage(playerid,EGRÜN,"Du hast die Praktische Prüfung beendet bitte warte auf dein Ergebnis!");
    Fahrsstunde[playerid][fahr_bAktiv]=false;
    GetVehicleHealth(veh, hp);
    SetVehicleToRespawn(veh);
    tank[veh] = 100;
    return 1;
    }
    }
    else
    {
    new string[128];
    PlayerPlaySound(playerid,1056,0.0,0.0,0.0);
    format(string,sizeof(string),"(%d | %d)",playercp,sizeof(Fahrss_Stationen));
    SendClientMessage(playerid,IGELB,string);
    new id = Fahrsstunde[playerid][fahr_Checkpoint];
    SetPlayerCheckpoint(playerid,Fahrss_Stationen[id][F_fx],Fahrss_Stationen[id][F_fy],Fahrss_Stationen[id][F_fz],Fahrss_Stationen[id][F_fRad]);
    }
    }
    if(Muellmann[playerid][pmi_bAktiv])
    {
    Muellmann[playerid][pmi_Checkpoint]++;
    DisablePlayerCheckpoint(playerid);
    new playercp = Muellmann[playerid][pmi_Checkpoint];
    if(playercp == sizeof(Muellfuhr_Stationen))
    {
    new veh = GetPlayerVehicleID(playerid);
    PlayerPlaySound(playerid,1056,0.0,0.0,0.0);
    SendClientMessage(playerid,EGRÜN,"Du hast deine Arbeit Erledigt!");
    Muellmann[playerid][pmi_bAktiv]=false;
    SetVehicleToRespawn(veh);
    tank[veh] = 100;
    }
    else
    {
    new String[128];
    PlayerPlaySound(playerid,1056,0.0,0.0,0.0);
    format(String,sizeof(String),"Weiter so,du hast es fasst geschafft ! (%d / %d)",playercp,sizeof(Muellfuhr_Stationen));
    SendClientMessage(playerid,IGELB,String);
    SetPlayerCheckpoint(playerid,Muellfuhr_Stationen[playercp][M_fx],Muellfuhr_Stationen[playercp][M_fy],Muellfuhr_Stationen[playercp][M_fz],Muellfuhr_Stationen[playercp][M_fRad]);
    }
    return 1;
    }
    if(Strassenmann[playerid][str_bAktiv])
    {
    Strassenmann[playerid][str_Checkpoint]++;
    DisablePlayerCheckpoint(playerid);
    new playercp = Strassenmann[playerid][str_Checkpoint];
    if(playercp == sizeof(Strassen_Stationen))
    {
    new veh = GetPlayerVehicleID(playerid);
    PlayerPlaySound(playerid,1056,0.0,0.0,0.0);
    SendClientMessage(playerid,EGRÜN,"Du hast deine Arbeit Erledigt!");
    Strassenmann[playerid][str_bAktiv]=false;
    SetVehicleToRespawn(veh);
    tank[veh] = 100;
    }
    else
    {
    new string[128];
    PlayerPlaySound(playerid,1056,0.0,0.0,0.0);
    format(string,sizeof(string),"Weiter so,du hast es fasst geschafft! (%d | %d)",playercp,sizeof(Strassen_Stationen));
    SendClientMessage(playerid,IGELB,string);
    SetPlayerCheckpoint(playerid,Strassen_Stationen[0][S_fx],Strassen_Stationen[0][S_fy],Strassen_Stationen[0][S_fz],Strassen_Stationen[0][S_fRad]);
    }
    }
    return 1;
    }


    Das mit dem Checkpoint hinter dem Fahrzeug sollte so passen, das kannst du auch nicht groß anders machen, das würde ich so lassen.

    Das bringt nichts, das wäre viel zu viel.
    Die Zeile in der der Fehler liegt musst du uns schon sagen können. Am besten du beobachtest wann das passiert und wenn es passiert, dann weißt du da ja was du grade gemacht hast. Den entsprechenden Code dazu kannst du dann posten.


    Oder du aktivierst den MySQL Debug Modus, dann wird dir alles ausgegeben, dann siehst du welches Query ausgeführt worden ist, bevor der Fehler kam.
    Wie du das machst siehst du hier: Tipps: Scripting-Probleme richtig erklären (Kapitel 1.4)

    Das query im Script, bei dessen Ausführung die Meldung im Log auftaucht.
    Das kann ein SELECT, ein UPDATE, ein INSERT INTO oder sonstiges sein. Steht auf jeden Fall in deinem Script.

    So sollte es passen:
    #define DIALOG_CONTRACT_GELD 1001
    #define DIALOG_CONTRACT_ID 1002


    ocmd:contract(playerid,params[])
    {
    if(!IsPlayerInFrac(playerid,8) return SendClientMessage(playerid,COLOR_RED,"Du bist kein Hitman !");
    ShowPlayerDialog(playerid, DIALOG_CONTRACT_ID, DIALOG_STYLE_INPUT, "Spieler ID", "Bitte gebe die Spieler-ID ein:", "Ok", "Abbrechen");
    return 1;
    }


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == DIALOG_CONTRACT_ID)
    {
    if(!response) return 1;
    new pID;
    if(sscanf(inputtext,"u",pID))
    {
    return ShowPlayerDialog(playerid, DIALOG_CONTRACT_ID, DIALOG_STYLE_INPUT, "Spieler ID", "Bitte gebe die Spieler-ID ein:", "Ok", "Abbrechen");
    }
    if(playerid == pID)
    {
    ShowPlayerDialog(playerid, DIALOG_CONTRACT_ID, DIALOG_STYLE_INPUT, "Spieler ID", "Bitte gebe die Spieler-ID ein:", "Ok", "Abbrechen");
    return SendClientMessage(playerid,COLOR_RED,"Du kannst dich nicht selber als Auftrag freigeben!");
    }
    if(PlayerInfo[pID][pLevel] < 2)
    {
    ShowPlayerDialog(playerid, DIALOG_CONTRACT_ID, DIALOG_STYLE_INPUT, "Spieler ID", "Bitte gebe die Spieler-ID ein:", "Ok", "Abbrechen");
    return SendClientMessage(playerid,COLOR_RED,"Du kannst keinen Level 1-User Kopfgeld geben!");
    }
    if(!IsPlayerInFrac(pID,8))
    {
    ShowPlayerDialog(playerid, DIALOG_CONTRACT_ID, DIALOG_STYLE_INPUT, "Spieler ID", "Bitte gebe die Spieler-ID ein:", "Ok", "Abbrechen");
    return SendClientMessage(playerid,COLOR_RED,"Du kannst keinen Auftragskiller ein Kopfgeld geben!");
    }
    if(IsPlayerInFrac(pID,1) || IsPlayerInFrac(pID,2) || IsPlayerInFrac(pID,4) || IsPlayerInFrac(pID,24))
    {
    ShowPlayerDialog(playerid, DIALOG_CONTRACT_ID, DIALOG_STYLE_INPUT, "Spieler ID", "Bitte gebe die Spieler-ID ein:", "Ok", "Abbrechen");
    return SendClientMessage(playerid,COLOR_RED,"Du kannst keinen Contract auf eine Staatliche Fraktion setzen");
    }
    SetPVarInt(playerid, "pID", pID);
    ShowPlayerDialog(playerid, DIALOG_CONTRACT_GELD, DIALOG_STYLE_INPUT, "Geld", "Bitte gebe den Geldbetrag ein:", "Ok", "Zurück");
    return 1;
    }
    if(dialogid == DIALOG_CONTRACT_GELD)
    {
    if(!response)
    {
    ShowPlayerDialog(playerid, DIALOG_CONTRACT_ID, DIALOG_STYLE_INPUT, "Spieler ID", "Bitte gebe die Spieler-ID ein:", "Ok", "Abbrechen");
    return 1;
    }
    if(!strlen(inputtext))
    {
    return ShowPlayerDialog(playerid, DIALOG_CONTRACT_GELD, DIALOG_STYLE_INPUT, "Geld", "Bitte gebe den Geldbetrag ein:", "Ok", "Zurück");
    }
    new geld = strval(inputtext);
    if(geld > 50000)
    {
    ShowPlayerDialog(playerid, DIALOG_CONTRACT_GELD, DIALOG_STYLE_INPUT, "Geld", "Bitte gebe den Geldbetrag ein:", "Ok", "Zurück");
    return SendClientMessage(playerid,COLOR_RED,"Du kannst nicht mehr als 50000$ aufeinmal als Kopfgeld setzen ");
    }
    if(geld < 5000)
    {
    ShowPlayerDialog(playerid, DIALOG_CONTRACT_GELD, DIALOG_STYLE_INPUT, "Geld", "Bitte gebe den Geldbetrag ein:", "Ok", "Zurück");
    return SendClientMessage(playerid,COLOR_RED,"Du musst Mindestens 5000$!");
    }
    if(GetPlayerMoney(playerid) > geld)
    {
    new pID = GetPVarInt(playerid, "pID"), string[145];
    GivePlayerMoney(playerid,-geld);
    PlayerInfo[pID][pContract] += geld;
    format(string, sizeof(string), "Du hast %s für %d$ zum Aufrag freigegeben.",SpielerName(pID),geld);
    SendClientMessage(playerid,COLOR_RED,string);
    format(string, sizeof(string), "||>>|| Auftrag ||<<||%s hat einen Auftrag in höhe von %d$ auf %s [ID: %d] gesetzt.",SpielerName(playerid),geld,SpielerName(pID),pID);
    SendFamilyMessage(8,COLOR_YELLOW,string);
    }
    else
    {
    ShowPlayerDialog(playerid, DIALOG_CONTRACT_GELD, DIALOG_STYLE_INPUT, "Geld", "Bitte gebe den Geldbetrag ein:", "Ok", "Abbrechen");
    SendClientMessage(playerid,COLOR_RED,"So viel kannst du dir nicht leisten !");
    return 1;
    }
    }
    return 1;
    }

    @[LnD]JustMe.77:
    Wieso muss es überhaupt ZCMD sein? ocmd ist neuer und einfacher in der Anwendung:
    ocmd 2.1.1 [ Update 3.11.2013 ]


    An was genau das Problem liegt kann ich dir nicht sagen, da kann es viele Gründe geben. Teste mal ocmd.



    Corvus:
    Dann stimmen die alten Funktionen nicht mit dem neuen Plugin überein. Da bleiben dir nur zwei Möglichkeiten:
    - Alte Version (R9 war es glaub) verwenden
    - Code auf neue Version umschreiben

    Komisch, das habe ich so noch nie gesehen.
    Teste es mal so:


    GetPlayerName(playerid, SpielerInfo[playerid][pName], MAX_PLAYER_NAME);
    SpielerInfo[playerid][pSkin] = mysql_GetInt("accounts", "skin", "player", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pLevel] = mysql_GetInt("accounts", "score", "player", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pGeld] = mysql_GetInt("accounts", "geld", "player", SpielerInfo[playerid][pName]);

    zu:
    GetPlayerName(playerid, SpielerInfo[playerid][pName], MAX_PLAYER_NAME);
    SpielerInfo[playerid][pSkin] = mysql_GetInt("accounts", "skin", "player", SpielerInfo[playerid][pName]);
    GetPlayerName(playerid, SpielerInfo[playerid][pName], MAX_PLAYER_NAME);
    SpielerInfo[playerid][pLevel] = mysql_GetInt("accounts", "score", "player", SpielerInfo[playerid][pName]);
    GetPlayerName(playerid, SpielerInfo[playerid][pName], MAX_PLAYER_NAME);
    SpielerInfo[playerid][pGeld] = mysql_GetInt("accounts", "geld", "player", SpielerInfo[playerid][pName]);


    Wenn es nicht geht, nochmal den MySQL Log posten.


    Hast du zufällig eine mehrzeilige Meldung mit vielen Zahlen im Compiler?


    Edit:
    Unabhängig davon, hast du im enum nur
    pName,
    stehen?
    Wenn ja, ändere das zu
    pName[MAX_PLAYER_NAME],

    Den Code übernommen sieht das dann so aus:
    new bool: legit = false; //Variable, die festlegt, ob der Name korrekt ist
    if(strfind(name, ".") != -1){ //Prüfen, ob ein "." im Namen vorhanden ist
    if(strfind(name, ".") < (strlen(name) - 3) && strfind("name", ".") > 2) legit = true;//Prüfen, ob der Punkt auch nicht an letzter oder erster Stelle ist.
    }else if(strfind(name, "_") != -1){ Prüfen, ob ein "_" im Namen vorhandne ist
    if(strfind(name, "_") < (strlen(name) - 3) && strfind("name", "_") > 2)legit = true; //Prüfen, ob der Unterstrich auch nicht an letzter oder erster Stelle ist.
    }