Beiträge von Red_Romeo

    Da muss ich Eywa: zustimmen, das ist reines Grundwissen.
    Und das nächste mal wenn du schreibst 'Ich habe eine Frage', dann stell uns auch eine Frage und keine Aufgabe.
    B2W: Versuchs einfach das nächste mal selbst.


    Spoiler anzeigen

    #define DIALOG_GUTSCHEIN 734//Anpassen ???
    ocmd:gutschein(playerid)
    {
    ShowPlayerDialog(playerid, DIALOG_GUTSCHEIN, DIALOG_STYLE_INPUT, "Gutschein", "Bitte gebe dein Gutscheincode ein.", "Okay", "Abbrechen");
    return 1;
    }
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == DIALOG_GUTSCHEIN)
    {
    if(!response)return 1;
    if(!inputtext[0]) return ocmd_gutschein(playerid);
    new code[40];
    format(code, sizeof(code), "/codes/%s.txt", inputtext);
    if(!fexist(code)) return SendClientMessage(playerid, 0xFF0000FF, "Code existiert nicht.");
    new typ = dini_Int(code, "typ");
    new wert = dini_Int(code, "wert");
    new str[50];
    switch(typ)
    {
    case 1:
    {
    GivePlayerMoney(playerid, wert);
    format(str,sizeof(str),"Code eingelöst: %i$ bekommen.",wert);
    SendClientMessage(playerid,-1,str);
    }
    case 2:
    {
    PlayerInfo[playerid][pExp] = wert;
    format(str,sizeof(str),"Code eingelöst: %i Respektpunkte bekommen.",wert);
    SendClientMessage(playerid,-1,str);
    }
    case 3:
    {
    PlayerInfo[playerid][pDonateRank] = wert;
    format(str,sizeof(str),"Code eingelöst: Du hast Premium Level %i bekommen.",wert);
    SendClientMessage(playerid,-1,str);
    }
    case 4:
    {
    PlayerInfo[playerid][pAllowNeon] = 1;
    SendClientMessage(playerid,-1,"Code eingelöst: Du hast einen Neon Gutschein eingelöst.");
    ShowPlayerDialog(playerid, DIALOG_GUTSCHEINCARTAKE, DIALOG_STYLE_LIST, "Autoauswahl - Gutscheinsystem","~>~ Neon Fahrzeug ~<~\n","Auswählen", "Schlissen");
    }
    }
    fremove(code);
    }
    return 1;
    }

    Du erstellst die Variablen schon im Enum und kannst Sie deswegen nicht nochmal erstellen.


    Versuchs mal so

    ocmd:createbizz(playerid, params[])
    {
    new pPreis, lLevel, nName[64];
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    if(sscanf(params, "sdd", nName, pPreis, lLevel)) return SendClientMessage(playerid, -1,"Benutze:{FFFFFF} /createbizz [Name des Business] [Preis] [Level]");
    CreateBusiness(nName, X, Y, Z, "Der Staat", pPreis, lLevel);
    return 1;
    }
    stock CreateBusiness(Beschreibung[64], Float:X, Float: Y, Float: Z, bBesitzer[64], pPreis, lLevel)
    {
    new Businessdatei[64];
    for(new business = 1; business < 10; business++)
    {
    format(Businessdatei, 64, "/Bizz/%s.txt", Beschreibung);
    if(!fexist(Businessdatei))
    {
    dini_Create(Businessdatei);
    dini_Set(Businessdatei, "Name", Beschreibung);
    dini_FloatSet(Businessdatei, "PosX", X);
    dini_FloatSet(Businessdatei, "PosX", Y);
    dini_FloatSet(Businessdatei, "PosX", Z);
    dini_IntSet(Businessdatei, "Preis", pPreis);
    dini_IntSet(Businessdatei, "Level", lLevel);
    dini_IntSet(Businessdatei, "Konto", 0);
    dini_IntSet(Businessdatei, "Besetzt", 0);
    dini_Set(Businessdatei, "Besitzer", bBesitzer);
    return LoadBusiness(business);
    }
    }
    return 1;
    }

    Das Sind jetzt nicht alle Fehler die behoben wurden sind aber einige. Eventuell kommst du ja jetzt alleine weiter, ansonsten schick nochmal die Fehlermeldungen und beschreibe ggf die Zeilen oder nutze [pwn='Zeile'].

    Die Objekte brauchen ihre Zeit bis Sie dem Spieler angezeigt werden.


    if(newkeys == KEY_SECONDARY_ATTACK)
    {
    new HausID = GetNearHausID(playerid);
    new Float:hx, Float:hy, Float:hz, Float:ix, Float:iy, Float:iz;
    hx = Haus[HausID][hX],hy = Haus[HausID][hY],hz = Haus[HausID][hZ];
    ix = Haus[HausID][iX], iy = Haus[HausID][iY], iz = Haus[HausID][iZ];
    if(IsPlayerInRangeOfPoint(playerid, 2.0, hx, hy, hz))
    {
    SetPlayerInterior(playerid,Haus[HausID][hInteriorID]);
    SetPlayerPos(playerid, ix, iy, iz);
    TogglePlayerControllable(playerid, 0);
    SetTimerEx("Unfreeze", 2000, false, "i", playerid);
    SendClientMessage(playerid,0xFF0000FF,"[H-INFO]{FFFFFF} Haus wurde betreten.");
    }
    }
    forward Unfreeze(playerid);
    public Unfreeze(playerid)
    {
    TogglePlayerControllable(playerid, 1);
    return 1;
    }

    Einfach eins von beiden anders bennen


    Bsp:
    SetPlayerMoney(playerid,newmoney)
    {
    ResetPlayerMoney(playerid);
    GivePlayerMoney(playerid,newmoney);
    return 1;
    }

    Hier, ich habe dir zwei kleine Beispiele zusammen gebastelt.


    Beispiel I
    //Unter deinem Code, wenn der Spieler abgebremst werden soll
    SetVehicleVelocity(GetPlayerVehicleID(playerid), 0, 0, 0);//Kommt sofort zum stehen
    Beispiel II
    //Unter deinem Code, wenn der Spieler abgebremst werden soll
    TogglePlayerControllable(playerid, 0);//Spieler freezen | Fahrzeug wird abgebremmst (mit Reifen quietschen etc.)
    SetTimerEx("Unfreeze", 2000, false, "i", playerid);//Spieler in 2 sekunden unfreezen

    Beispiel II
    //Irgentwo im Script
    forward Unfreeze(playerid);
    public Unfreeze(playerid)
    {
    TogglePlayerControllable(playerid, 1);//Spieler unfreezen
    return 1;
    }

    Schau mal im "Teamspeak -> Einstellungen -> Plugins" hast du evtl. ein Plugin installiert welches den Ton leiser werden lässt ? (Glaube dass heißt 'Volume Sound')
    Entferne ggf. den hacken.


    //edit
    Grade nochmal den ersten Beitrag gelesen, schonmal das Kabel überprüft ?
    Lass ggf. mal Musik laufen oder so, ist es da der gleiche fall ?

    Ich weiß nicht, welchen Wert du der Variable 'fwduty[i]' setzt wenn man duty ist, aber 0 scheint mir etwas seltsam.
    Ich gehe einfach mal davon aus das wenn man duty ist das dort eins eingespeichert wird und nicht 0.


    Also änder folgendes:
    if(fwduty[i]==0) return 1;zuif(fwduty[i]==1) return 1;

    new Float:veh_health;
    GetVehicleHealth(GetPlayerVehicleID(player), veh_health);
    if(veh_health < 250)veh_health = 250;
    format(string,sizeof(string),"Zustand: ~g~%.0f %", (veh_health-250)/7.5);
    PlayerTextDrawSetString(playerid, tachozustand[playerid], string);

    Habe ich persönlich noch nie Benutzerdefiniert gesehen, da es ja in OnGameModeInit festgelegt wird und nicht beim Connecten.


    Allerdings habe ich mich grade einwenig in der samp wiki umgeschaut und bin auf AddPlayerClassEx gestoßen, damit kann man für bestimmte Teams eine PlayerClass setzten. Wenn du es allerdings so machst musst du dem Spieler ein Team zuweisen und anschließend wieder resetten.
    Ich selber habe mit der Funktion allerdings noch nie gearbeitet.