Beiträge von Drebin

    Sowas von simpel und doch so genial. Finde ich wirklich gut,auf die Idee muss man erst mal kommen :).
    Mich würde mal ein Blick auf die Anderen Flaggen interessieren. Könntest du ein Screenshot mit allen Flaggen machen ? Hast du dazu eines der Image2Textdraw Tools benutzt ?


    Nein Image2Textdraw hab ich nicht benutzt. Ganz einfach aus dem Grund dass ich nicht 6514689419849 millionen Textdraws für nur eine Flagge haben wollte ;)


    Alle Flaggen: http://i965.photobucket.com/al…8/Marvin624/sa-mp-108.png

    Textdraw Länder Flaggen




    Übersicht


    Dieses Include bietet dir über 30 Länderflaggen als textdraws. Unter anderem enthalten: USA, Deutschland, Brazilien, Japan, China, Frankreich und viele mehr.




    Eine Flagge erstellen/anzeigen


    native TextDrawFlagShowForPlayer(playerid, flagtype, Float:X, Float:Y, clickable)


    playerid - Die ID des Spielers
    flagtype - Der type der Flagge den du zeigen willst
    Float:X - Die X Koordinate auf dem Bildschirm vom Spieler
    Float:Y - Die Y Koordinate auf dem Bildschirm vom Spieler
    clickable - Bestimmt ob man eine Flagge anklicken kann oder nicht




    Überprüfen ob eine Flagge angeklickt wurde


    Wenn eine bestimmte Flagge angezeigt wird und der clickable parameter ist auf 1, wird OnPlayerSelectPlayerTextDraw() aufgerufen:
    public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
    {
    if(playertextid == FLAG_GERMANY[playerid])
    {
    SendClientMessage(playerid, -1, "You have clicked on the flag of Germany!");
    }
    return 1;
    }
    (To select textdraws use SelectTextDraw




    Eine Flagge löschen/verstecken


    Um eine Flagge zu löschen benutze einfach:


    native TextDrawFlagHideForPlayer(playerid, flagtype);


    playerid - Die ID des Spielers
    flagtype - Der Flaggentyp den du löschen willst


    INFO: Du kannst nur jeweils eine Flagge von jedem Typ erstellen. Wenn eine Spieler beispielsweise bereits die Flagge von Deutschland auf seinem Bildschirm hat, kannst du nicht noch eine deutsche Flagge für ihn erstellen. Das verhindert dass die Textdraw IDs vertauscht werden.




    Eine Flagge platzieren


    Alle Flaggen haben die gleiche Größe. Um eine Flagge zu platzieren, benutze am besten Zamaroth's Textdraw Editor. Erstelle einen neuen Textdraw mit "_" als text. Setzt die Schriftgroße auf X 0.50 and Y 3.90. Schalte die Box ein und setze ihre Größe auf X 33.0 and Y 54.5. Setzt die ausrichtung ("alignment") auf 2. Du hast nun eine Box mit der exakten Größe der Flaggen. Jetzt kannst du ganz genau die Positionen bestimmen.




    Verfügbare Länder


    #define FLAG_TYPE_GERMANY 0
    #define FLAG_TYPE_NETHERLANDS 1
    #define FLAG_TYPE_RUSSIA 2
    #define FLAG_TYPE_AUSTRIA 3
    #define FLAG_TYPE_BULGARIA 4
    #define FLAG_TYPE_LITHUANIA 5
    #define FLAG_TYPE_ESTONIA 6
    #define FLAG_TYPE_LUXEMBOURG 7
    #define FLAG_TYPE_HUNGARY 8
    #define FLAG_TYPE_ARMENIA 9
    #define FLAG_TYPE_POLAND 10
    #define FLAG_TYPE_CZECH_REPUBLIC 11
    #define FLAG_TYPE_UKRAINE 12
    #define FLAG_TYPE_ITALY 13
    #define FLAG_TYPE_FRANCE 14
    #define FLAG_TYPE_IRELAND 15
    #define FLAG_TYPE_ROMANIA 16
    #define FLAG_TYPE_BELGIUM 17
    #define FLAG_TYPE_SWEDEN 18
    #define FLAG_TYPE_FINLAND 19
    #define FLAG_TYPE_DENMARK 20
    #define FLAG_TYPE_NORWAY 21
    #define FLAG_TYPE_ICELAND 22
    #define FLAG_TYPE_SPAIN 23
    #define FLAG_TYPE_USA 24
    #define FLAG_TYPE_SWITZERLAND 25
    #define FLAG_TYPE_ENGLAND 26
    #define FLAG_TYPE_CANADA 27
    #define FLAG_TYPE_BRAZIL 28
    #define FLAG_TYPE_TURKEY 29
    #define FLAG_TYPE_JAPAN 30
    #define FLAG_TYPE_CHINA 31
    #define FLAG_TYPE_ARGENTINIA 32
    #define FLAG_TYPE_PORTUGAL 33



    Download
    Via adf.ly


    Solidfiles
    Pastebin




    Notizen


    Aufgrund der begrenzten Möglichkeiten ist die flagge vom Vereinigten Königreich NICHT enthalten. Ich habe stattdessen die Flagge von England gemacht. DIe Australische und Neu Seeländische Flagge enthalten die Flagge des Vereinigten Königreiches, weshalb diese auch nicht enthalten sind.


    Falls du irgendwelche Flaggen die noch nicht enthalten sind dazu haben möchtest, schreib' mich an.



    Dieser Beitrag wurde aus dem Englischen übersetzt. Das Original findest du HIER. (ebenfalls von mir geschrieben)

    new bool:IstLabelAnOderAus[MAX_PLAYERS]; //GANZ OBEN im script
    new Text3D:SupporterLabel[MAX_PLAYERS];


    if (strcmp("/aauto", cmdtext, true, 10) == 0) //In OnPlayerCommandText
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    if(GetPlayerVehicleSeat(playerid) == 0)
    {
    if(IstLabelAnOderAus[playerid]) //IstLabelAnOderAus ist true (an), also label löschen
    {
    Delete3DTextLabel(SupporterLabel[playerid]);
    }
    else //IstLabelAnOderAus ist false (aus), also erstellen
    {
    SupporterLabel[playerid] = Create3DTextLabel("Supporter im Dienst", 0x000000FF, 0.0, 0.0, 0.0, 40.0, 0, 0);
    Attach3DTextLabelToVehicle(SupporterLabel[playerid], GetPlayerVehicleID(playerid), 0.0, 0.0, 0.0);
    }
    } else return SendClientMessage(playerid, -1, "Du bist nicht der Fahrer des Fahrzeugs");
    } else return SendClientMessage(playerid, -1, "Du bist in keinem Fahrzeug");
    return 1;
    }

    Wiki:ShowPlayerNameTagForPlayer(playerid, i, false);
    Mein Code:ShowPlayerNameTagForPlayer(i, playerid, false);


    Mein Code unterscheidet sich von dem aus der Wiki, demzufolge kann bei beiden Codes nicht das gleiche rauskommen.
    Versuch es doch einfach mal?


    Und ja, ich weiß was das heißt, ich kann englisch verdammt gut.

    new Text3D:Aduty[MAX_PLAYERS]; //GANZ OBEN im script


    //In OnPlayerCommandText
    if(strcmp("/aduty",cmdtext))
    {
    if(IsPlayerAdmin(playerid))
    {
    new pName[MAX_PLAYER_NAME];
    new string[48];
    GetPlayerName(playerid, pName, sizeof(pName));
    format(string, sizeof(string), "Admin %s ist nun OnDuty.", pName);
    SendClientMessageToAll(BLAU, string);
    Aduty[playerid] = Create3DTextLabel("Administrator!", BLAU, 30.0, 40.0, 50.0, 40.0, 0);
    Attach3DTextLabelToPlayer(Aduty[playerid], playerid, 0.0,0.0, 0.7);
    }
    return 1;
    }
    if(strcmp("/aoff",cmdtext))
    {
    if(IsPlayerAdmin(playerid))
    {
    new pName[MAX_PLAYER_NAME];
    new string[48];
    GetPlayerName(playerid, pName, sizeof(pName));
    format(string, sizeof(string), "Admin %s ist nun OffDuty.", pName);
    SendClientMessageToAll(BLAU, string);
    Delete3DTextLabel(Aduty[playerid]);
    }
    return 1;
    }

    Oh man....
    Bei if() Abfragen muss man imemrnoch mit Klammern arbeiten.


    if(strcmp("/aduty",cmdtext))
    {
    if(IsPlayerAdmin(playerid))
    {
    new pName[MAX_PLAYER_NAME]; //Zeile mit errors
    new string[48];
    GetPlayerName(playerid, pName, sizeof(pName));
    format(string, sizeof(string), "Admin %s ist nun OnDuty.", pName);
    SendClientMessageToAll(BLAU, string);
    }
    return 1;
    }

    if (strcmp("/aauto", cmdtext, true, 10) == 0)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    if(GetPlayerVehicleSeat(playerid) == 0)
    {
    new Text3D:vehiclelabel[MAX_PLAYERS];
    vehiclelabel[playerid] = Create3DTextLabel("Supporter im Dienst", 0x000000FF, 0.0, 0.0, 0.0, 40.0, 0, 0);
    Attach3DTextLabelToVehicle(vehiclelabel[playerid], GetPlayerVehicleID(playerid), 0.0, 0.0, 0.0);
    } else return SendClientMessage(playerid, -1, "Du bist nicht der Fahrer des Fahrzeugs");
    } else return SendClientMessage(playerid, -1, "Du bist in keinem Fahrzeug");
    return 1;
    }

    Oder die Werte in eine Excel-tabelle eingeben (bzw. reinkopieren) und zu jedem Wert dann den Verschiebungsfaktor dazurechnen. Dann das neu berechnete wieder rauskopieren und benutzen.

    if(strcmp(cmdtext,"/lcntor", true) == 0)
    {
    if(lcntorclose==true)
    {
    MoveObject(LCNTOR,8613, 926.70001220703, 2117.5, 4.199999809265,5.0);
    SendClientMessage(playerid, Rot,"Du hast das LCN Tor geöffnet. Bitte schließe es wieder.");
    lcntorclose=false;
    return 1;
    }
    else
    {
    MoveObject(LCNTOR,8613, 926.70001220703, 2117.5, 14.199999809265,5.0);
    SendClientMessage(playerid, Rot,"Du hast das LCN Tor geschlossen.");
    lcntorclose=true;
    return 1;
    }
    }

    Soweit ich weiß wird einem Spieler beim aufheben eines Waffen-pickups sofort die jeweilige Waffe gegeben.
    Du kannst es so machen, dass du wenn der Spieler auf "kaufen" klickt jediglich das Geld wegnimmst (weil er die Waffe ja schon im "Inventar" hat), und wenn er auf "abbrechen" drückt du ihm die jeweilige Waffe einfach wieder abnimmst.

    Prozent bedeutet pro hundert. D.h., wenn du dem Spieler 0,04% auszahlen willst, bekommt er 0,04 hundertstel der Kasse.
    Du rechnest also den Betrag in der Kasse durch 100 und nimmst diesen Wert mit 0,04 mal. Für Spieler mit höheren Ränken nimmst du natürlich 0,08 oder 0,20 oder was weiß ich. Du musst aber beachten, dass bei dieser Vorgehensweise die Spieler immer weniger Geld bekommen.
    Nehmen wir an, es sind 10.000$ in der Kasse. Spieler 1 bekommt 0,04% davon, also (10.000/100)*0,04 = 4$. Diese 4$ wurden ja nun von den 10.000$ ausbezahlt, deswegen sind nurnoch 9.996$ in der Kasse. Bekommt Spieler 2 jetzt sein Geld, erhält er aber 0,04% von den 9.996$, und nicht den vollen 10.000$ -> (9.996/100)*0,04 = 3.99$

    Wie man RP script anfangen sollte?
    Garnicht.


    Mal im Ernst, 95% der Server bleiben 24 Stunden am Tag bei 0 Spielern, und die Scripts, d.h. Inhalte, Konzepte und Umsetzung sind sowieso überall gleich.
    Lass es lieber, RP scripts anzufangen lohnt sich nicht.