Beiträge von H4rd_B4se


    public OnPlayerSpawn(playerid)
    {
    if(tod[playerid] ==1)
    {
    SetPlayerPos(playerid,x[playerid],y[playerid],z[playerid]);
    return 1;
    }
    if(GetPVarInt(playerid,"Banned") == 1)
    {
    SendClientMessage(playerid,rot,"Du bist gebannt!");
    Kick(playerid);
    }
    return 1;
    }

    Hier mal verkürzt ^^


    ocmd:kick(playerid,params[])
    {
    new pID,grund,string[128];
    if(sscanf(params,"us",pID,grund))return SendClientMessage(playerid,rot,"Benutzung: /kick [ID] [Grund]");
    if(GetPVarInt(playerid,"Adminlevel") == 0)return SendClientMessage(playerid,rot,"Sie sind kein Admin level 1");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,rot,"Dieser Spieler ist nicht Online");
    format(string,128,"Der Spieler %s wurde vom Admin %s gekickt Grund: %s",SpielerName(pID),SpielerName(playerid),grund);
    SendClientMessageToAll(rot,string);
    FreezePlayer(pID);
    Kick(pID);
    return 1;
    }


    @Fragende wegen Freeze ^^


    Er will den Spieler freezen, damit er nicht weiter rumlaufen kann ^^

    Hi,
    mein /alleadmins Befehl funktioniert nicht
    Es wird nur 1 Admin angezeigt und count gibt -1 aus,
    wo liegt der Fehler?
    CMD:alleadmins(playerid,params[])
    {
    SCM(playerid,Orange,"````````` Alle Admins ´´´´´´´´´´");
    mysql_query("SELECT * FROM 'accounts' WHERE 'Admin' > '0'");
    mysql_store_result();
    while(mysql_retrieve_row()) {
    new tmpName[MAX_PLAYERNAME],adminLevel;
    mysql_get_field("Name",tmpName);
    adminLevel = mysql_GetInt("accounts", "Admin", "Name", tmpName);
    format(aString,100,"%s ist %s(%d)\n",tmpName,AdminNamen[adminLevel],adminLevel);
    strcat(longStr,aString);
    }
    ShowPlayerDialog(playerid,D_None,DList,"Alle Admins von diesem Server",longStr,"Okey","");
    new count = mysql_num_rows();
    format(aString,100,"%d Zeilen",count);
    SCMA(-1,aString);
    mysql_free_result();
    return 1;
    }

    Hier mein Code

    Log(logname[],string[])
    {
    new jahr,monat,tag,stunde,minute,sekunde;
    getdate(jahr,monat,tag);
    gettime(stunde,minute,sekunde);
    new Chatstring[300],fName[50];
    format(Chatstring, sizeof(Chatstring), "%s | Datum: %d.%d.%d Zeit: %d:%d.%d\n",string,tag,monat,jahr,stunde,minute,sekunde);
    format(fName,50,"Logs/%s.txt",logname);
    new File:hFile = fopen(fName, io_append);
    fwrite(hFile, Chatstring);
    fclose(hFile);
    return 1;
    }


    so erstellst du dann:
    Log("NameDerLog","INHALT, der rein kommt");

    if(!IsPlayerConnected(playerid))return SendClientMessage(playerid,DUNKELROT,"[System]Spieler Existiert nicht oder ist nicht Online !");
    das frägst du für dich ab (der der den Befehl eingibt) (dass kannst du allgemein unter OnPlayerCommandText/Performed abfragen


    schlauer wäre es den Spieler (pID, der der ausgewählt wird) abzufragen
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,DUNKELROT,"[System]Spieler Existiert nicht oder ist nicht Online !");


    SpielerSpeichern(playerid);
    warum speicherst du dich selber?
    An dir wird ja nichts verändert


    format(string2,sizeof(string),"[Admin]Du hast erfolgreich Spieler %s Geld gegeben !|Summe : %s",SpielerName(playerid),summe);
    das gibt deinen eigenen Namen aus, playerid muss zu pID (ist in diesem Befehl die ID des Spielers, an den du das Geld gibts)
    format(string2,sizeof(string),"[Admin]Du hast erfolgreich Spieler %s Geld gegeben !|Summe : %s",SpielerName(pID),summe);


    und in dem sscanf, eventuell solltest du dir durchlesen, wie man sscanf benutzt
    du hattest vorhin nur "u",pID
    du brauchst aber die Summe auch nocht ;)


    mein Tipp:
    lern erstmal die Grundlagen, das ist das Wichtigste


    PS: sscanf [ SCRIPTING ] sscanf 2.0

    ocmd:Geld(playerid,params[])
    {
    new pID,string[128],string2[128],summe;
    if(!IsPlayerConnected(playerid))return SendClientMessage(playerid,DUNKELROT,"[System]Spieler Existiert nicht oder ist nicht Online !");
    if(sscanf(params,"ud",pID,summe))return SendClientMessage(playerid,DUNKELROT,"[System]Benutze die Verwendung : /Geld [ID] [SUMME]");
    if(IstSpielerAdmin(playerid,1))
    {
    GivePlayerMoney(pID, summe);
    format(string,sizeof(string),"[Admin]Der Administrator %s hat dir erfolgreich Geld gegeben !|Summe : %s",SpielerName(playerid),summe);
    format(string2,sizeof(string),"[Admin]Du hast erfolgreich Spieler %s Geld gegeben !|Summe : %s",SpielerName(playerid),summe);
    SendClientMessage(playerid,DUNKELROT,string);
    SendClientMessage(pID,DUNKELROT,string2);
    SpielerSpeichern(playerid);
    SpielerSpeichern(pID);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,DUNKELROT,"[System]Du bist kein Administrator !");
    return 1;
    }
    }


    summe ist kein String sondern ein Integer


    und ich sehe auch, dass bei dir einige Funktionen überflüssig sind, bzw fehlerhaft