Beiträge von 5Gum

    Wenn du einen Namen auslesen möchtest, brauchst du auch die SA-MP vorprogrammierte Funktion "GetPlayerName". Dafür brauchst du aber auch eine Variable, wo der Name drin gespeichert wird. Also new Name[MAX_PLAYER_NAME];Sollte klar sein.
    GetPlayerName(playerid,Name,sizeof(Name));


    Sollte auch klar sein.


    Nun kannst du den Namen mit "Name" auslesen.
    z.B. hier:
    new string[128];format(string,sizeof(string),"Dein Name: %s",Name(playerid));SendClientMessage(playerid,-1,string);



    Wenn du etwas nicht verstanden hast, melde dich.

    Du hast wahrscheinlich den Bereich zum anklicken nicht eingestellt.
    Du musst dir eine Box erstellen, die du durchsichtig machen kannst, aber auch farbig, das ist egal.
    Dann musst du den Bereich zum anklicken, mit TextDrawTextSize einstellen. Der Bereich zum anklicken ist immer die Box.
    Wenn du irgendwo nicht weiterkommst, melde dich.

    COMMAND:ls(playerid, params[])
    {
    if(!UseTeleports[playerid] && !IsPlayerAFK[playerid])return SendClientMessage(playerid, COLOR_RED, "[WARNUNG] Da kannst im Moment keine Teleports nutzen!");
    if(UseTeleports[playerid] && IsPlayerAFK[playerid])
    {
    if(GetPlayerMoney(playerid) >= 3000)
    {
    new string[128],pName[MAX_PLAYER_NAME],pVehicle = GetPlayerVehicleID(playerid),Float:VehicleAngle;
    GetPlayerName(playerid, pName, sizeof(pName));
    format(string, sizeof(string), "[TELEPORTINFO] {%06x}%s "#COLOR_GOLD_EMBED"hat sich nach Los Santos teleportiert! (/LS)", GetPlayerColor(playerid) >>> 8, pName);
    SendClientMessageToAll(COLOR_GOLD, string);
    SetPlayerPos(playerid, 2492.7268, -1668.3849, 13.3438);
    SetPlayerFacingAngle(playerid, 0);
    SetVehiclePos(pVehicle, 2492.7268, -1668.3849, 13.3438);
    GetVehicleZAngle(playerid, VehicleAngle);
    SetVehicleZAngle(playerid, VehicleAngle);
    PutPlayerInVehicle(playerid, pVehicle, 0);
    GivePlayerMoney(playerid,-3000);
    }
    else SendClientMessage(playerid, COLOR_RED, "[WARNUNG] Du hast nicht genug Geld!");
    }
    else if(IsPlayerAFK[playerid])SendClientMessage(playerid, COLOR_RED, "[WARNUNG] Du bist AFK. Du kannst keine Aktion durchführen. Melde dich mit /back zurueck!");
    return 1;
    }


    So, weiter weiß ich auch nicht. Ich habe es aus meiner Sicht so kurz und übersichtlich geschrieben, wie möglich.

    new JailTimer[MAX_PLAYERS];


    public SetJailTimer(pID)
    {
    if(SpielerInfo[pID][pJail] == 1)
    {
    new string[128];
    format(string,sizeof(string),"~y~Jailtime:~n~~r~%i~n~~y~Minutes",SpielerInfo[pID][pJailtime]);
    GameTextForPlayer(pID,string,60000,6);
    SpielerInfo[pID][pJailtime]--;
    SendClientMessage(pID,FRot,"Kleiner test ;)");
    }
    else if(SpielerInfo[pID][pJailtime] == 0)
    {
    KillTimer(JailTimer[pID]);
    SpielerInfo[pID][pJail] = 0;
    SpielerInfo[pID][pJailtime] = 0;
    SpawnPlayer(pID);
    }
    return 1;
    }
    ocmd:setprison(playerid,params[])
    {
    if(!IsPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,FRot,"[ERROR:] Server unknow command ['/setprison'], use '/help' .");
    new pID, string[128],grund[128], jailtime;
    if(sscanf(params,"usi",pID,grund,jailtime))return SendClientMessage(playerid,FGrau,"Fehler: benutze /setprison [ID] [GRUND] [JAILTIME]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,FGrau,"Fehler: Dieser spieler ist nicht online !");
    if(IsPlayerNPC(pID))return SendClientMessage(playerid,FGrau,"Fehler: Du kannst keine NPCs ins prison stecken !");
    /*if(pID == playerid)return SendClientMessage(playerid,FGrau,"Fehler: Du kannst dich nicht selber ins prison stecken !");
    if(!IsPlayerAnAdmin(pID,6))
    {
    if(IsPlayerAnAdmin(pID,1))return SendClientMessage(playerid,FGrau,"Fehler: Du kannst keine admins ins Prison stecken ! (AUSSER: Community Leitung) !");
    }*/
    SpielerInfo[pID][pJail] = 1;
    SpielerInfo[pID][pJailtime] = jailtime;
    format(string,sizeof(string),"[SERVER:] Welcome in Prison ! Reason: %s | Jailtime: %i Minutes.",grund,jailtime);
    SendClientMessage(pID,FRot,string);
    JailTimer[pID] = SetTimerEx("SetJailTimer",60000*SpielerInfo[pID][pJailtime],1,"d",pID);
    SetPlayerInterior(pID,10);
    SetPlayerVirtualWorld(pID,5);
    SetPlayerPos(pID,228.9065,110.9886,999.2188);
    new string2[128];
    format(string2,sizeof(string2),"~y~Jailtime:~n~~r~%i~n~~y~Minutes",SpielerInfo[pID][pJailtime]);
    GameTextForPlayer(pID,string,62000,6);
    return 1;
    }
    Ist nun neugeschrieben, schau mal ob das nun funktioniert.

    Ja, dann mach das, dann wird der Timer für den Spieler gekillt, der auch aus dem Knast rausgekommen ist, und nicht für alle, die im Knast sitzen.


    Klappt sonst alles, oder sind die Probleme noch vorhanden?