Beiträge von Deadmau5

    Zitat

    DirectX [dɪˈrɛkt ɛks (AE) bzw. 'daɪrɛkt ɛks (BE)] ist eine Sammlung COM-basierter Programmierschnittstellen (englisch Application Programming Interface, kurz API) für multimediaintensive Anwendungen (besonders Spiele) auf der Windows-Plattform und kommt auch auf der Spielekonsole Xbox zum Einsatz.


    Die DirectX-Sammlung von Software-Komponenten deckt nahezu den gesamten Multimediabereich ab. Vorrangig kommt es zum Einsatz bei der Darstellung komplexer 2D- und 3D-Grafik, bietet aber auch Unterstützung für Audio, diverse Eingabegeräte (zum Beispiel Maus, Joystick) und Netzwerkkommunikation.

    Versuchs mal so ;)



    if(oldstate == PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_ONFOOT)
    {
    new id=GetPlayerVehicleID(playerid);
    if(InSupCar[playerid]==1)
    {
    DestroyVehicle(id);
    }
    }


    Wird die Variable denn auch auf 1 gesetzt, wenn du das Supcar betrittst?

    Code
    [pwn]QUELLCODE[/pwn]


    ^^



    Keine Ahnung, ob das was bringt, aber versuchs mal so:

    stock Login(playerid,key[])
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
    {
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    SendClientMessage(playerid,Grün,"Du hast dich Erfolgreich eingeloggt");
    }
    else
    {
    SendClientMessage(playerid,Rot,"Falsches Passwort.!!!");
    ShowPlayerDialog(playerid,LOGIN,DIALOG_STYLE_INPUT,"Login","Gib bitte dein Passwort ein um dich einzuloggen.","Login","Abbrechen");
    }
    return 1;
    }


    Außerdem wäre es mal gut, wenn du uns die Errors (UND DIE DAZUGEHÖRIGEN ZEILEN) posten würdest ;)

    Das Original wäre hier ;)
    Fängste einfach mal von 0 an :P



    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if ((newkeys==KEY_ACTION)&&(IsPlayerInAnyVehicle(playerid))&&(GetPlayerState(playerid)==PLAYER_STATE_DRIVER))
    {
    if (GetVehicleModel(GetPlayerVehicleID(playerid)) == 525)
    {
    SendClientMessage(playerid,0xFFFF00AA,"trying to tow a car");
    new Float:pX,Float:pY,Float:pZ;
    GetPlayerPos(playerid,pX,pY,pZ);
    new Float:vX,Float:vY,Float:vZ;
    new Found=0;
    new vid=0;
    while((vid<MAX_VEHICLES)&&(!Found))
    {
    vid++;
    GetVehiclePos(vid,vX,vY,vZ);
    if ((floatabs(pX-vX)<7.0)&&(floatabs(pY-vY)<7.0)&&(floatabs(pZ-vZ)<7.0)&&(vid!=GetPlayerVehicleID(playerid)))
    {
    Found=1;
    if (IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid)))
    {
    DetachTrailerFromVehicle(GetPlayerVehicleID(playerid));
    }
    AttachTrailerToVehicle(vid,GetPlayerVehicleID(playerid));
    SendClientMessage(playerid,0xFFFF00AA,"Car towed!");
    }
    }
    if (!Found)
    {
    SendClientMessage(playerid,0xFFFF00AA,"There is no car in range.");
    }
    }
    }
    }


    //EDIT: Achja, versuch mal das ganze mit "Quellcode" und nich mit "Editor" zu machen ;)
    Dann geht das auch :D

    MoveObject


    0.3c und drunter:

    Parameters:


    (objectid, Float:X, Float:Y, Float:Z, Float:Speed)



    objectid The objectid you want to move.
    Float:X The new X coordinate.
    Float:Y The new Y coordinate.
    Float:Z The new Z coordinate.
    Float:Speed The speed at which to move the object.


    0.3d+

    Parameters:


    (objectid, Float:X, Float:Y, Float:Z, Float:Speed, Float:RotX = -1000.0, Float:RotY = -1000.0, Float:RotZ = -1000.0)



    objectid The objectid you want to move.
    Float:X The new X coordinate.
    Float:Y The new Y coordinate.
    Float:Z The new Z coordinate.
    Float:Speed The speed at which to move the object (In units per second).
    Float:RotX The new X rotation (optional).
    Float:RotY The new Y rotation (optional).
    Float:RotZ The new Z rotation (optional).


    (
    if(response==0)
    (
    SendClientMessage(playerid,BLAU,"Du hast den Vorgang abgebrochen.");
    Kick(playerid);

    Schau mal genau hin :D
    Du erkennst ( oder?
    Ersetz mal die ( durch { , also so:

    {
    if(response==0)
    {
    SendClientMessage(playerid,BLAU,"Du hast den Vorgang abgebrochen.");
    Kick(playerid);


    Lesen bildet ;)
    Dir fehlt der Radius.
    So sollte es aussehen:
    Todlabel[playerid] = Create3DTextLabel(string, FARBE, X, Y, Z, 25);




    [MM]Marco:
    Versuchs mal so:

    if(strcmp(cmdtext,"/wiederbeleben",true)==0)
    {
    if(IsAMedic(playerid))
    {
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerTot[i] == 1)
    {
    if(IsPlayerInRangeOfPoint(playerid,2,TotX[i],TotY[i],TotZ[i]))
    {
    PlayerTot[i] = 0;
    Delete3DTextLabel(Todlabel[playerid]);
    //Raus aus Krankenhaus zeugs :D
    }
    }
    }
    }
    }
    }

    Und wenn du es unbedingt mit Gamtext machen willst, nimm das hier :)





    Oben im Script:

    new GebrauchName[MAX_PLAYERS][MAX_PLAYER_NAME],
    Float:TotX[MAX_PLAYERS],
    Float:TotY[MAX_PLAYERS],
    Float:TotZ[MAX_PLAYERS],
    PlayerTot[MAX_PLAYERS],
    TodText[MAX_PLAYERS][64];


    Bei OnPlayerConnect:

    GetPlayerName(playerid,GebrauchName[playerid],MAX_PLAYER_NAME);


    Bei OnPlayerDeath:

    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,X,Y,Z);


    TotX[playerid] = X;
    TotY[playerid] = Y;
    TotZ[playerid] = Z;
    PlayerTot[playerid] = 1;


    new string[128];
    format(TodText[playerid],128,"Dies ist die Leiche von %s.",GebrauchName[playerid]);


    Jetzt ist die Frage, hast du irgendwelche Timer?
    Wenn es ein Godfather Script ist, dann sollte ein Timer namens OtherTimer existieren.
    Da gehst du jetzt mal hin.
    Dort fügst du dazu:

    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i))
    {
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(i,X,Y,Z);
    if(PlayerTot[i] == 1)
    {
    if(IsPlayerInRangeOfPoint(i,2,TodX[i],TodY[i],TodZ[i]))
    {
    GameTextForPlayer(i, TodText[i], 5000, 4);
    }
    }
    }
    }


    Und das:

    if(strcmp(cmdtext,"/wiederbeleben",true)==0)
    {
    if(IsAMedic(playerid))
    {
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerTot[i] == 1)
    {
    if(IsPlayerInRangeOfPoint(playerid,2,TotX[i],TotY[i],TotZ[i]))
    {
    PlayerTot[i] = 0;
    //Raus aus Krankenhaus zeugs :D
    }
    }
    }
    }
    }
    }

    Kannste so lassen ^^


    Hoffe das passt so für dich ;D

    Mal so nebenbei


    Das:

    if(strcmp(cmd, "/iatm", true) == 0)
    {
    if(AtATM(playerid))
    {
    SendClientMessage(playerid, COLOR_RED, "Die Bankautomaten sind vorübergehend geschlossen!");
    return 1;
    }
    }

    Ist doch irgendwie unnötig :D

    public OnDialogResponse


    Muss doch irgendwo bei dir im Script sein...


    Also such mal:
    dialogid == BANK
    oder nur
    BANK.



    Poste dann den Abschnitt.

    Vielleicht morgen ^^
    Bin jetzt so müde... Schon fast am :sleeping:...


    Naja... ^^ Also du bist nicht richtig Schuld an den Bluescreens :D Eher mein PC ^^


    Außerdem ist der Text in meiner Signatur Uralt.... 4-5 Monate her xD