Beiträge von John_Sanclear

    Sers Community,
    wenn ich jemanden banne oder kicke, bekommt er keine Nachricht sondern nur
    Server close the connect. Hier:

    ocmd:ban(playerid,params[])
    {
    new pID,reason[64],string[256];
    if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,HELLROT,"AdmCmd: Du besitzt keine Rechte, um diesen Befehl zu benutzen!");
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,HELLROT,"AdmCmd: Benutze /ban [SpielerID] [Grund]");
    format(string,sizeof(string),"AdmCmd: %s wurde vom Administrator %s vom Server gebannt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
    SendClientMessageToAll(HELLROT,string);
    SetPVarInt(pID,"Gebant",1);
    Ban(pID);
    return 1;
    }


    ocmd:kick(playerid,params[])
    {
    new pID,reason[64],string[256];
    if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,HELLROT,"AdmCmd: Du besitzt keine Rechte, um diesen Befehl zu benutzen!");
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,HELLROT,"AdmCmd: Benutze /kick [SpielerID] [Grund]");
    format(string,sizeof(string),"AdmCmd: %s wurde vom Administrator %s vom Server gekickt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
    SendClientMessageToAll(HELLROT,string);
    Kick(pID);
    return 1;
    }


    Hab die SCM jetzt gelöscht da wo drinne stand: Du wurdest vom Administrator %s gebannt. Grund: Blaa
    da es nicht funktioniert hat.

    So?

    public OnPlayerConnect(playerid)
    {
    new time = gettime();
    if(time < GetPVarInt(playerid,"Timeban")) { //Wenn du natürlich alles darin speichern lässt, musst du dir diesen Wert auch erst aus der Spielerdatei holen, aber das kannst du ja selber machen
    new str[128];
    new diff = GetPVarInt(playerid,"Timeban") - time;
    format(str,sizeof str,"Du bist noch %d Minuten gebannt! Komme später wieder!",diff / 60);
    SendClientMessage(playerid,-1,str);
    SpielerLaden(playerid);
    Kick(playerid); //musst natürlich per Timer kicken lassen. 0.3x und so
    }



    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Spieler/%s.txt",name);
    SetPVarInt(playerid, "pLogged", 1);
    if(dini_Exists(Spielerdatei))



    stock SpielerSpeichern(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Spieler/%s.txt",name);
    if(GetPVarInt(playerid, "pLogged") == 1)
    {
    SpawnPlayer(playerid);
    }

    So:

    public OnPlayerConnect(playerid)
    {
    new time = gettime();
    if(time < GetPVarInt(playerid,"Timeban")) { //Wenn du natürlich alles darin speichern lässt, musst du dir diesen Wert auch erst aus der Spielerdatei holen, aber das kannst du ja selber machen
    new str[128];
    new diff = GetPVarInt(playerid,"Timeban") - time;
    format(str,sizeof str,"Du bist noch %d Minuten gebannt! Komme später wieder!",diff / 60);
    SendClientMessage(playerid,-1,str);
    Kick(playerid); //musst natürlich per Timer kicken lassen. 0.3x und so
    }


    Ich speicher meine Spieler so:
    SpielerSpeichern(playerid);

    Es funktioniert, nur wenn ich mich Connecte wärend ich gebannt werde, werde ich ja gekickt wieder.
    Aber wenn ich entbant werde, und connecte bin ich wieder Adminlevel 0 alles resetet d.h es speichert gar nicht.
    Logan

    Hallo Community,
    ich habe ein Timeban System drinne der leider nicht funktioniert.
    Er wird zwar gekickt vom Server kann sich aber gleich wieder einloggen:

    ocmd:timeban(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,HELLROT,"AdmCmd: Du besitzt keine Rechte, um diesen Befehl zu benutzen!");
    new pID, time, grund[256];
    if(sscanf(params,"uis",pID,time,grund))return SendClientMessage(playerid,HELLROT,"AdmCmd: Benutze /timeban [SpielerID] [Zeit] [Grund]");
    if(IsPlayerConnected(pID))
    {
    if(time>0||time<1000)
    {
    new string[128];
    format(string,sizeof(string),"AdmCmd: %s wurde vom Administrator %s für %i Minuten gebannt. Grund: %s",SpielerName(pID),SpielerName(playerid),time,grund);
    SendClientMessageToAll(HELLROT,string);
    new wert;


    wert=gettime()+(60*time);


    SetPVarInt(pID,"Timeban",wert);


    Ban(pID);
    return 1;
    }
    SendClientMessage(playerid,HELLROT,"AdmCmd: Bitte gültige Zeit angeben!");
    return 1;
    }
    SendClientMessage(playerid,HELLROT,"AdmCmd: Der Spieler befindet sich zurzeit nicht auf dem Server!");
    return 1;
    }

    Bekomme diese Errors:



    C:\Dokumente und Einstellungen\Sevket\Desktop\German Deathmatch\gamemodes\Deathmatch.pwn(3331) : error 017: undefined symbol "IsAValidVehicle"
    C:\Dokumente und Einstellungen\Sevket\Desktop\German Deathmatch\gamemodes\Deathmatch.pwn(3332) : error 017: undefined symbol "i"
    C:\Dokumente und Einstellungen\Sevket\Desktop\German Deathmatch\gamemodes\Deathmatch.pwn(3333) : warning 209: function "ocmd_carrespawn" should return a value
    C:\Dokumente und Einstellungen\Sevket\Desktop\German Deathmatch\gamemodes\Deathmatch.pwn(3334) : error 010: invalid function or declaration
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    3 Errors.

    Hallo Community,
    ich habe ein Carrespawn System alles funktioniert. Doch ich möchte das,
    wenn ein Spieler in einem Auto ist das dieses Fahrzeuge der benutzt wird
    NICHT gespawnt wird. Ich weiß leider nicht wie das geht.



    ocmd:carrespawn(playerid, params[])
    {
    if(!isPlayerAnAdmin(playerid,1)) return SendClientMessage(playerid,HELLROT,"AdmCmd: Du besitzt keine Rechte, um diesen Befehl zu benutzen!");
    new pID, n1[128], grund[128];
    format(n1,sizeof(n1),"%s hat alle Fahrzeuge respawnt.",SpielerName(playerid),SpielerName(pID),grund);
    SendClientMessageToAll(BAIGE,n1);
    for(new i = 1; i <= MAX_VEHICLES; i++)
    {
    SetVehicleToRespawn(i);
    }
    return 1;
    }


    mfG,
    Ien

    Sers Leute,
    ich möchte das wenn man in dein Pickup reingeht das ein GameText erscheint.
    Nur ich weiß nicht wo das rein kommen soll.
    So sieht meine Funktion aus:

    if(IsPlayerInRangeOfPoint(playerid,2.0,X,Y,Z))
    {
    GameTextForPlayer(playerid,"/buygun",3000,1);
    }


    Nur weiß ich nicht wo das rein kommen soll.