Beiträge von Jeffry

    Was steht im Server Log, wenn du es so schreibst?

    Spoiler anzeigen
    public SpielerEinloggen(playerid,Kennwort[])
    {
    MySQLCheckConnection();
    new Query[255];
    format(Query,sizeof(Query),"SELECT * FROM `accounts` WHERE `Spielername` = '%s'",SpielerInfo[playerid][sName]);
    mysql_query(Query);
    mysql_store_result();
    if(mysql_num_rows())
    {
    mysql_fetch_field("Passwort",Query);
    if(!strcmp(Query,Kennwort,false))
    {
    mysql_fetch_field("Adminlevel",Query); SpielerInfo[playerid][sAdminlevel] = strval(Query);
    printf("AdminLevel geladen: %s / %d", Query, SpielerInfo[playerid][sAdminlevel]);
    mysql_fetch_field("Verwarnungen",Query); SpielerInfo[playerid][sWarns] = strval(Query);
    mysql_fetch_field("Premium",Query); SpielerInfo[playerid][sPremium] = strval(Query);
    mysql_fetch_field("Spielzeit",Query); SpielerInfo[playerid][sSpielzeit] = strval(Query);
    mysql_fetch_field("Geschlecht",Query); SpielerInfo[playerid][sGeschlecht] = strval(Query);
    mysql_fetch_field("posX",Query); SpielerInfo[playerid][posX] = floatstr(Query);
    mysql_fetch_field("posY",Query); SpielerInfo[playerid][posY] = floatstr(Query);
    mysql_fetch_field("posZ",Query); SpielerInfo[playerid][posZ] = floatstr(Query);
    mysql_fetch_field("posA",Query); SpielerInfo[playerid][posA] = floatstr(Query);
    mysql_fetch_field("Level",Query); SpielerInfo[playerid][sLevel] = strval(Query);
    mysql_fetch_field("Firma",Query); SpielerInfo[playerid][sFirma] = strval(Query);
    mysql_fetch_field("Firmaname",Query); SpielerInfo[playerid][sFirmaname] = strval(Query);
    mysql_fetch_field("Tutorial",Query); SpielerInfo[playerid][sTutorial] = strval(Query);
    mysql_fetch_field("Aussehen",Query); SpielerInfo[playerid][sSkin] = strval(Query);
    mysql_fetch_field("Geld",Query); SpielerInfo[playerid][sGeld] = strval(Query);
    mysql_fetch_field("Alter",Query); SpielerInfo[playerid][sAlter] = strval(Query);
    mysql_fetch_field("Mats",Query); SpielerInfo[playerid][sMats] = strval(Query);
    mysql_fetch_field("Bmod",Query); SpielerInfo[playerid][sBmod] = strval(Query);
    mysql_fetch_field("Coints",Query); SpielerInfo[playerid][sCoints] = strval(Query);
    mysql_fetch_field("Ticketsopen",Query); SpielerInfo[playerid][sTicketsopen] = strval(Query);
    mysql_fetch_field("SaveDrogen",Query); SpielerInfo[playerid][sSaveDrogen] = strval(Query);
    mysql_fetch_field("SaveMats",Query); SpielerInfo[playerid][sSaveMats] = strval(Query);
    mysql_fetch_field("Drogen",Query); SpielerInfo[playerid][sDrogen] = strval(Query);
    mysql_fetch_field("Bank",Query); SpielerInfo[playerid][sBank] = strval(Query);
    mysql_fetch_field("Telefon",Query); SpielerInfo[playerid][sTelefon] = strval(Query);
    mysql_fetch_field("Telefonnummer",Query); SpielerInfo[playerid][sTelefonnummer] = strval(Query);
    mysql_fetch_field("Telefonbuch",Query); SpielerInfo[playerid][sTelefonbuch] = strval(Query);
    mysql_fetch_field("Klingelton",Query); SpielerInfo[playerid][sKlingelton] = strval(Query);
    mysql_fetch_field("Personalausweis",Query); SpielerInfo[playerid][sPerso] = strval(Query);
    mysql_fetch_field("PersonalausweisAntrag",Query); SpielerInfo[playerid][sPersoAntrag] = strval(Query);
    mysql_fetch_field("Arbeitslos",Query); SpielerInfo[playerid][sArbeitslos] = strval(Query);
    mysql_fetch_field("ArbeitslosAntrag",Query); SpielerInfo[playerid][sArbeitslosAntrag] = strval(Query);
    mysql_fetch_field("Job",Query); SpielerInfo[playerid][sJob] = strval(Query);
    mysql_fetch_field("Jobzeit",Query); SpielerInfo[playerid][sLastJob] = strval(Query);
    mysql_fetch_field("Fahrlizenz",Query); SpielerInfo[playerid][sFahrlizenz] = strval(Query);
    mysql_fetch_field("Angellizenz",Query); SpielerInfo[playerid][sAngellizenz] = strval(Query);
    mysql_fetch_field("FahrlizenzSperre",Query); SpielerInfo[playerid][sFahrlizenzLock] = strval(Query);
    mysql_fetch_field("Fluglizenz",Query); SpielerInfo[playerid][sFlyLic] = strval(Query);
    mysql_fetch_field("FluglizenzSperre",Query); SpielerInfo[playerid][sFlyLicLock] = strval(Query);
    mysql_fetch_field("Lastkraftwagenlizenz",Query); SpielerInfo[playerid][sLKWLic] = strval(Query);
    mysql_fetch_field("LastkraftwagenlizenzSperre",Query); SpielerInfo[playerid][sLKWLicLock] = strval(Query);
    mysql_fetch_field("Motorradlizenz",Query); SpielerInfo[playerid][sBikeLic] = strval(Query);
    mysql_fetch_field("MotorradlizenzSperre",Query); SpielerInfo[playerid][sBikeLicLock] = strval(Query);
    mysql_fetch_field("Schifffahrtslizenz",Query); SpielerInfo[playerid][sBoatLic] = strval(Query);
    mysql_fetch_field("SchifffahrtslizenzSperre",Query); SpielerInfo[playerid][sBoatLicLock] = strval(Query);
    mysql_fetch_field("Waffenlizenz",Query); SpielerInfo[playerid][sWeaponLic] = strval(Query);
    mysql_fetch_field("WaffenlizenzSperre",Query); SpielerInfo[playerid][sWeaponLicLock] = strval(Query);
    mysql_fetch_field("Gehalt",Query); SpielerInfo[playerid][sGehalt] = strval(Query);
    mysql_fetch_field("Fraktion",Query); SpielerInfo[playerid][sFraktion] = strval(Query);
    mysql_fetch_field("Fraktionssperre",Query); SpielerInfo[playerid][sInviteLock] = strval(Query);
    mysql_fetch_field("Boss",Query); SpielerInfo[playerid][sBoss] = strval(Query);
    mysql_fetch_field("Rang",Query); SpielerInfo[playerid][sRang] = strval(Query);
    mysql_fetch_field("Strafpunkte",Query); SpielerInfo[playerid][sPunkte] = strval(Query);
    mysql_fetch_field("PaydayZeit",Query); SpielerInfo[playerid][sPaydayZeit] = strval(Query);
    mysql_fetch_field("Respektpunkte",Query); SpielerInfo[playerid][sRespektpunkte] = strval(Query);
    mysql_fetch_field("Fischskill",Query); SpielerInfo[playerid][sFishSkill] = strval(Query);
    mysql_fetch_field("Krankenhaus",Query); SpielerInfo[playerid][sKrankenhaus] = strval(Query);
    mysql_fetch_field("Friedhof",Query); SpielerInfo[playerid][sFriedhof] = strval(Query);
    if(SpielerInfo[playerid][sKrankenhaus] || SpielerInfo[playerid][sFriedhof])
    {
    mysql_fetch_field("TotX",Query); SpielerInfo[playerid][sTx] = floatstr(Query);
    mysql_fetch_field("TotY",Query); SpielerInfo[playerid][sTy] = floatstr(Query);
    mysql_fetch_field("TotZ",Query); SpielerInfo[playerid][sTz] = floatstr(Query);
    }
    mysql_fetch_field("Tode",Query); SpielerInfo[playerid][sTode] = strval(Query);
    mysql_fetch_field("Fische",Query); SpielerInfo[playerid][sFishes] = strval(Query);
    mysql_fetch_field("Haus",Query); SpielerInfo[playerid][sHaus] = strval(Query);
    mysql_fetch_field("Spawn",Query); SpielerInfo[playerid][sSpawn] = strval(Query);
    mysql_fetch_field("Morde",Query); SpielerInfo[playerid][sMorde] = strval(Query);
    mysql_fetch_field("Kills",Query); SpielerInfo[playerid][sKills] = strval(Query);
    mysql_fetch_field("Verbrechen",Query); SpielerInfo[playerid][sVerbrechen] = strval(Query);
    mysql_fetch_field("Wantedlevel",Query); SpielerInfo[playerid][sWantedlevel] = strval(Query);
    mysql_fetch_field("Knast",Query); SpielerInfo[playerid][sGefangen] = strval(Query);
    mysql_fetch_field("KnastZeit",Query); SpielerInfo[playerid][sGefangenZeit] = strval(Query);
    mysql_free_result();
    format(Query,sizeof(Query),"UPDATE `accounts` SET `Online`='1',`Eingeloggt`='Am %s um %s Uhr' WHERE `Spielername`='%s'",Datum(),Uhrzeit(),SpielerInfo[playerid][sName]);
    mysql_query(Query);
    format(Query,sizeof(Query),"%s hat sich mit der IP %s angemeldet.",SpielerInfo[playerid][sName],SpielerInfo[playerid][sIp]);
    EnterToLog("Einloggen",Query);

    if(SpielerInfo[playerid][sKrankenhaus] || SpielerInfo[playerid][sFriedhof])
    SpielerInfo[playerid][sTotenkopf] = CreatePickup(1254,1,SpielerInfo[playerid][sTx],SpielerInfo[playerid][sTy],SpielerInfo[playerid][sTz],-1);
    SetPlayerScore(playerid,SpielerInfo[playerid][sLevel]);
    GivePlayerMoney(playerid,SpielerInfo[playerid][sGeld]);
    TextDrawShowForPlayer(playerid,UhrDraw);
    TextDrawShowForPlayer(playerid,DatumDraw);
    TextDrawShowForPlayer(playerid,NewsText);

    SpielerInfo[playerid][sEingeloggt] = true;
    format(Query,sizeof(Query),"Server: Willkommen %s Zurück.",SpielerInfo[playerid][sName]);
    SendClientMessage(playerid,Farbe_Weiß,Query);
    if(SpielerInfo[playerid][sAdminlevel])
    {
    format(Query,sizeof(Query),"Server: Du hast dich mit dem Adminlevel '%d' eingeloggt.",SpielerInfo[playerid][sAdminlevel]);
    printf("Query: %s", Query);
    SendClientMessage(playerid,Farbe_Blau,Query);
    for(new si;si<sizeof(SupportInfo);si++)
    {
    TextDrawShowForPlayer(playerid,SupportInfo[si][S_Nummern]);
    TextDrawShowForPlayer(playerid,SupportInfo[si][S_Text]);
    }
    TextDrawShowForPlayer(playerid,SupportBubble);
    }
    for(new fs;fs<sizeof(FightSystem);fs++)
    {
    GangZoneShowForPlayer(playerid,FightSystem[fs][fsZoneID],GetZoneColorOfFaction(FightSystem[fs][fsOwnerFaction]));
    if(FightSystem[fs][fsAttackFaction] != -255 && FightSystem[fs][fsFightTime])
    {
    GangZoneFlashForPlayer(playerid,FightSystem[fs][fsZoneID],GetZoneColorOfFaction(FightSystem[fs][fsAttackFaction]));
    if(SpielerInfo[playerid][sFraktion] == FightSystem[fs][fsOwnerFaction] || SpielerInfo[playerid][sFraktion] == FightSystem[fs][fsAttackFaction])
    {
    TextDrawShowForPlayer(playerid,Fight);
    TextDrawShowForPlayer(playerid,FightOverline);
    TextDrawShowForPlayer(playerid,FightUnderline);
    TextDrawShowForPlayer(playerid,FightSystem[fs][fsWinFaction]);
    TextDrawShowForPlayer(playerid,FightSystem[fs][fsLoseFaction]);
    TextDrawShowForPlayer(playerid,FightSystem[fs][fsWinKills]);
    TextDrawShowForPlayer(playerid,FightSystem[fs][fsLoseKills]);
    TextDrawShowForPlayer(playerid,FightSystem[fs][fsTime]);
    }
    }
    }
    if(SpielerInfo[playerid][sPremium])
    {
    if(SpielerInfo[playerid][sPremium] < gettime())
    {
    SpielerInfo[playerid][sPremium] = 0;
    SendClientMessage(playerid,Farbe_Leuchtrot,"Server: Du bist nun kein Premium - Mitglied.");
    }
    else
    SendClientMessage(playerid,Farbe_Blau,"Server: Du bist Donator Benutzer. Für Details schau im Forum vorbei");
    }
    for(new a;a<sizeof(Autohaus);a++)
    SetPlayerMapIcon(playerid,a,Autohaus[a][ahX],Autohaus[a][ahY],Autohaus[a][ahZ],55,0,MAPICON_LOCAL);
    if(SpielerInfo[playerid][sWantedlevel])
    {
    if(SpielerInfo[playerid][sWantedlevel] > 6)
    SetPlayerWantedLevel(playerid,6);
    else
    SetPlayerWantedLevel(playerid,SpielerInfo[playerid][sWantedlevel]);
    }
    PlayerPlaySound(playerid,1063,0.0,0.0,0.0);
    SpawnPlayer(playerid);
    SetPlayerPos(playerid, SpielerInfo[playerid][posX], SpielerInfo[playerid][posY], SpielerInfo[playerid][posZ]);
    SetPlayerFacingAngle(playerid, SpielerInfo[playerid][posA]);
    LadeSpielerAutos(playerid);
    return 1;
    }
    else
    {
    mysql_free_result();
    SetPVarInt(playerid,"WrongPasswort",GetPVarInt(playerid,"WrongPasswort")+1);
    if(GetPVarInt(playerid,"WrongPasswort") >= 3)
    {
    Kick(playerid);
    return 0;
    }
    ShowPlayerDialog(playerid,Dialog_Einloggen,DIALOG_STYLE_PASSWORD,"Zukunft Reallife : Anmeldung:","Das angegebene Passwort ist falsch, bite versuche es nochmal","->","<.");
    }
    }
    else
    Kick(playerid);
    mysql_free_result();
    return 0;
    }

    Spoiler anzeigen
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == DIALOG_REGISTER)
    {
    if(strlen(inputtext) == 0)
    {
    new string[258];
    format(string,sizeof(string),"Wilkommen %s \n Dein Account wurde leider nicht gefunden. \n Bitte gebe dein Passwort ein.",SpielerName(playerid));
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Register",string,"Register","Exit");
    SendClientMessage(playerid,ROT,"Bitte wähle ein anderes Passwort.");
    return 1;
    }
    else
    {
    CreateAccount(playerid, inputtext);
    SpielerInfo[playerid][pLogIn] = 1;
    SpawnPlayer(playerid);
    return 1;
    }
    }
    if(dialogid == DIALOG_LOGIN)
    {
    if(strlen(inputtext) == 0)
    {
    new string[258];
    format(string,sizeof(string),"Willkommen %s \nDein Account wurde gefunden. /nBitte gebe dein Passwort ein.",SpielerName(playerid));
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"LogIn",string,"LogIn,","Exit");
    SendClientMessage(playerid,ROT,"Bitte gebe ein Passwort ein.");
    return 1;
    }
    else
    {
    if(!strcmp(inputtext, mysql_ReturnPasswort(SpielerName(playerid)), true))
    {
    SpielerInfo[playerid][pLogIn] = 1;
    LoadPlayer(playerid);
    PlayerSpawn(playerid);
    return 1;
    }
    else
    {
    new string[258];
    format(string,sizeof(string),"Wilkommen %s \n Dein Account wurde gefunden. \n Bitte gebe dein Passwort ein.",SpielerName(playerid));
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"LogIn",string,"LogIn","Exit");
    SendClientMessage(playerid,ROT,"PASSTWORT FALSCH!!!");
    return 1;
    }
    }
    }
    if(dialogid == DIALOG_LEADER)
    {
    if(listitem == 0)
    {
    new string[512];
    format(string,sizeof(string),"\nRang 10: %i$ \nRang 9: %i$ \nRang 8: %i$ \nRang 7: %i$ \nRang 6: %i$ \nRang 5: %i$ \nRang 4: %i$ \nRang 3: %i$ \nRang 2: %i$ \nRang 1: %i$ \nRang 0: %i$",
    FraktionsInfo[SpielerInfo[playerid][pFraktion]][Gehalt10],FraktionsInfo[SpielerInfo[playerid][pFraktion]][Gehalt9],FraktionsInfo[SpielerInfo[playerid][pFraktion]][Gehalt8],FraktionsInfo[SpielerInfo[playerid][pFraktion]][Gehalt7],FraktionsInfo[SpielerInfo[playerid][pFraktion]][Gehalt6],FraktionsInfo[SpielerInfo[playerid][pFraktion]][Gehalt5],
    FraktionsInfo[SpielerInfo[playerid][pFraktion]][Gehalt4],FraktionsInfo[SpielerInfo[playerid][pFraktion]][Gehalt3],FraktionsInfo[SpielerInfo[playerid][pFraktion]][Gehalt2],FraktionsInfo[SpielerInfo[playerid][pFraktion]][Gehalt1],FraktionsInfo[SpielerInfo[playerid][pFraktion]][Gehalt0]);
    ShowPlayerDialog(playerid,DIALOG_STYLE_LIST,DIALOG_LEADER_GEHALT,"Leaderverwaltung - Gehalt",string,"Auswählen","Abbrechen");
    return 1;
    }
    if(listitem == 1)
    {
    //PLatzhalter Rangnamen
    return 1;
    }
    if(listitem == 2)
    {
    //Platzhalter Gangkasse
    return 1;
    }
    if(listitem == 3)
    {
    //Materialien Kasse
    return 1;
    }
    if(listitem == 4)
    {
    //Koks Kasse
    return 1;
    }
    if(listitem == 5)
    {
    //Marihuaan Kasse
    return 1;
    }
    if(listitem == 6)
    {
    //Chrystal Kasse
    return 1;
    }
    return 1;
    }
    if(dialogid == DIALOG_LEADER_GEHALT)
    {
    return 1;
    }
    return 1;
    }


    Ist Problem 1 damit behoben?
    Problem 2 auch?

    Dann füge bei OnPlayerSpawn das hier ein:
    SetPlayerSkin(playerid,SpielerInfo[playerid][pSkin]);


    Dann bekommt er den richtigen Skin, wenn er geladen wird, sprich wenn der print kommt. Wenn der print nicht kommt, dann steht ein Fehler im MySQL Log.
    Die Ladefunktion brauche ich nicht über TeamViewer anschauen, warum sollte ich das machen? Die funktioniert doch.

    Führe sie nacheinander aus und speichere den Wert in einer Variable ab.
    Sprich erst den Count auslesen, in einer Variable (Spieler-Variable?) speichern, danach das andere auslesen, im public vom ersten das zweite Query ausführen.

    ocmd:admins(playerid,params[])
    {
    if(SpielerInfo[playerid][pLogIn] == 1)
    {
    new string[512], count;
    for(new i=0; i<sizeof(SpielerInfo); i++)
    {
    if(SpielerInfo[i][pLogIn] == 1)
    {
    if(SpielerInfo[i][pAdmin] >= 1)
    {
    format(string,sizeof(string),"%s(%i) %s{FFFFFF} %s (%s)\n",string,SpielerInfo[i][pAdmin],AdminName(i),SpielerName(i),ADuty(i));
    count++;
    }
    }
    }
    if(count) ShowPlayerDialog(playerid, DIALOG_ADMIN, DIALOG_STYLE_MSGBOX, "Adminliste", string, "Schließen", "");
    else ShowPlayerDialog(playerid, DIALOG_ADMIN, DIALOG_STYLE_MSGBOX, "Adminliste", "-Niemand-", "Schließen", "");
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist nicht Eingeloggt.");
    return 1;
    }
    return 1;
    }


    Du musst den String mit nehmen, und die Variable vor der Schleife deklarieren.

    Seit einigen Tagen habe ich den Fehler auch mehrmals bemerkt, groß hat es mich nicht gestört, weil hin und wieder mal ein Bildchen gefehlt hat. Mittlerweile kommt es aber ziemlich häufig vor, vor allem wenn man die Seite neu lädt, oder schnell auf einen Link drückt.
    Das sieht dann in den Post-Formen so aus:

    Quelle: Eigener Screenshot


    Was ziemlich unschön ist, wenn man einen Button sucht.


    Die Netzwerkanalyse von Firefox gibt folgendes aus, vielleicht fängst du damit ja was an:

    Quelle: Eigener Screenshot


    Im mobilen Design kommt es ebenso vor, getestet mit Chrome:

    Quelle: Eigener Screenshot

    Was steht so im Server Log?
    if(dialogid==DIALOG_Buslinien)
    {
    if(response)
    {
    printf("listitem: %d", listitem);
    if(listitem== 0)
    {
    if(!IsPlayerInRangeOfPoint(playerid,5,bust1cps[0][g_x],bust1cps[0][g_y],bust1cps[0][g_z]))return 1;
    SendClientMessage(playerid,helblau,"Du hast die Busroute 1 gestartet.");
    SetPlayerCheckpoint(playerid,bust1cps[0][g_x],bust1cps[0][g_y],bust1cps[0][g_z],5);
    printf("Zeige CP Route 1 für %d an %f/%f/%f", playerid,bust1cps[0][g_x],bust1cps[0][g_y],bust1cps[0][g_z]);
    }
    if(listitem== 1)
    {
    //Busliniet2
    if(!IsPlayerInRangeOfPoint(playerid,5,bust2cps[0][v_x],bust2cps[0][v_y],bust2cps[0][v_z]))return 1;
    SendClientMessage(playerid,helblau,"Du hast die Busroute 2 gestartet.");
    SetPlayerCheckpoint(playerid,bust2cps[0][v_x],bust2cps[0][v_y],bust2cps[0][v_z],5);
    printf("Zeige CP Route 2 für %d an %f/%f/%f", playerid,bust2cps[0][v_x],bust2cps[0][v_y],bust2cps[0][v_z]);
    }
    if(listitem== 2)
    {
    //Buslinie3
    if(!IsPlayerInRangeOfPoint(playerid,5,bust3cps[0][n_x],bust3cps[0][n_y],bust3cps[0][n_z]))return 1;
    SendClientMessage(playerid,helblau,"Du hast die Busroute 3 gestartet.");
    SetPlayerCheckpoint(playerid,bust3cps[0][n_x],bust3cps[0][n_y],bust3cps[0][n_z],5);
    printf("Zeige CP Route 3 für %d an %f/%f/%f", playerid,bust3cps[0][n_x],bust3cps[0][n_y],bust3cps[0][n_z]);
    }
    if(listitem== 3)
    {
    //Buslinie 4
    if(!IsPlayerInRangeOfPoint(playerid,5,bust4cps[0][m_x],bust4cps[0][m_y],bust4cps[0][m_z]))return 1;
    SendClientMessage(playerid,helblau,"Du hast die Busroute 4 gestartet.");
    SetPlayerCheckpoint(playerid,bust4cps[0][m_x],bust4cps[0][m_y],bust4cps[0][m_z],5);
    printf("Zeige CP Route 4 für %d an %f/%f/%f", playerid,bust4cps[0][m_x],bust4cps[0][m_y],bust4cps[0][m_z]);
    }
    printf("Fertig.");
    SetPVarInt(playerid,"bus_job",listitem+1);
    }
    else
    {
    SendClientMessage(playerid,grün,"Du hast keine Buslinie ausgewählt.");
    DestroyVehicle(GetPlayerVehicleID(playerid));
    return 1;
    }
    }
    return 1;
    }

    Haha :D
    Na dann:
    new rand = GetRandomBaum();
    if(rand == -1) return SendClientMessage(playerid, 0xFF0000FF, "Error: Kein Baum auszuwählen.");
    new Float:x,Float:y,Float:z;
    x = Baeume[rand][baum_x];
    y = Baeume[rand][baum_y];
    z = Baeume[rand][baum_z];


    Mit:
    stock GetRandomBaum()
    {
    new security;
    new rand = random(sizeof(Baeume));
    GRB_AGAIN:
    if(Baeume[rand][baumid_x] != 0)
    {
    rand++;
    if(rand >= sizeof(Baeume))
    {
    rand = 0;
    if(security >= 1)
    {
    return -1;
    }
    security++;
    }
    goto GRB_AGAIN;
    }
    return rand;
    }

    Poste bitte nochmal dein ganzes OnPlayerEnterCheckpoint so wie es jetzt ist, dann debuggen wir das kurz.
    Den ersten Checkpoint siehst du aber, oder? Und die Nachricht, welche Busroute du gewählt hast, bekommst du auch?

    Ändere mal
    SetPlayerSkin(extraid,SpielerInfo[extraid][pSkin]);
    zu:
    SetPlayerSkin(extraid,SpielerInfo[extraid][pSkin]);
    printf("Setze skin für ID: %d zu %d. (%s)", extraid, SpielerInfo[extraid][pSkin], GetName(extraid));


    Was steht dann im Log, wenn du dich einloggst?