Beiträge von IPrototypeI

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums

    Ich muss sagen im vergleich zu den anderen Designs(abgesehen von dem Metin Design das gefällt mir auch) , welche du gemacht hast hast du dich in dem Bereich gesteigert.


    Jedoch paar kleine Kritikpunkte:
    - Dein Logo Mert Roleplay könntest du anders gestalten das ist nicht so passend zum Design
    - Aus dem Schatten bei Mitglieder und Anderes würde ich eine Vertiefung machen also einfach die Farbe von dunkelblau ins helle ändern. So wie du es bei dem active- Button gemacht hast
    - Beim Footer ist die rechte person etwas rein geklatscht das passt hier nicht von den Maßen
    - Die Person über dem mainmenu könntest du noch mehr einarbeiten und gegebenfalls ersetzen da ich finde das Gay Tony einfach nix mit GTA 5 zu tun hat.


    Was mir gut gefällt ist der containerheader und die Farbwahl.

    klein = Ich weiss nicht wie viel pixel aber wenn du halt ein HD-Screen hast, dass ich das Logo unten links in die Ecke einfügen kann...also ich glaube (bin mir nicht sicher) so in der Größe 128x128 px?
    groß = mir reicht das was du gepostet hast, vllt sogar noch ein tick größer...


    Klein:
    Größe: 183 x 128 pixels, die 183px in der Breite da es nicht zu gequetscht aussieht




    Groß:

    Größe: 310 x 238 pixel um 20 Pixel erhöht



    Viel Spaß mit dem Logo
    Mit freundlichen Grüßen IPrototypeI.


    Wenn ich vllt maße bekommen könnte wäre ich zufrieden und kann das gleich machen weil unter groß und klein kann man viel verstehen ^^


    Ahja zum Theme ineinander meinst du so

    Ich weiß es auch nicht.
    Vielleicht liegt es daran, dass Signaturen, Wallpaper oder Artworks von der Arbeit her trennen, als bei einem Webdesign.
    Zudem glaube ich, dass ich vielleicht besser bin in Signaturen machen als Webdesigns zu erstellen.
    Ich weiß nicht, wie ich z.B bei Webdesigns anfangen soll.Dort muss ich nicht solche Effekte etc. machen
    wie bei einer Signatur oder Sonstigem.
    Danke dir :)

    Bei den Webdesigns hat man genau so viele Freiheiten wie bei einer Signatur oder einem Artwork es kommt natürlich immer drauf an auf was man so aus ist ob es eher schlicht sein soll oder schon etwas ausgefallen solang die Farbkombination am schluss passt du kannst ja zum beispiel mit dem backgorund erstmal anfangen und paar Clandesigns auf Devianart anschauen.


    Was ich noch vergessen habe zur Signatur die ist wirklich gut :thumbup:

    Ich weiß nicht für mich bist du irgendwie ein Phänomen.
    Da zum einem deine Werke richtig gut aussehen, wie deine Signaturen(deine neueren),Wallpapper und Artworks(dein zweites) und zum anderen gibts Werke von dir. Wo du so richtig verkackst zum Beispiel deine Enterpage oder Webdesigns.


    Da würde ich mir von dir wünschen das du als Designer auf diesem Level bleibst und nicht immer wieder einknickst.


    Ist die Methode neu? Habe sowas noch nie gesehen :D
    Wie funktioniert das?


    xD die gibt es schon immer


    Das ganze funktioniert so das du einem callback oder einer funktion ein status geben kannst den du mit state Beispiel:status
    setzen kannst. Sollte die Funktion aufgerufen werden so wird nur die aufgerufen welche den jeweilgen status beinhaltet. Also kannst du mehrmals eine funktion damit verwenden das ganze nennt sich state maschine oder automata.
    Der Vorteil ist das du damit funktionen besser hooken kannst da somit deine gehookte version als erstes aufgerufen wird.
    und memory sparst du auch und damit globale variabeln.
    Was auch noch zu wissen ist das es eine spezielle funktion gibt wie main names entry die wird aufgerufen wenn du ein status veränderst

    das liegt daran das ich GetPlayerName raus gekickt habe und mir das nicht aufgefallen ist und da dies wahrscheinlich als globalen string definiert hast ergibt das auch kein error
    als undefines symbol

    if(strcmp("/admins", cmd, true) == 0)
    {
    SendClientMessage(playerid, COLOR_GREY, "Admins Online:");
    new AdminRangName[25],i,pName[MAX_PLAYER_NAME];
    for(; i != MAX_PLAYERS; ++i){
    if(!IsPlayerConnected(i)|| PlayerInfo[i][pAdmin] == 0 || AFKModus[i] == 1 || PlayerInfo[i][pAdmin] > 1338)continue;
    switch( PlayerInfo[i][pAdmin]){
    case -1:AdminRangName = "Beschwerdemoderator";
    case 1:AdminRangName = "Supporter";
    case 2:AdminRangName = "OberSupporter";
    case 3:AdminRangName = "Moderator";
    case 4:AdminRangName = "SuperModerator";
    case 5:AdminRangName = "Admin";
    case 6:AdminRangName = "SuperAdmin";
    case 1337: AdminRangName = "Fulladmin";
    }
    GetPlayerName(i,pName,MAX_PLAYER_NAME);
    format(string, sizeof(string), "%s: %s[%d]", AdminRangName, pName,i);
    SendClientMessage(playerid, COLOR_GREY, string);
    }
    return 1;
    }

    Jo danke erstmal =).


    Heißt jetzt dass die r33 zu empfehlen ist, oder soll ich was anderes nehmen? Wie wende ich es ein... Wäre nett wenn dus mir auch kurz erklärenkönntest =)


    Nach meinen tests ist das MySQL Plugin am schnellsten. Klar sollte man die neuste Version benutzen da hier auch die vorherigen Bugs gefixxt und neuere Funktionen enthalten sind zu dem wurde die performance noch verbessert siehe changelog was alles verändert , hinzugefügt wurde.
    https://code.google.com/p/sa-mp-mysql-plugin/source/list


    Die Verwendung siehst du in den zwei tutorials
    [ SCRIPTING ] MySQL Registersystem [BlueG R8+ (R26)]


    und seit der r 33 Version gibt es das ORM System was den leuten noch mehr erleichtern soll durch das selbstständige generieren der querys also des SQL Befehls.
    Das kannst du mit den MySQL Funktionen vergleichen von maddin nur das diese effizienter sind und anders arbeiten.
    [ SCRIPTING ] Das ORM-System (BlueG's MySQL Plugin R33+)

    Hier



    native IsValidVehicle(vehicleid);
    if(strcmp(cmd, "/dtc", true) == 0)
    {
    if(PlayerInfo[playerid][pAdmin] < 1338)return SendClientMessage(playerid, COLOR_GRAD1, " Das darfst du nicht tun!");
    for(new i, j = sizeof(CreatedCars); i != j; ++i){
    if(!IsValidVehicle(CreatedCars[i]))continue;
    DestroyVehicle(CreatedCars[i]);
    }
    SendClientMessage(playerid, COLOR_GREY, " Fahrzeug erfolgreich zerstört !");
    CreatedCar = 0;
    return 1;
    }


    Die Fahrzeug id welche zurück gegeben wird Beispiel: bei CreateVehicle kann auch 200 sein falls du davor schon 199 Fahrzeuge hast. Daher speicherst du die di des Fahrzeuges in dem Array zwischen und daher musst du das auch durchgehen. sonst entfernst du nur die anderes fahrzeuge und um abzuprüfen ob ein fahrzeug existiert gibt es das native
    native IsValidVehicle(vehicleid); war jedoch nicht standartmäßig in der a_samp include enthalten ist.

    danke für den /usedrugs Befehl klappt perfekt aber der /admins befehl zeigt dann an :Name[0] :Name[1] :Name[2] :Name[3] Projektleiter:Name[4]
    Die IDs 0-3 sind Bots und ich musste case default: AdminRangName = "Unknown"; rauslöschen weil es ein error angezeigt hat


    if(strcmp("/admins", cmd, true) == 0)
    {
    SendClientMessage(playerid, COLOR_GREY, "Admins Online:");
    new AdminRangName[25],i;
    for(; i != MAX_PLAYERS; ++i){
    if(!IsPlayerConnected(i)|| PlayerInfo[i][pAdmin] == 0 || AFKModus[i] == 1 || PlayerInfo[i][pAdmin] > 1338)continue;
    switch( PlayerInfo[i][pAdmin]){
    case -1:AdminRangName = "Beschwerdemoderator";
    case 1:AdminRangName = "Supporter";
    case 2:AdminRangName = "OberSupporter";
    case 3:AdminRangName = "Moderator";
    case 4:AdminRangName = "SuperModerator";
    case 5:AdminRangName = "Admin";
    case 6:AdminRangName = "SuperAdmin";
    case 1337: AdminRangName = "Fulladmin";
    }
    format(string, sizeof(string), "%s: %s[%d]", AdminRangName, sendername,i);
    SendClientMessage(playerid, COLOR_GREY, string);
    }
    return 1;
    }


    Deine Bots werden doch wohl kein Adminlevel haben sonst fügst du einfach IsPlayerNPC(i) hinzu bei der if abfrage


    Heißt jetzt was also wie viele Plugins es gibt und was es bringt R8 und r 33??
    Wäre nett wenn du mir das nochmal erklären würdest...


    Es sind einfach die versions nummern MySQL R8 oder MySQL R33 es ist ja klar das die gefolgte Zahl nach dem r hier 33 und 8 die höhere die aktuellere Version ist.

    Du brauchst nur mal in die Tutorialsektion schauen


    [ SCRIPTING ] MySQL Registersystem [BlueG R8+ (R26)]


    und für die neue ORM funktion wo dazu kam


    [ SCRIPTING ] Das ORM-System (BlueG's MySQL Plugin R33+)


    Zu dem sollte man noch erwähnen das dieser Herr Maddinat0r der weiterentwickler des Plugins ist, daher könnte man in kontaktieren sollte es Bugs am Plugin geben.


    Die R8 version war der nachfolger der R7 und wurde von BlueG releast war jedoch ziemlich buggy.
    Das aktuellste Plugin ist das wo du runtergeladen hast die bezeichnung ist ja eigentlich ob ein großes r oder ein kleines r dran steht. steht beides für resvision also zu deutsch Überarbeitung.


    Hier wäre es eher sinnvoller gewesen state zu nutzen.



    public OnPlayerCommandText(playerid, cmdtext[])<STATUS:OFF> {
    if(!strcmp(cmdtext,"/commandoff",false))return state STATUS:ON,SendClientMessage(playerid,-1,"Du hast die Befehle wieder angeschalten!");
    return SendClientMessage(playerid,-1,"Die Befehle wurden ausgeschalten!");
    }



    public OnPlayerCommandText(playerid, cmdtext[])<STATUS:ON> {
    if(!strcmp(cmdtext,"/commandoff",false))return state STATUS:OFF, SendClientMessage(playerid,-1,"Du hast die Befehle wieder ausgeschalten!");
    return 1;
    }



    oder auch vereinfacht
    state (!strcmp(cmdtext,"/commandoff",false)) STATUS:OFF;
    was jedoch UNKNOWN command ausgibt