Beiträge von SmD

    for(new i = 0;i<MAX_PLAYERS;i++)
    {
    if(classid == 4)
    {
    DisablePlayerCheckpoint(i);
    }
    }


    hier wird für classid 4 der checkpoint entfernt

    suspect(playerid, params[])
    {
    new id, grund[256], pint;
    if(sscanf(params, "uis",id,pint,grund)) return SendClientMessage(playerid, COLOR_GREY, "*:: /suspect [SpielerID] [Wanteds] [Grund] ::*");
    if(id == INVALID_PLAYER_ID || id == playerid || IsPlayerNPC(id)) return SendClientMessage(playerid, COLOR_GREY, "*:: Spieler kann nicht gemeldet werden. ::*");
    if(!GetPlayerFraktion(id, 2) || !GetPlayerFraktion(id, 3)) return SendClientMessage(playerid, COLOR_GREY, "*:: Nur für Polizisten ::*");
    if(PlayerInfo[playerid][pDuty] == 0) return SendClientMessage(playerid, COLOR_GREY, "*:: Du bist nicht im Dienst. ::*");
    if(pint > 10 || pint < 1) return SendClientMessage(playerid, COLOR_GREY, "*:: Die Wantedzahl muss zwischen 1 und 10 liegen. ::*");
    if(strlen(grund) < 3 || strlen(grund) > 255) return SendClientMessage(playerid, COLOR_GREY, "*:: Der Grund muss zwischen 3 und 255 Buchstaben lang sein. ::*");
    if(GetPlayerFraktion(id, 2) || GetPlayerFraktion(id, 3)) return SendClientMessage(playerid, COLOR_GREY, "*:: Du kannst kein Polizist/FBI Agent einsperren. ::*");


    new str[256];
    PlayerInfo[id][pWanteds] += pint;
    format(str, sizeof(str), "<'WantedLevel:' %d ><'Grund:' %s >",PlayerInfo[id][pWanteds],grund);
    SendClientMessage(id, COLOR_RED, str);
    format(str, sizeof(str), "<'Spieler:' %s ><'WantedLevel:' %d >",ReadName(id),PlayerInfo[id][pWanteds]);
    SendPolizeiMessage(COLOR_GREEN, str);
    return 1;
    }



    probiers mal so aus ich habe die else's weggelassen und vor SendClientMessage jeweils ein return gesetzt


    if(strcmp("motorrad",eingabe,true)==0)
    {
    format(string,sizeof string,"Fahrlehrer: %s hat dir einen Motorradschein gegeben!",SpielerName(playerid));
    printf("%i",pID);
    SendClientMessage(pID,HELLBLAU,string);
    format(string, sizeof string,"Du hast %s einen Motorradschein gegeben!",SpielerName(pID));
    SendClientMessage(playerid,HELLBLAU,string);
    SetPVarInt(pID,"Motorradschein",1);
    SpielerSpeichern(pID);
    }


    das ganze eig einfach nochmal nur mit motorrad

    ich konnte das jetzt ned so rauslesen benutzt du SetPlayerTeam um dem spieler ein team zuzuweisen oder wie?
    also mit getplayerteam würde es so gehen:

    for(new i = 0; i<MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(GetPlayerTeam(i) == GetPlayerTeam(playerid))
    {
    SendClientMessage(i,die farbe,die nachricht);
    }
    }

    bist du sicher das die variable überhaupt einen inhalt hat? das müsstest du nochmal prüfen
    eine andere möglichkeit wäre einfach den playername nochmal in eine extra variable auszulesen

    Zu 1:
    ich denke nicht das das funktionieren wird, da die for-schleife die nachricht an alle spieler sendet die in der fraktion 1,2 und 3 sind, du müsstest eine variable definieren, die die fraktion des spielers, der die nachricht sendet, liest und sie statt der fraktionsnummer einfügen


    Zu 2:
    Wann genau tritt der fehler auf, nur am 1. CP oder was genau passiert oder auch nicht

    Bei OnPlayerSpawn:



    new playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,playername,MAX_PLAYER_NAME);
    new spielerdatei[64];
    format(spielerdatei,sizeof(spielerdatei),"/Spawns/%s.ini",playername);
    new Float:spawnx,Float:spawny,Float:spawnz;
    spawnx = dini_FloatGet(spielerdatei,"SpawnX");
    spawny = dini_FloatGet(spielerdatei,"SpawnY");
    spawnz = dini_FloatGet(spielerdatei,"SpawnZ");
    SetPlayerPos(playerid,spawnx,spawny,spawnz);


    mfg


    SmD

    wieso hast du denn im timer 7200000 millisekunden drin, das ist ein wenig mehr als 10 sek und statt 1 musst du 0 nehmen, da der timer sonst immer wiederholt wird


    Edit:
    Und das TogglePlayerControllable(playerid,1) muss raus da der player sonst gleich wieder unfreezed wird und das playerid bei dem anderen toggleplayercontrollable muss durch pID ersetzt werden, da sonst du gefreezed wirst