Beiträge von Jeffry

    Dann hast du string nicht global deklariert, das kann ich leider nicht wissen.


    ocmd:news(playerid, params[])
    {
    if(!isPlayerInFrakt(playerid,6))return SendClientMessage(playerid,-1,"Du bist kein News Reporter!");
    new Nachricht[128], string[145];
    if(sscanf(params,"s", Nachricht))return SendClientMessage(playerid, COLOR_GREEN, "INFO: /news [Nachricht]");
    format(string,sizeof string,"*Journalist %s: %s", GetName(playerid), Nachricht);
    SendClientMessageToAll(COLOR_ORANGE, string);
    return 1;
    }

    ocmd:news(playerid, params[])
    {
    if(!isPlayerInFrakt(playerid,6))return SendClientMessage(playerid,-1,"Du bist kein News Reporter!");
    new Nachricht[128];
    if(sscanf(params,"s", Nachricht))return SendClientMessage(playerid, COLOR_GREEN, "INFO: /news [Nachricht]");
    format(string,sizeof string,"*Journalist %s: %s", GetName(playerid), Nachricht);
    SendClientMessageToAll(COLOR_ORANGE, string);
    return 1;
    }


    Falls du das Plugin von sscanf verwendest, setze noch ein [128] hinter das s in sscanf.

    if(IsACop(playerid))
    {
    if(OnDuty[playerid] != 1)
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Du bist nicht im Dienst!");
    return 1;
    }
    ShowPlayerDialog(playerid,DIALOG_COP,DIALOG_STYLE_LIST,"Verbrechen klicken","Nitro\nStVO\nBesitz von Mats/Drogen\nVersuchtes Kidnapping\nFlucht\nversuchte Flucht\nBeihilfe zur Flucht\nVerweigerung\nBehinderung der Justiz\nWaffenhandel\nEinsperren ins GangJail\nBeamten/Zivilistenangriff\nEntführung\nBeamten-/Zivilistenbeschuss\nAnschlag\nMord\nBankraub\nPräsidentenbeschuss\nPräsidentenmord\nAusbruch aus Alcatraz\nAusbruchshilfe aus Alcatraz","Auswählen","Beenden");
    pVerbrecher[playerid] = clickedplayerid;
    new str[128];
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    //for(new i = 0; i < GetMaxPlayers(); i++)
    format(str,sizeof(str),"Info\n_________________\nWantedlevel: %d",GetPlayerWantedLevel(playerid));
    WantedLabel[playerid] = CreatePlayer3DTextLabel(playerid,str,COLOR_RED,0.0,0.0,0.0,40.0);
    }
    else if (PlayerInfo[playerid][pLeader] == 7 || PlayerInfo[playerid][pMember] == 7)
    {
    ShowPlayerDialog(playerid,DIALOG_COP,DIALOG_STYLE_LIST,"Verbrechen klicken","Nitro\nStVO\nBesitz von Mats/Drogen\nVersuchtes Kidnapping\nFlucht\nversuchte Flucht\nBeihilfe zur Flucht\nVerweigerung\nBehinderung der Justiz\nWaffenhandel\nEinsperren ins GangJail\nBeamten/Zivilistenangriff\nEntführung\nBeamten-/Zivilistenbeschuss\nAnschlag\nMord\nBankraub\nPräsidentenbeschuss\nPräsidentenmord\nAusbruch aus Alcatraz\nAusbruchshilfe aus Alcatraz","Auswählen","Beenden");
    pVerbrecher[playerid] = clickedplayerid;
    new str[128];
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    //for(new i = 0; i < GetMaxPlayers(); i++)
    format(str,sizeof(str),"Info\n_________________\nWantedlevel: %d",GetPlayerWantedLevel(playerid));
    WantedLabel[playerid] = CreatePlayer3DTextLabel(playerid,str,COLOR_RED,0.0,0.0,0.0,40.0);
    //new str[64];
    format(str, sizeof(str), "Wanteds: %d", GetPlayerWantedLevel(playerid));
    printf("str: %s", str);
    PlayerTextDrawSetString(playerid, StatusAnrufe[playerid], str);
    }
    return 1;
    }


    Bist du in Fraktion 7? Kommt der print?
    Was passiert wenn du es eingibst?

    else if(sInfo[playerid][fraktion] == 7)
    {
    static bool:isOpen;
    if(!IsPlayerInRangeOfPoint(playerid,20,2347.23779, 2723.17090, 11.41084))return SendClientMessage(playerid,COLOR_YELLOW, "Du bist nicht an dem Tor deiner Base");
    if(!isOpen)
    {
    isOpen = true;
    MoveObject(HitmanTor, 2347.23779, 2723.17090, -5, 1.5, 0.00000, 0.00000, -1.80000);
    SendClientMessage(playerid,COLOR_GREEN, "Tor geöffnet");
    }
    else
    {
    isOpen = false;
    MoveObject(HitmanTor, 2347.23779, 2723.17090, 11.41084, 1.5, 0.00000, 0.00000, -1.80000);
    SendClientMessage(playerid,COLOR_GREEN, "Tor geschlossen");
    }
    return 1;
    }




    Ich habe nicht gesehen, dass das CreateObject stand. So passt es.



    EDIT:
    Jetzt hat es dann auch jeder kommentiert. :|

    Du brauchst eine Datenbank mit einer Tabelle, in der die Ranks stehen.
    Dann brauchst du einen Befehl, des in etwa so aussieht: /arang [rangID] [neuer Name]


    Die Ränge speicherst du in einer Variable die so aussieht:
    new aRangName[10][32]; //Angenommen du hast 10 Ränge, die maximal 32 Buchstaben lang sind.


    Wie jedes mal, solltest du natürlich erst mal einen Code haben, damit wir dir weiterhelfen können, da wir dir nicht das ganze System schreiben können/werden. ;)

    Wenn du das Objekt so erstellst, und nach unten haben willst:
    CreateObject(980, 2347.23779, 2723.17090, 11.41084, 0.00000, 0.00000, -1.80000);


    muss du die "11.41084" kleiner machen, also zum Beispiel "-5.0" (je nach dem wo es hin soll).


    Bei MoveObject musst du dann (da du ja die Position änderst) die Geschwindigkeit wieder hochsetzen, zum Beispiel zu 1.5.

    Das kannst du so machen:
    else if(sInfo[playerid][fraktion] == 7)
    {
    static bool:isOpen;
    if(!IsPlayerInRangeOfPoint(playerid,20,2347.23779, 2723.17090, 11.41084))return SendClientMessage(playerid,COLOR_YELLOW, "Du bist nicht an dem Tor deiner Base");
    if(!isOpen)
    {
    isOpen = true;
    MoveObject(HitmanTor, 2347.23779, 2723.17090, 1.40084, 0.010, 0.00000, 0.00000, -1.80000);
    SendClientMessage(playerid,COLOR_GREEN, "Tor geöffnet");
    }
    else
    {
    isOpen = false;
    //MoveObject...
    SendClientMessage(playerid,COLOR_GREEN, "Tor geschlossen");
    }
    return 1;
    }

    Setze oben, unter deine Includes:
    new gateOfFrak7;


    Das Objekt:
    gateOfFrak7 = CreateObject(980, 2347.23779, 2723.17090, 11.41084, 0.00000, 0.00000, -1.80000); //Hitman Tor


    Und Die Bewegung:
    MoveObject(gateOfFrak7, 2347.23779, 2723.17090, 11.40084, 0.005, 0.00000, 0.00000, -11.80000);


    Du musst, wenn du nur die Rotation änderst, ein bisschen was an der Position verändern (ich habe dir es um 0.01 tiefer gesetzt), damit es geht. Außerdem musst du es dann gaaaanz langsam (0.005 hab ich mal gemacht) bewegen lassen. Das kannst du natürlich anpassen, aber 5 war die viel zu viel, da es sich ja nur um 0.01 bewegt.

    Schau doch mal ins Include, man gibt lediglich das Datum als String an die Funktion, sie macht das alles schon selber.


    Die Include hast du nach meinem Post reineditiert, die war noch nicht da als ich gepostet habe. :D


    Logisch, wenn man die Include nutzt, die einem die Arbeit nimmt, ist es natürlich geschickter.

    Wieso bitte den Umstand machen, wenn man es direkt in einen Timestamp umwandelt?


    So musste halte den Timestamp wieder zu einem Datum konvertieren, das kommt auf's gleiche raus.
    Beim Timestamp musste halt auch immer das Schaltjahr beachten, da geht es mit dem split leichter, das Alter herauszufinden.


    Außerdem gibt ja keiner einen Timestamp ein, sprich du musst das Geburtsdatum erst splitten und konvertieren, das ist im Endeffekt mehr Aufwand. ;)