Beiträge von TommyAkaServus

    das hier ist seines:
    stock TimeEnd()
    {
    new asd[6];
    getdate([asd[0],asd[1],asd[2]);
    gettime(asd[3],asd[4],asd[5]);
    if(asd[0] == 2010 && asd[1] == 12 && asd[2] == 24 && asd[3] == 20)
    {
    //Wenn es 20 Uhr abend 24 Dezember 2010 ist
    }
    return 0;
    }//Inkl. dem Bug das es nur nicht an dem einen tag geht, also am 25.12.2010 gehts wieder

    Das hier ist meins:stock CheckDate()
    {
    new tag,monat,jahr;
    getdate(jahr,monat,tag);
    // Jahr,Monat,Tag,Uhrzeit
    if(jahr >= Datum_Jahr && monat >= Datum_Monat && tag >= Datum_Tag)
    {
    printf("");
    printf("");
    printf("************************ F A I L ************************");
    printf("Dieses Produkt ist abgelaufen(Laufzeitschutz*),");
    printf("bitte schreibe eine SMS( HandyNummer ) oder aber eine");
    printf("eine Email( EmailAdresse ) und ich Sende dir einen");
    printf("neue GM mit einer neuen 2Wochen lizens. Vielen Dank!");
    printf("");
    printf("Mit freundlichen Grüßen,");
    printf("KillerKater ( Emailadresse )");
    printf("");
    printf("Community-Name GM v1.0 (c)2010 by Scripter-Name");
    printf("");
    printf("");
    printf("*Laufzeitschutz:Diese GM ist mit einem Laufzeitschutz versehen,");
    printf("welcher mir emöglicht das der GM nur einen Bestimmten Zeitraum");
    printf("läuft!Auf gut Deutsch, ist das Datum überschritten : FAIL");
    printf("******************************************************************");
    printf("");
    printf("");
    SetTimer("GMExit",18000,0);
    //Sonstige Aktionen hier einfügen!
    }


    return 0;
    }
    Der Text is ja egal aber der Aufbau ist anders, ich brauche keine Stunden, Ich hbae es mit Defines gemacht und den bug entfernt, das was diese beiden Verbindet ist lediglich der Funktion GetDate und die lässt sich nicht umgehen ;) und nur deswegen kann man auch nciht sagen "das ist aber meins, wie dreist"

    Hallo Leute,
    da ich heute ziemliche LW hatte entschied ich mich 3 Funktionen in mein Script einzubauen/zu scripten:

    • Gamemode mit Laufzeit
    • Das binden an eine IM SCRIPT definierte IP-Adresse
    • AntiDeAmx


    Gerade die 2. Funktion ist meines erachtens nach für die miesten von euch sehr nützlich.
    Eine ausführliche Anleitung und Beschreibung ist in der PWN / Pastebin


    MFG


    //PS Bitte Bewerten und neue Ideen/Verbesserungen einbringen


    //Edit; Bug fixxed
    //Edit Bug fixxed

    Hm ich hab garnicht gewusst, dass das auch mit der IP geht ich dachte es geht nur mit der server.cfg. Naja so lernt man wieder^^


    Ja richtig, mann hat nie ausgelernt =D


    Aber leider geht dein:
    stock TimeEnd()
    {
    new asd[6];
    getdate([asd[0],asd[1],asd[2]);
    gettime(asd[3],asd[4],asd[5]);
    if(asd[0] == 2010 && asd[1] == 12 && asd[2] == 24 && asd[3] == 20)
    {
    //Wenn es 20 Uhr abend 24 Dezember 2010 ist
    }
    return 0;

    Nicht ganz:

    D:\Server\Bos-Funkspiel\gamemodes\bos-gm.pwn(998) : error 029: invalid expression, assumed zero
    D:\Server\Bos-Funkspiel\gamemodes\bos-gm.pwn(998) : warning 215: expression has no effect
    D:\Server\Bos-Funkspiel\gamemodes\bos-gm.pwn(998) : warning 215: expression has no effect
    D:\Server\Bos-Funkspiel\gamemodes\bos-gm.pwn(998) : warning 215: expression has no effect
    D:\Server\Bos-Funkspiel\gamemodes\bos-gm.pwn(998) : error 001: expected token: ";", but found ")"
    D:\Server\Bos-Funkspiel\gamemodes\bos-gm.pwn(998) : error 029: invalid expression, assumed zero
    D:\Server\Bos-Funkspiel\gamemodes\bos-gm.pwn(998) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.



    //Edit Fail gefunden:
    Du hast bei GetDate eine eckige klammer drinnen -.-
    Falschgetdate([asd[0],asd[1],asd[2]);
    Richtiggetdate(asd[0],asd[1],asd[2]);


    2. geht ja doch ;) wusste doch das man den GM an eine IP binden kann:
    public OnGameModeInit()
    {
    new
    ip[16];
    GetServerVarAsString("bind", ip, sizeof (ip));
    if (!ip[0] || strcmp(ip, "192.168.0.127"))
    {
    for (;;)
    {
    printf("Don't steal my script!");
    }
    }
    }

    Hallo ich hbae hier mal ein paar kurze fragen:
    1.Wie kann ichs machen das die GM nur bis zu einem Bestimmten Datum geht, also praktisch das ich im gm definiere die GM läuft bis 13.Oktober und wenn die GM geladen wird und es der 13.10. ist passiert was
    2. Wie kann ich einen Server an eine IP-"binden"(Ich meine nicht per server.cfg)sondern mit nem public oder so,hatte da schonmal was findes aber nicht mehr,
    3.Danke für eure Hilfe

    Kann mir einer erklären wie ich es mache das ich in der datei

    public SaveMods()
    {
    new idx;
    new File: file2;
    while((idx < MAX_VEHICLES))
    {
    new coordsstring[256];
    format(coordsstring, sizeof(coordsstring), "%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d\n",
    VehiclesMod[idx][0],
    VehiclesMod[idx][1],
    VehiclesMod[idx][2],
    VehiclesMod[idx][3],
    VehiclesMod[idx][4],
    VehiclesMod[idx][5],
    VehiclesMod[idx][6],
    VehiclesMod[idx][7],
    VehiclesMod[idx][8],
    VehiclesMod[idx][9],
    VehiclesMod[idx][10]);

    if(idx == 0)
    {
    file2 = fopen("carmods.cfg", io_write);
    }
    else
    {
    file2 = fopen("carmods.cfg", io_append);
    }
    fwrite(file2, coordsstring);
    idx++;
    fclose(file2);
    }
    return 1;
    }

    einen string speichere
    und bei
    public LoadMods()
    {
    new arrCoords[11][64];
    new strFromFile2[256];
    new File: file = fopen("carmods.cfg", io_read);
    if (file)
    {
    new idx;
    while((idx < MAX_VEHICLES))
    {
    fread(file, strFromFile2);
    split(strFromFile2, arrCoords, '|');
    VehiclesMod[idx][0] = strval(arrCoords[0]);
    VehiclesMod[idx][1] = strval(arrCoords[1]);
    VehiclesMod[idx][2] = strval(arrCoords[2]);
    VehiclesMod[idx][3] = strval(arrCoords[3]);
    VehiclesMod[idx][4] = strval(arrCoords[4]);
    VehiclesMod[idx][5] = strval(arrCoords[5]);
    VehiclesMod[idx][6] = strval(arrCoords[6]);
    VehiclesMod[idx][7] = strval(arrCoords[7]);
    VehiclesMod[idx][8] = strval(arrCoords[8]);
    VehiclesMod[idx][9] = strval(arrCoords[9]);
    VehiclesMod[idx][10] = strval(arrCoords[10]);
    idx++;
    }
    fclose(file);
    }
    return 1;
    }
    als 3dText und AttachToVehicle lade?

    Freue mich auf antworten, danke

    Hallo ich habe eine frage zur codeoptimierung,
    Alos da ich keine lust habe bei jedem case neu abzufragn welche fraktion er ist
    (um von der fraktionskasse des käufers zu nehmen und in unserer zu geben)
    Es ist bei /fkasse do gemacht
    // >>>>>>>>>>>>>>>>> Fraktionskassen-System <<<<<<<<<<<<<<<<<
    if(strcmp(cmd,"/fkasse",true) == 0)
    {
    new fraktion = 0;
    if(PlayerInfo[playerid][pMember] > 0) fraktion = PlayerInfo[playerid][pMember] - 1;
    if(PlayerInfo[playerid][pLeader] > 0) fraktion = PlayerInfo[playerid][pLeader] - 1;
    if(fraktion >= 0)
    {
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,COLOR_GRAD5," /fkasse [einzahlen/auszahlen] [Betrag]");
    format(string,sizeof(string)," Derzeit sind $%d in der Fraktionskasse!",FraktionsKasse[fraktion]);
    SendClientMessage(playerid,COLOR_GRAD5,string);
    return 1;
    }
    if(strcmp(tmp,"einzahlen",true) == 0)
    {
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,COLOR_GRAD5," /fkasse einzahlen [Betrag]");
    format(string,sizeof(string)," Derzeit sind $%d in der Fraktionskasse!",FraktionsKasse[fraktion]);
    SendClientMessage(playerid,COLOR_GRAD5,string);
    return 1;
    }
    new amount = strval(tmp);
    if(amount < 0 || amount > 1000000) return SendClientMessage(playerid,COLOR_WHITE," Bitte nur Summen in Höhe von 1 bis 1 Million Dollar!");
    if(GetPlayerMoney(playerid) < amount) return SendClientMessage(playerid,COLOR_WHITE," Du hast nicht soviel Geld um es einzuzahlen!");
    FraktionsKasse[fraktion] += amount;
    GivePlayerMoney(playerid,-amount);
    format(string,sizeof(string)," Du hast $%d in die Fraktionskasse eingezahlt! Total: $%d",amount,FraktionsKasse[fraktion]);
    SendClientMessage(playerid,COLOR_WHITE,string);
    format(string,sizeof(string)," %s hat $%d in die Fraktionskasse eingezahlt! Total: $%d",sendername,amount,FraktionsKasse[fraktion]);
    SendLeaderMSG(fraktion+1,COLOR_LIGHTBLUE,string);
    SaveFraktionsKassen();
    }
    else if(strcmp(tmp,"auszahlen",true) == 0)
    {
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,COLOR_GRAD5," /fkasse auszahlen [Betrag]");
    format(string,sizeof(string)," Derzeit sind $%d in der Fraktionskasse!",FraktionsKasse[fraktion]);
    SendClientMessage(playerid,COLOR_GRAD5,string);
    return 1;
    }
    new amount = strval(tmp);
    if(PlayerInfo[playerid][pLeader] == 0) return SendClientMessage(playerid,COLOR_WHITE," Nur Leader dürfen Geld aus der Fraktionskasse nehmen!");
    if(amount < 0 || amount > 1000000) return SendClientMessage(playerid,COLOR_WHITE," Bitte nur Summen in Höhe von 1 bis 1 Million Dollar!");
    if((FraktionsKasse[fraktion] - amount) < 0) return SendClientMessage(playerid,COLOR_WHITE," Du kannst keine Schulden machen!");
    FraktionsKasse[fraktion] -= amount;
    GivePlayerMoney(playerid,amount);
    format(string,sizeof(string)," Du hast $%d aus der Fraktionskasse genommen! Total: $%d",amount,FraktionsKasse[fraktion]);
    SendClientMessage(playerid,COLOR_WHITE,string);
    format(string,sizeof(string)," %s hat $%d aus der Fraktionskasse genommen! Total: $%d",sendername,amount,FraktionsKasse[fraktion]);
    SendLeaderMSG(fraktion+1,COLOR_LIGHTBLUE,string);
    SaveFraktionsKassen();
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD5," /fkasse [einzahlen/auszahlen] [Betrag]");
    format(string,sizeof(string)," Derzeit sind $%d in der Fraktionskasse!",FraktionsKasse[fraktion]);
    SendClientMessage(playerid,COLOR_GRAD5,string);
    }
    }
    else SendClientMessage(playerid,COLOR_WHITE," Du bist in gar keiner Fraktion!");
    return 1;
    }


    Wie muss ich das abändern wenn ich das so machen möchte das ich keine ewig langen fraktionsabfragen machen muss?