[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • 1.
    if(GetPVarInt(playerid,"Sprache") == 2) zu
    if(GetPVarInt(i,"Sprache") == 2)
    2. Eine IsPlayerConnected(i) Abfrage reinhauen..
    3. dann sollte es gehen.

  • DisableInteriorEnterExits();


    Wo hast du die Funktion hingespeichert?

    Die besten Zitate aus dem sa-mp.de Forum

    Zitat

    -Wenn hier die sache nicht drine ist aber sie brachen es vlt kann ich es und dann mache ich es für sie!)

    Zitat

    Die Prüfungen(Fahrprüfungen), welche sehr realitätsnah entworfen sind, kann jeder Spieler allein absolvieren ohne auf andere angewiesen zu sein.

    Zitat

    Features: Ausgeprägte und leicht verständliche Serverregeln!

    Zitat

    aber wer dumme Antworten gibt bekommt eine Dumme zurück ... und chill mal dein Leben!

    Zitat

    Ich bin für Luca, wieso weiß ich nicht, aber der andere hat so hässlige Haare..

    Zitat

    Ich habe mir eig. immer nur die Castings angesehen, weil die da immer Runtergemacht wurden.

    Zitat

    Unknown processor
    übersetzt (by google translator)
    unbekannten Prozessor

    Zitat

    Verkaufe Minecraft Keys
    Nur für 20,-€ PaySafeCard.
    Unfassbar in mindestens 5 Minuten hast du dein Key!

  • So wiedermal ne Theoretische Frage ...
    Ich arbeite wie gesagt an einem 2Sprachigen Deathmatch Script.


    Jetz sehe ich nur ein Problem:

    if(sscanf(params,"ud", pID, rang))
    {
    if(sNutzer[playerid][Sprache] == 2)
    {
    SendEnglishMessage(playerid, ROT,"USAGE: /makeadmin [pID] [rank]");
    }
    if(sNutzer[playerid][Sprache] == 1)
    {
    SendGermanMessage(playerid,ROT, "Verwendung: /makeadmin [pID]");
    }
    }

    Wenn die paramater richtig sind, kommt diese Nachricht ...
    Oder?


    Kann ich beim return etwas doppelt ausführen lassen?


    also:

    if(sscanf(params,"ud", pID, rang)) return SendEnglishMessage(playerid, ROT,"USAGE: /makeadmin [pID] [rank]") && SendGermanMessage(playerid,ROT, "Verwendung: /makeadmin [pID]");

    Errors kommen nicht, aber ich kann es nicht testen.


    //edit:
    ] vergessen

  • Habe mal eine kleine Frage..
    Wie kann ich aus einer Txt Datei laden, wenn der Gamemode startet?
    Die Text Datei und die Variablen wurden bereits erstellt.


    Wie kann man das nun auslesen? :\
    Bei OnPlayerConnect würde es funktionieren, aber ich möchte das halt von Anfang an machen und nicht wenn ein Spieler joint.


    Bitte um Hilfe :)

  • als beispiel ginge das wenn du es aus einen enum noch auslesen lässt


    for(new i = 0; i < sizeof Autohaus; i++)
    {
    new datei[50];
    format(datei,sizeof(datei),"/Autohaeuser/%s.ini",Autohaus[i][aName]);
    if(!dini_Exists(datei))
    {
    dini_Create(datei);
    dini_Set(datei,"Besitzer","Staat");
    dini_IntSet(datei,"Kasse",Autohaus[i][Kasse]);
    }
    Autohaus[i][Kasse] = dini_Int(datei,"Kasse");
    format(Autohaus[i][Besitzer],MAX_PLAYER_NAME,dini_Get(datei,"Besitzer"));
    CreatePickup(1239,1,Autohaus[i][posx],Autohaus[i][posy],Autohaus[i][posz],-1);
    }

  • Das kann doch nicht sein ...
    Ich hab schon wieder ein Problem.



    if(dini_Exists(Spieleraccounts))
    {
    if(sNutzer[playerid][Sprache] == 1)
    {
    ShowPlayerDialog(playerid,loginG,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden!\nDu kannst dich nun einloggen!","Login","Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid,loginE,DIALOG_STYLE_INPUT,"Login","We found your Account!\nYou can now login!","Login","Cancel");
    }
    }
    else
    {
    ShowPlayerDialog(playerid,register,DIALOG_STYLE_INPUT,"Register / Registrierung","Write your password into the inputtext!\nSchreibe dein Passwort in den Inputtext!","Register","Cancel");
    }


    Der Spieleraccount existiert, trotzdem wird mir immer wieder der Registrierungsdialog gesendet.

  • Warum zur Hölle spawnen meine Cars ohne Tank und warum bekomme ich den Motor nicht an? ..



    //definierung
    new bool:Motor[MAX_VEHICLES]=false,


    //OnGameModeInIt
    for(new i=0; i < MAX_VEHICLES; i++)
    {
    Gas[i] = GetGasMax(GetVehicleModel(i)); //Gas etc. alles richtig, ging ja bis vorn paar Tage
    FormatString = CreateNummernSchild(i);
    SetVehicleNumberPlate(i,FormatString);
    SetVehicleToRespawn(i);
    }



    //bei
    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    new vehicle = GetPlayerVehicleID(playerid);
    if(newkeys == KEY_ANALOG_DOWN || newkeys == 4104 || newkeys == 4128 || newkeys == 4224)
    {
    if(GetPlayerVehicleSeat(playerid) == 0)
    {
    if(Motor[vehicle] == false) // Wenn Motor aus
    {
    ToggleVehicleEngine(vehicle,1);
    }


    if(Motor[vehicle] == true)// Wenn Motor an
    {
    ToggleVehicleEngine(vehicle,0);
    }
    //dann halt wieder zu etc.



    //Funktion


    ToggleVehicleEngine(vehicleid,toggle = 0)
    {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
    if(toggle == 1)
    {
    Motor[vehicleid] = true;
    return SetVehicleParamsEx(vehicleid,1,lights,alarm,doors,bonnet,boot,objective);
    }
    else
    {
    Motor[vehicleid] = false;
    return SetVehicleParamsEx(vehicleid,0,lights,alarm,doors,bonnet,boot,objective);
    }
    }



    Das ist eigentlich alles erstmal zum Motor...
    Er geht auf Numpad 2 nicht mehr an, aber das Licht schon. (Alles gleich gemacht, nur auf Numpad 8 gelegt)

  • Huhu,


    mein Report System klappt soweit, nur kriege Ich den Report nicht vollständig. Da steht dann: Code hat einen Report gesendet: LEER


    if (strcmp("/report", cmdtext, true, 10) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    GetPlayerName(playerid,reportname,MAX_PLAYER_NAME);
    format(reportmsg,256,"{FF6E00}Willkommen im Report \n\n{FFFFFF}Benutzer: %s\n\n{FF6E00}Bitte teile uns Dein Problem mit.\nEin Supporter wird sich so schnell wie möglich melden.",reportname);
    ShowPlayerDialog(playerid,100,DIALOG_STYLE_INPUT,"Report",reportmsg,"Absenden","");
    return 1;
    }
    }
    if(dialogid == 100)
    {
    if(response)
    {


    PlayAudioStreamForPlayer(playerid,"http://www.websites-graphics1.de/songs/wavs/1wav_geraeuche/click_one.wav");
    new string[256];
    new idx;
    new sendername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(inputtext);
    while ((idx < length) && (inputtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = inputtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    return 1;
    }
    format(string,sizeof(string),"Report von: %s: %s",sendername,string[124]);
    SendAdminMessage(COLOR_ROT,string);
    reportsys(string);
    GameTextForPlayer(playerid, "~r~Report ~g~Gespeichert",4000,1);
    }
    return 1;
    }
    stock SendAdminMessageRang(color,level,const string[])
    { for(new i = 0; i < MAX_PLAYERS; i++)
    if (PlayerInfo[i][pAdmin] >= level)SendClientMessage(i, color, string);
    return 1; }


    public reportsys(string[])
    {
    new eintragen[256];
    format(eintragen, sizeof(eintragen), "%s\n",string);
    new File:hFile;
    hFile = fopen("report.log", io_append);
    fwrite(hFile, eintragen);
    fclose(hFile);
    }


    Hoffe auf Hilfe.