Beiträge von Kaliber

    Du verwendest SetTimerEx, damit übergibt man Variablen ;)


    Wenn in dem Callback "Tazer" der Parameter playerid steht, müsste der Timer z.B. so aussehen:


    SetTimerEx("Tazer", 10000, 0, "i", playerid);


    PS:


    TogglePlayerControllable(issuerid, 1);//1 = unfreeze, du musst da ne 0 machen für freeze


    mfg. :thumbup:

    So:


    dcmd:auto(playerid, params[])
    {
    new var[128];
    if(sscanf(params,"s",var)) return SendClientMessage(playerid,rot,"Verwendung: /auto [Licht/Motor]");
    if(strcmp(var,"Licht",true)==0)
    {
    //Wenn er Licht eingibt
    }
    else if(strcmp(var,"Motor",true)==0)
    {
    //Wenn er Motor eingibt
    }
    return 1;
    }


    mfg. :thumbup:

    Schreibe es so, ich beziehe mal Goldkillers Post mit ein:


    //oben in dein Script
    new m, m1;


    ocmd:move(playerid,params[])
    {
    if(IsPlayerInRangeOfPoint(playerid,5, 1587.0999755859, -1638.4000244141, 14.0))
    {
    if(!m)
    {
    m = 1;
    MoveObject(pdtor1,1587.0999755859, -1638.4000244141, 9.0, 5);
    }
    else if(m)
    {
    m = 0;
    MoveObject(pdtor1,1587.0999755859, -1638.4000244141, 14.0, 5);
    }
    }
    else if(IsPlayerInRangeOfPoint(playerid,5, 1587.0999755859, -1638.4000244141, 14.0))
    {
    if(!m1)
    {
    m1 = 1;
    MoveObject(pdtor1,1587.0999755859, -1638.4000244141, 9.0, 5);//hier musste die objectid noch ändern !
    }
    else if(m1)
    {
    m1 = 0;
    MoveObject(pdtor1,1587.0999755859, -1638.4000244141, 14.0, 5);//hier musste die objectid noch ändern !
    }
    }
    return 1;
    }


    mfg. :thumbup:


    //edit:
    ups ja, habe das eine else vergessen gehabt

    Das macht man am besten mit else if:


    ocmd:move(playerid,params[])
    {
    if(IsPlayerInRangeOfPoint(playerid,5, 1587.0999755859, -1638.4000244141, 14.0))
    {
    if(Spieler[playerid][Torstatus] == 0)
    {
    Spieler[playerid][Torstatus] = 1;
    MoveObject(pdtor1,1587.0999755859, -1638.4000244141, 9.0, 5);
    }
    else if(Spieler[playerid][Torstatus] == 1)
    {
    Spieler[playerid][Torstatus] = 0;
    MoveObject(pdtor1,1587.0999755859, -1638.4000244141, 14.0, 5);
    }
    }
    return 1;
    }


    mfg. :thumbup:

    ich weiß nicht wie ich am besten anfangen soll?
    kann mir bitte einer die grundfunktionen geben?
    würde ich auch belohnen!


    WTF, ich habe dir die Grundfunktionen doch gegeben :pinch:


    Noch ein Versuch, verstehst du es so besser:


    //hier halt mein enum


    //Der Ganze Befehl nochmal (in strcmp)
    if(strcmp(cmd, "/makeleader", true) == 0)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid,rot,"Verwendung: /makeleader [spielerid] [Frakid]");
    new pID, nummer;
    pID = strval(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid,rot,"Verwendung: /makeleader [spielerid] [Frakid]");
    nummer = strval(tmp);
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,rot,"Dieser Spieler ist nicht online !");
    if(nummer > 1 && nummer < 5)
    {
    new str[128], name[24], pname[24];
    GetPlayerName(pID, name, 24);
    GetPlayerName(playerid, pname, 24);
    format(str, 128,"Du hast Spieler %s zum Leader der id %d gemacht !",name,nummer);
    SendClientMessage(playerid,blau,str);
    format(str, 128,"Du wurdest von %s zum Leader der id %d gemacht !",pname,nummer);
    SendClientMessage(pID,blau,str);
    SpielerInfo[pID][sLeader] = nummer;
    return 1;
    }
    else return SendClientMessage(playerid,rot,"Diese Fraktionsid ist ungültig !");
    }


    //und hier mal ein spawn bsp
    public OnPlayerSpawn(playerid)
    {
    if(SpielerInfo[pID][sLeader] == 1)
    {
    //was passieren soll, wenn der Spieler in der Frak 1 ist
    }
    return 1;
    }
    Und dann noch einfach wie eine gewöhnliche Variable (wie z.B. dein Level oder dein Geld) abspeichern ;)


    mfg. :thumbup:

    naja mit diesem kleinen mini code kann ich nicht viel machen soweit war ich auch schon aber trotzdem danke!
    Und es ist kein *piep* GF es ist ein Selfmade!


    Wenn du ein "Selfmade" schreiben kannst, wieso schaffst du es dann nicht, einer einfachen Variable einen Wert zu geben :huh:

    Eine Fraktion ist nur eine Variable die einen bestimmten Wert hat, das solltest du nicht vergessen.
    Einfach eine Variable erstellen, meistens macht man das mit einem enum und speichert diese ab und bei makeleader gibt man dieser Variable einen Wert für die entsprechende Fraktion.


    Hier mal ein Bsp:


    enum sinfo {
    sLeader,
    sMember,
    sRang
    };
    new SpielerInfo[MAX_PLAYERS][sinfo];


    //bei makeleader
    SpielerInfo[playerid][sLeader] = 1;//playerid = Spieler der Leader werden soll
    Bitte nicht so einfügen, ich denke mal, das wirft dein GF durcheinander, orientiere dich bitte nur daran ^^


    mfg. :thumbup:

    Du musst die Funktion einfach in einen anderen Callback setzen ^^


    z.B. so:


    public OnPlayerConnect(playerid)
    {
    SetTimerEx("Aendern", 1000, 0, "i", playerid);
    return 1;
    }
    forward Aendern(playerid);
    public Aendern(playerid)
    {
    InterpolateCameraPos(playerid, 2050.978515, 1370.146484, 23.198675, 2084.997558, 1446.584228, 11.660942, 5000);
    InterpolateCameraLookAt(playerid, 2047.122680, 1367.145629, 22.136518, 2088.573730, 1450.074584, 11.493004, 5000);
    return 1;
    }


    mfg. :thumbup:

    So:


    ocmd:su(playerid,params[])
    {
    new pID, anzahl, grund[128];
    if(!IstSpielerEinFrak(playerid,1) || !IstSpielerEinFrak(playerid,2))return SendClientMessage(playerid,Grau,"Du bist nicht beim SAPD/FBI.");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,Grau,"Der Spieler ist nicht online.");
    if(sscanf(params,"uds",pID,anzahl,grund))return SendClientMessage(playerid,Grau,"Benutze: /su [ID/Teilname] [Anzahl] [Grund]");
    if(IstSpielerEinFrak(pID,1) || IstSpielerEinFrak(pID,2)) return SendClientMessage(playerid,Grau,"Du kannst einem Spieler der in der Fraktion 1 oder 2 ist keine Wanteds geben !");
    new string[128],string1[128];
    format(string,sizeof(string),"Du hast von %s %i Wanteds erhalten, Grund: %s",SpielerName(playerid),anzahl,grund);
    SendClientMessage(pID,Blau,string);
    format(string1,sizeof(string1),"Du hast %s %i Wanteds gegeben, Grund: %s",SpielerName(pID),anzahl,grund);
    SendClientMessage(playerid,Blau,string1);
    SetPVarInt(playerid,"Wanteds",GetPVarInt(playerid,"Wanteds")+anzahl);
    new sternstring[128];
    format(sternstring,sizeof(sternstring), "] %i", GetPVarInt(pID,"Wanteds"));
    TextDrawSetString(Wantedstern, sternstring);
    TextDrawShowForPlayer(pID, Wantedstern);
    return 1;
    }


    mfg. :thumbup:

    So:


    public OnPlayerExitVehicle(playerid, vehicleid)
    {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vehicleid,engine,lights,alarm,1,bonnet,boot,objective);
    return 1;
    }


    mfg. :thumbup: