Beiträge von [LSC]PsychoX

    Sobald du auf dem Forum von deinem Server oder Generell für deinen Server beispielsweise Premium anbietest, Brauchst du ein Kleingewerbe.


    Um dies einfach zu umgehen, biete einfach nichts gegen Echtem Geld an, sondern einfach nur Ingame Money.


    Sprich statt 5 Euro für 1 Monat Premium, einfach 10 Millionen Ingame für 1 Monat Premium..




    Kurzfassung:


    Geld verdienen = Kleingewerbe
    Kein Geld verdienen = Kein Kleingewerbe

    Mach mal um die "Buttons" Forum, Mitglieder, Erfolge etc... einen kleinen Rahmen drum, oder etwas wodurch man erkennt, wo die "Button's" getrennt werden. Und die Schriftfarbe passt wie ich finde nicht zum Background-Bild :thumbup:


    Wie der über mir schon sagte, wenn du Der Rahmen um den Button's würde jetzt schon viel ausmachen, und lässt das ganze Schöner aussehen.


    Die Schriftfarbe in eine Passende farbe, am besten versucht du mal du Komplimenterfarbe Dieses Backgrounds aus.


    Soweiß sieht das schonmal ganz manierlich aus :)


    Noch ein wenig Übung, ich ich denke das du das wirklich gut machen wirst. :thumbup:



    Den einzigsten den ich so kenne ist convertffs


    Musste mal Google benutzen. link stell ich mal aus Sicherheit nicht rein :D

    Frauen waren nie gute Designer :P



    Darf ich dich fragen was das mit "Frauen" zutuhn hat?


    Meine Frau ist selbst Designerin, und ihre Grafiken für Webseiten sehen verdammt gut aus.



    Ich geb erstmal nur 5/10 für dein Design Melina.
    Warum erklärt sich folgendermaßen,


    - Die Farbe blau ist halt Komplett Durchgehend.
    - Die verschiedenen Foren sicht nicht getrennt voneinander.


    Sonst so von Oben siehts erstmal nicht schlecht aus, es gibt aber viele verbesserungen..


    Hoffe die Kritik ist gerechtfertigt.

    Abend.. ich weiß zwar das das was ich machen will in den Folgenden codes eingebaut ist, aber wollte halt erstmal das sstem testen..


    Ich schick euch erstmal einige Codes
    enum TicketStats
    {
    TicketOwner[MAX_PLAYER_NAME],
    TicketText[256],
    TicketArt,
    TicketStatus,
    TicketBearbeiter[MAX_PLAYERS]
    };
    new Ticket[MAX_PLAYERS][TicketStats];


    public OnPlayerText(playerid, text[])
    {
    if(Ticket[playerid][TicketStatus] == 3)
    {
    new adminname[MAX_PLAYER_NAME], xid, string[128];
    xid = Ticket[playerid][TicketBearbeiter];
    GetPlayerName(playerid, adminname, sizeof(adminname));
    format(string, sizeof(string), "%s %s", adminname, text);
    SendClientMessage(xid, COLOR_GRAU, string);
    SendClientMessage(playerid, COLOR_GRAU, string);
    return 0;
    }
    if(Ticket[playerid][TicketStatus] == 2)
    {
    new spielername[MAX_PLAYER_NAME], xid, string[128];
    xid = Ticket[playerid][TicketBearbeiter];
    GetPlayerName(playerid, spielername, sizeof(spielername));
    format(string, sizeof(string), "%s %s", spielername, text);
    SendClientMessage(xid, COLOR_GRAU, string);
    SendClientMessage(playerid, COLOR_GRAU, string);
    return 0;
    }


    return 1;
    }


    if(strcmp(cmdtext,"/tickets",true) == 0)
    {
    if(pInfo[playerid][pAdmin] > 0)
    {
    new string1[256];
    SendClientMessage(playerid, COLOR_ORANGE, "------Ticketsystem-----");
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(Ticket[i][TicketStatus] == 1)
    {
    format(string1, sizeof(string1), "[TicketID: %d | Ersteller: %s | Frage: %s ]", i, Ticket[i][TicketOwner], Ticket[i][TicketText]);
    SendClientMessage(playerid, COLOR_ORANGE, string1);
    }
    }
    }
    else return SendClientMessage(playerid,COLOR_GRAU,"Du bist kein Admin!");
    return 1;
    }


    ocmd:ct(playerid,params[])
    {
    new xid;
    if(Ticket[playerid][TicketStatus] == 3)
    {
    Ticket[xid][TicketStatus] = 0;
    Ticket[playerid][TicketStatus] = 0;
    new adminname[MAX_PLAYER_NAME],spielername[MAX_PLAYER_NAME], string[128];
    GetPlayerName(playerid, adminname, sizeof(adminname));
    GetPlayerName(xid, spielername, sizeof(spielername));
    format(string, sizeof(string), "%s hat dein Ticket geschlossen!", adminname);
    SendClientMessage(xid, COLOR_GRAU, string);
    SendClientMessage(playerid, COLOR_GRAU, "Du hast das Ticket geschlossen!");
    KillTimer(HaveTicketTimer(xid));
    }
    else return SendClientMessage(playerid,COLOR_GRAU,"Du hast kein offenes Ticket!");
    return 1;
    }
    ocmd:at(playerid,params[])
    {
    new xid, adminname[MAX_PLAYER_NAME], spielername[MAX_PLAYER_NAME], string[128];
    GetPlayerName(playerid, adminname, sizeof(adminname));
    GetPlayerName(xid, spielername, sizeof(spielername));
    if(Ticket[xid][TicketStatus] != 1) return SendClientMessage(playerid, COLOR_GRAU, "Ticket nicht vorhanden oder bereits in Bearbeitung.");
    else
    {
    format(string, sizeof(string), "%s hat dein Ticket angenommen.", adminname);
    SendClientMessage(xid, COLOR_ORANGE, string);
    format(string, sizeof(string), "Du hast das Ticket von %s angenommen.", spielername);
    SendClientMessage(playerid, COLOR_ORANGE, string);
    Ticket[xid][TicketStatus] = 2;//user
    Ticket[xid][TicketBearbeiter] = playerid;
    Ticket[playerid][TicketStatus] = 3;//ich
    Ticket[playerid][TicketBearbeiter] = xid;
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(pInfo[i][pAdmin] > 0)
    {
    format(string, sizeof(string), "%s hat das Ticket von %s angenommen [TicketID: %d]", adminname, spielername, xid);
    SendClientMessage(i, COLOR_ORANGE, string);
    }
    }
    }
    return 1;
    }
    ocmd:report(playerid,params[])
    {
    new sendername[MAX_PLAYER_NAME], str1[256], reason[128];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    Ticket[playerid][TicketOwner] = sendername;
    if(sscanf(params,"s",reason))return SendClientMessage(playerid,COLOR_GRAU,"Fehler: /report [Text]");
    {
    if(HaveTicket == 0)
    {
    format(str1, sizeof(str1), "%s", reason);
    Ticket[playerid][TicketText] = str1;
    Ticket[playerid][TicketArt] = 1;
    Ticket[playerid][TicketStatus] = 1; // Status 1 = ertsellt | 2 = angenommen | 0 = keiner
    SendClientMessage(playerid,COLOR_GRAU,"{AAFFCC}Dein Ticket wurde erstellt..");
    SendClientMessage(playerid,COLOR_GRAU,"{AAFFCC}Wenn das Ticket nach 5 min. nicht beantwortet wird, wird dieses automatisch gelöscht");
    HaveTicket = 1;
    SetTimer("HaveTicketTimer", 300000, 0);
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(pInfo[i][pAdmin] > 0)
    {
    format(str1, sizeof(str1), "%s hat folgendes Ticket erstellt: %s [TicketID:%d] ", sendername, reason, playerid);
    SendClientMessage(i, COLOR_ORANGE, str1);
    }
    }
    }
    else
    {
    SendClientMessage(playerid,0xAA3333FF,"Du hast schon ein Ticket erstellt!");
    Ticket[playerid][TicketArt] = 0;
    Ticket[playerid][TicketStatus] = 0;
    }
    }
    return 1;
    }


    Und zwar möchte ich das ich mit /at das Ticket annehme, was zuerst geschrieben wurde.. ein kleines Beispiel..


    User 1 hat Report und hat Ticketid 0
    user 2 hat Report und hat Ticketid 1
    und so weiter bis 100 oder whatever


    ich weiß nur nicht wie ich bei /Report und bei /at das einstelle.. bei /ct soll er natürlich das Ticket mit der Ticketid löschen..


    Könnt ihr mir da helfen? ich verzweifel langsam..


    //edit was hinzugefügt

    Malzeit..


    ocmd:report(playerid,params[])
    {
    new sendername[MAX_PLAYER_NAME], str1[256], reason;
    GetPlayerName(playerid, sendername, sizeof(sendername));
    Ticket[playerid][TicketOwner] = sendername;
    if(sscanf(params,"s",reason))return SendClientMessage(playerid,COLOR_GRAU,"Fehler: /report [Text]");
    {
    if(HaveTicket == 0)
    {
    format(str1, sizeof(str1), "%s", reason);
    Ticket[playerid][TicketText] = str1;
    Ticket[playerid][TicketArt] = 1;
    Ticket[playerid][TicketStatus] = 1; // Status 1 = ertsellt | 2 = angenommen | 0 = keiner
    SendClientMessage(playerid,COLOR_GRAU,"{AAFFCC}Dein Ticket wurde erstellt.");
    SendClientMessage(playerid,COLOR_GRAU,"{AAFFCC}In 5 Minuten kannst du wieder ein Ticket erstellen!");
    HaveTicket = 1;
    SetTimer("HaveTicketTimer", 300000, 0);
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(pInfo[i][pAdmin] >= 1)
    {
    format(str1, sizeof(str1), "%s hat folgendes Ticket erstellt: %s [TicketID:%d] ", sendername, reason, playerid);
    SendClientMessage(i, COLOR_ORANGE, str1);
    }
    }
    }
    else
    {
    SendClientMessage(playerid,0xAA3333FF,"Du hast schon ein Ticket erstellt!");
    Ticket[playerid][TicketArt] = 0;
    Ticket[playerid][TicketStatus] = 0;
    }
    }
    return 1;
    }


    Die Problemzeile ist diese
    format(str1, sizeof(str1), "%s hat folgendes Ticket erstellt: %s [TicketID:%d] ", sendername, reason, playerid);


    Wenn ich beispieltweile /Report Test mache, gibt er den String Inmage folgendermasen wieder: SpielerName hat folgendes Ticket erstellt: TTest[TicketID:0]


    Warum gibt er im reason Zweimal das T ein? ich schreib es doch nur einmal..


    Hoffe auf Hilfe :)

    Du kannst wenn der Admin das Ticket annimmt für beide Spieler eine Variabel hochschalten und diese dann über ONPlayertext abfragen damit der ChatRadius (sofern du einen hast) entfernt wird und dann sendest du diese Message auch nur den beiden Spielern zu..



    Sprich wenn der Chatradius bei 0 Liegt, aber beide eine Variable hochgeschalten haben, das nur die es auch lesen können oder? egal aus welcher Entfernung.

    ich hab jetzt jier großartig nichts im Forum gefunden, und habe mal so ne Frage..



    ich wollte n bestimmtes System erstellen, wo 2 Spieler in einen ich sag mal Livechat kommen..


    Er Erklär ich mal genau..



    Anstatt z.b /Report text zu nehmen und mir /aw oder /sup zu Antworten, möchte ich das Diese beiden Spieler.. also der Spieler der /Report benutzt hat, und der der den Report angenommen hat, ohne /sup oder /aw schreiben können.. so wie in einem Globalchat, nur Privat.. Das nur diese beiden User sehen können, was sie schreiben.. Wenn aber 2 oder den Chat benutzen


    bsp: User und Admin und User und Admin, sollen diese in Getrennten Chats sein.. das lässt sich denkemal mit einer Forschleife machen..


    Kann mir einer Erklären (n wenig ausführlicher mit Beispiel) wie ich sowas anstelle?


    Ich bedanke mich schonmal

    Muss doch nochmal Stören..



    (1593) : warning 213: tag mismatch
    (2614) : warning 213: tag mismatch
    (2618) : warning 213: tag mismatch
    (2619) : warning 213: tag mismatch
    public IsPlayerDesktop()
    {
    return 1;
    }
    public OnPlayerUpdate(playerid)
    {
    return 1;
    }


    Was issn da falsch? -.-


    Hab oben
    new Desktop[MAX_PLAYERS];
    new afklabel[MAX_PLAYERS];
    und bei OnGameModeInit
    SetTimer("IsPlayerDesktop",1000,1);


    //edit: Wegen C&P Sachen entfernt

    if(strcmp("/gotobsn", cmdtext, true, 10) == 0)
    {
    if(pInfo[playerid][pAdmin] >= 1)
    {
    if (IsPlayerInAnyVehicle(playerid))
    {
    SetVehiclePos(GetPlayerVehicleID(playerid),1212.7854,-885.9028,42.9159);
    SendClientMessage(playerid, COLOR_GRAU, "Du hast dich Teleportiert! Nutze dies nicht aus.");
    return 1;
    }
    else
    {
    SetPlayerPos(playerid, 1212.7854,-885.9028,42.9159);
    SendClientMessage(playerid, COLOR_GRAU, "Du hast dich Teleportiert! Nutze dies nicht aus.");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAU,"Du bist kein Admin!");
    }
    return 1;
    }


    //edit Pawnquellcode..

    Morgen--


    Meine Frage ist nur, wie schreib ich n Funktionierendes Timeban System, wo ich in Sekunden, Minuten, Stunden, Tagen, Monaten oder auch in Jahre bannen kann?


    ich hab das schon mal versucht, aber da kahm nur schrott bei raus, kann mir jemand nur sone kleine Vorlage geben?


    MfG: Mike.

    Ihr habt alle so geile Tiere eh xD



    ich hab nur son kleinen Goldhamster weil ich für andere Tiere keine Zeit habe wegen arbeit (5-Schichtsystem..)



    Foto hab ich leider nicht.. Aber ihr wisst ja wie Goldhamster aussehen..