Beiträge von FACE

    Du gibst doch den Wert 1 über das return zurück!
    Zurückgeben solltest du aber den Dialog, als "Fehlermeldung".

    {
    SendClientMessage(playerid,TÜRKIS,"Du hast ein falsches Passwort eingegeben, versuche es erneut.");
    return ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
    //Das ist doch stuß --> return 1;
    }

    Nächstes Problem....
    Nehmen wir mal an, es sei nicht allzuviel in der Kasse und wir haben eine Menge Spieler.
    Natürlich unter der Annahme, dass wir vorab für alle vom Gesamtbetrag die Einzelsummen berechnen.
    Sprich jeder ranggleiche kriegt den gleichen Betrag...


    So kann es sogar vorkommen, dass wir am Ende ein Minus in der Kasse haben.

    Es gibt doch die standartmäßige Class-Selection. Bau dir diese doch einfach passend um!?
    Falls du jedoch auf deinen "externen" Skinshop bestehst..


    Oben im Script:
    new bool:PlayerInSel[MAX_PLAYERS];//Spieler ist in Skinshop


    Wenn der Spieler den Server betritt (unter OnPlayerConnect), sowie beim Spawnen (unter OnPlayerSpawn):
    PlayerInSel[playerid]=false;//Spieler befindet sich nicht in Skinshop


    Nun checken wir die Tasten ab. Sollte er sich im Skinshop befinden und Leertaste drücken, gehen wir zum nächsten Skin.
    Dieser Code sollte dann unter "OnPlayerKeyStateChange(..)" kommen:
    if(PlayerInSet[playerid]==true){//Wenn Spieler in Skinshop, dann..
    if(newkeys & KEY_HANDBRAKE/*Leertaste*/){SetPlayerSkin(playerid,/*Weiß nicht, wie deine Skins hinterlegt sind. Array hochzählen lassen o.Ä...*/}
    if(newkeys & KEY_SECONDARY_ATTACK/*Enter*/){
    SetSpawnInfo(playerid,0,GetPlayerSkin(playerid),0.0,0.0,0.0,0.0,0,0,0,0,0,0);//Geben ihm den Skin.
    //Den Skin könnte man natürlich auch in einer Variable speichern und dann immer setzen oder sonstiges damit anstellen.
    PlayerInSel[playerid]=false;//Spieler jetzt nichtmehr in Skinshop..
    SpawnPlayer(playerid);//Wir spawnen den Spieler.
    }
    }


    Ein wenig umbauen und fertig..


    Eine wichtige Zeile fehlt jetzt noch..
    Solltest du den Standart Skin-Shop (Class-Selection) verwenden, solltest du unter OnPlayerRequestSpawn, das Spawning verhindern, wenn der Spieler keinen Skin ausgewählt hat.
    if(PlayerInSel[playerid]==true) return false;



    Quellen: RequestSpawn GetPlayerKeys KeyStateChange


    MFG FACE

    Sinnvoll wäre es dann noch, einen zweiten (muss kein toller super duper) Rechner mitzunehmen.
    Dann kann man mit 2 Accounts testen, sprich 2 Spielern, da es hin und wieder mal Probleme mit den IDs oder Funktionen zwischen Spielern geben kann.


    ;)

    Machen wir es doch nicht so umständlich:


    Wenn der Spieler connected, ist sein Score erstmal null, also fügen wir das ein.
    Unter dem Callback "OnPlayerConnect(..)" kommt dann Folgendes:
    SetPlayerScore(playerid,0);//Relativ selbsterklärend.


    Nun kommen wir zum hochzählen.
    Es gibt ein Callback, welches aufgerufen wird, wenn ein Spieler stirbt.
    Zum gestorbenen Spieler wird ein "Killer" genannt.
    Das Callback heißt "OnPlayerDeath(playerid,killerid,reason)"


    Unter diesem Callback setzen wir nun den Score unseres "Killers":

    SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
    /*Erster Wert ("killerid") --> Um welchen Spieler geht es .
    Zweiter Wert (GetPlayer.......+1) --> Wir lesen den aktuellen Stand des Scores aus und addieren 1 hinzu.*/


    Hoffe damit wäre der Sache dann Genüge getan.

    Servus,
    ich wollte mal wissen, ob irgendeiner von den DJs oder VA-Technikern schon Erfahrungen mit der Arena 12 Pro hat.
    Die Serie läuft ja nun aus und wird nichtmehr produziert.
    Da die Preise dann wahrscheinlich noch ein gutes Stück gen Keller gehen werden, überlege ich, mir dann welche anzuschaffen.


    Hinweis: Es geht nur um die Pro-Version, die normale ist uninteressant und steht nicht zur Debatte.


    Achso, interessant wäre es auch noch, zu erfahren, wie sich die Box schlägt, wenn 2 oder 3 Db-Tech Arena Sw 18 Pro (die 18" Bässe aus der Pro-Serie) unter dem Top stehen.


    Hier noch ein paar Links: Arena 12 Pro , Arena SW 18 Pro


    Hoffe, es gibt genug Leute, die schonmal damit gearbeitet haben.
    MFG FACE. :thumbup:

    Also erstmal sind das keine Subwoofer, sondern komplette 2.1 Systeme.
    Wenn es dir darum geht, die Wände wackeln zu lassen, solltest du dich von soetwas verabschieden und auf bessere Hifi, oder sogar PA setzen.
    Mit einem 4" Chassis wird da im Bass nicht allzuviel gehen.


    Um aber konkret auf deine Frage zu antworten: Das Hama -System.
    Grund: Bei solch günstigen Anlagen ist Leistung oft nicht zu unterschätzen.
    Bezüglich Klirr u.Ä. gibts leider nur schwammige oder keine Angaben.
    Nach Messschrieb (halfspace) muss man wohl erst garnicht fragen.


    Wie bereits angemerkt und heir nochmal verdeutlicht: Leistung ist zwar nicht alles, aber wir bewegen uns hier unter 30 Watt im Gesamtsystem, da sind 2-3 Watt schon ne ganze Menge. (Gerade bei solchen Günstigteilen)
    Merkt man auch schon am Gewicht der Hama, die ist nämlich deutlich schwerer. (Siehe Masse-Feder-System)


    Und @MrDubstep: Vergiss es, meine Anlage zieht deine ab ;) (Ist aber auch ein wenig unfair :D )

    Genau, du bist "sogar" 2050.
    Fragst aber ab, ob der Spieler genau den Level hat.
    Du kannst auch Level 580938409 haben und es würde nicht funktionieren :D

    params impliziert doch eigentlich die Bedingung im Command und bedarf doch der Regel gemäß keine weitere Teilung durch sscanf oder Ähnliches.
    Oder irre ich mich ?

    Du hast doch wohl eine Variable, die angibt, ob der Spieler sich auf dem Friedhof befindet.
    Also baust du noch eine kleine if-Abfrage drum.
    Fertig!

    Wenn du tot bist, schlägst du garniemanden.
    Ich verstehe offengestanden die Frage nicht ^^


    (Tot-->?!Respawn eigentlich)

    Ein String ist eine simple Zeichenkette. Also zum Beispiel "1497zdfkjh3" oder "Smördebröt, Smördebröt :D"


    strtock ist eine Funktion die sich auf Strings anwenden lässt. Damit lässt sich der Text nach einem Leerzeichen herausfiltern.
    Beispiel: "Mieze Katze" Du kriegst dadurch nur das Wort "Katze" ;)
    Oft genutzt für Commands mit Parametern ( Beispiel :( "/kick playerid"



    Meinte er jetzt "stock" oder "strtock" ?

    take a look again.. ;)


    Ich poste oft ersteinmal und bearbeite dann meine Beiträge, da ich momentan viele Internetausfälle zu verzeichnen habe.

    Unten im Sa-mp Wiki ist eine laaaaange Liste ;)
    http://wiki.sa-mp.com/wiki/GetPlayerKeys


    Daraus gehen folgende Keys hervor, die hierfür relevant sind:

    Zitat

    KEY_FIRE 4 ~k~~PED_FIREWEAPON~ ~k~~VEHICLE_FIREWEAPON~ LCTRL/LMB LALT


    Jetzt gehst du im Script in das Callback: "OnPlayerKeyStateChange" und fügst folgendes ein:

    if ((newkeys & KEY_FIRE) && !(oldkeys & KEY_FIRE)){TogglePlayerControllable(playerid, false);}//Wir freezen den Spieler, wenn er "feuer" drückt und hält.
    if ((oldkeys & KEY_FIRE) && !(newkeys & KEY_FIRE)){TogglePlayerControllable(playerid,true);}//Wir entfreezen den Spieler, wenn er "feuer" wieder loslässt.


    Entnommen aus Sa-mp Wiki (OnPlayerKeyStateChange)


    Bitteschön =)

    Oben im Script
    new bool:lcntorclose;//true=zu; false=offen (hey, das reimt sich ja :D)



    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, 4.199999809265,5.0);
    SendClientMessage(playerid, Rot,"Du hast das LCN Tor geschlossen.");
    lcntorclose=true;
    return 1;


    }
    }


    Setz halt noch deine Coords ein (sind ja zweimal die gleichen) und fertig!.
    Falls Bedarf setzt du halt noch die Admin-Abfrage mit rein. Basta!