Beiträge von RaPSoR

    @xXManuelXx:
    Welche Speicherart verwendest du ?
    Und möchtest du die Autohäuser "fest" im Script haben oder soll man diese Laden und ggf auch im Spiel erstellen und festlegen können ?


    Es kommt auf den Wunsch und Umfang an eine Zeitangabe wie lange sowas dauert ist unterschiedlich.
    Der eine Scriptet schnell der andere dafür ordentlicher und langsamer .


    Und zum Preis kommt es ebenfalls auf den Wunsch und Umfang an dann kann man einen Preis aushandeln von vorne heraus so ein Preis
    fest zulegen ist meiner Meinung nach nicht richtig.

    SetSpawnInfo(playerid,0,PlayerInfo[playerid][pSkin],1758.6577,-1950.2799,14.1096,307.9163,0,0,0,0,0,0);
    SpawnPlayer(playerid);
    Das würde ich unter OnPlayerRequestClass schreiben.

    Hey du könntest evtll so machen mal ein Beispiel:
    #define LOGVZ "Logs/Log-"
    stock Log(art[],text[])
    {
    new logart[26];format(logart,46,""#LOGVZ"%s.txt",art);
    new File:log = fopen(logart, io_append);
    fwrite(log, text);fwrite(log, "\n");fclose(log);return 1;
    }


    Verwendung:
    new txt[84];
    format(txt,84,"Admin BlaBla hat Blabla mit den Grund : Test und so gekickt");
    Log("Kick",txt);

    Beispiel 2:
    new txt[84];
    format(txt,84,"Admin BlaBla hat Blabla mit den Grund : Test und so gebannt");
    Log("Ban",txt);


    Log(art[],text[])
    -art ist halt sozusagen der LogName zb Kick (Log-Kick.txt)


    Wie gesagt ist halt ein von vielen möglichkeiten etwas zu Loggen.

    Du hast das so gemacht das man als NR und nur mit Rank 3 den CMD nutzen kann.
    Deswegen mach die >Abfrage mal so :
    if(GetPVarInt(playerid,"Member") == 4 && GetPVarInt(playerid,"Rang") > 3)

    Kann man auch so machen.
    Jedoch ist das mit den PlayerID Parameter auch eine gute alternative um zb während einen Tutorial oder FahrschulText
    ein paar Zeilen für den Spieler clearn kann .
    Wenn er nur für alle Spieler clearn möchte ist deine Art dann natürlich besser.

    Hier mal simples Beispiel:
    stock ChatClear(playerid,zeilen)
    {
    for(new z=0;z<zeilen;z++){SCM(playerid,weiß," ");}
    return 1;
    }
    Verwendung:
    ChatClear(playerid,200); Zb

    Teste mal bitte so :


    if(dialogid==DIALOG_UEBERWEISEN)
    {
    if(response== 0) return SendClientMessage(playerid,GRAU,"** Abgebrochen");

    if(response== 1)
    {
    if(strval(inputtext)< 0) return SendClientMessage(playerid,GRAU,"Du musst min 1$ eingeben");
    new pID;
    if(sscanf(inputtext,"u",pID))return ShowPlayerDialog(playerid, DIALOG_UEBERWEISEN, DIALOG_STYLE_INPUT, "Empfänger", "Geben sie Den{EB0000} Empfänger{FFFFFF} An", "Bestätigen", "Abbrechen");
    if(!IsPlayerConnected(pID))return ShowPlayerDialog(playerid, DIALOG_UEBERWEISEN, DIALOG_STYLE_INPUT, "Empfänger", "Geben sie Den{EB0000} Empfänger{FFFFFF} An", "Bestätigen", "Abbrechen");
    if (pID == playerid)return ShowPlayerDialog(playerid, DIALOG_UEBERWEISEN, DIALOG_STYLE_INPUT, "Empfänger", "Geben sie Den{EB0000} Empfänger{FFFFFF} An", "Bestätigen", "Abbrechen");
    ShowPlayerDialog(playerid, DIALOG_UEBERWEISEN1, DIALOG_STYLE_INPUT, "Summe", "Geben sie Die {EB0000}Summe{FFFFFF} An", "Bestätigen", "Abbrechen");
    Ueberweiser[playerid] = pID;Ueberweiser[pID] = playerid;return 1;
    }
    else{ShowPlayerDialog(playerid, DIALOG_KONTO, DIALOG_STYLE_LIST, "Konto", "{00FF00}Einzahlen\n{00FF00}Auszahlen\n{00FF00}Kontostand\n{00FF00}Überweisen", "Auswählen", "Abbrechen");}
    return 1;
    }

    Falsche Reihenfolge der Argumente/Parameter.
    Dein Falscher Code:
    ShowPlayerDialog(playerid,DIALOG_STYLE_INPUT,DIALOG_TANKSTELLENKASSE,
    Achte auf DIALOG_STYLE_INPUT das ersetzt sozusagen den Wert 1 als Style.
    Und bei ShowPlayerDialog kommt als 2. Parameter die Dialog ID und in diesen Fall ist es DIALOG_STYLE_INPUT also 1 deswegen dein Reg Dialog.



    Lösung:
     ShowPlayerDialog(playerid,DIALOG_TANKSTELLENKASSE,DIALOG_STYLE_INPUT,

    >>AttachObjectToVehicle >> Genau auf die Gabel Zinken ;)
    Dann wenn du das Objekt erstellst den Wert "abfangen/speichern"
    new kiste = CreateObject();


    Dann Abfragen die Position von den Fahrzeug ggf. geht auch Spieler.
    Und dann Abfragen der Objekt Pos >>GetObjectPos
    Die Objekt Position Z sollte ja beim hochfahren der Zinken dann höher als der Z Wert der Position von dem Fahrzeug oder Spieler.
    Musste mal testen wie hoch der unterschied ist .
    Das wäre eine Möglichkeit abzufragen ob die "Gabelzinken" hochgefahren sind

    Du hast da einige möglichkeiten.
    Hier könnte man es zb so machen :


    Unter CMD:invite:
    SetPVarInt(pID,"EinladungVon",playerid);// Speichert die SpielerID von den Leader der die Anfrage sendet



    Und nu könntest du unter
    CMD: annehmen:


    ocmd:annehmen(playerid,params[])
    {
    if(Anfrage[playerid]!=1) return SCM(playerid,hellrot,"Du hast keine Anfrage erhalten");
    {
    Anfrage[playerid]=0;
    new lid = GetPVarInt(playerid,"EinladungVon");//Speichert nun die Leader ID auf lid
    new msg[100];
    pInfo[playerid][Fraktion]=pInfo[lid][Fraktion]// Wir setzen den Spieler den Fraktions Wert wie der Leader
    format(msg,sizeof msg,"%s hat die Einladung angenommen.",Spielername(playerid));
    SendClientMessage(lid,farbe,msg);
    }
    return 1;
    }

    Du brauchst Werte die die Zeit aufnehmen.
    Einen Text den du formatieren musst .
    Und die gettime Funktion.


    Beispiel:
    new zeit[3],uhrzeit[64];
    gettime(zeit[0],zeit[1],zeit[2]);
    format(uhrzeit,sizeof uhrzeit,"Es ist %02d:%02d Uhr.",zeit[0],zeit[1]);
    SendClientMessage(playerid,farbe,",uhrzeit);