Beiträge von WhiteWay

    Ich habe gerade entdeckt das ich einen Fehler drin habe undzwar, das die Person die erst mal nach /kiss fragt schon das mit dem GetPosVorSpieler undso aktiviert, kurz ändern, editiere dann code

    Hast du denn schon den Befehl angefangen / geschrieben?
    Du kannst ja machen, dass einer "/kiss ID" macht, und dann gefreezed wird.
    Dem Anderen wird ein Dialog angezeigt, es sei denn, der Spieler steht nicht direkt vor dem Anderen.
    Ansonsten wird ihm der Dialog angezeigt, und er kann es annehmen / ablehnen. -> Spieler wird wieder entfreezed - Animation wird ausgeführt bei beiden Spielern


    Du kannst ja die Funktion von Jeffry benutzen, die ist dafür da, die Position vor dem Spieler zu bekommen.


    Am besten fängst du mal mit dem Befehl an und wir können dir hier dann helfen. Wenn du den Befehl schon angefangen hast, dann versuch nun, den Befehl weiterzumachen, ansonsten, wie gesagt, kannst du hier nach Hilfe fragen.


    So,
    die Vorlage habe ich vom /sex befehl genommen.
    Ich weiß nicht ob alles richtig ist, also schreibe ich das hier rein.
    if(strcmp(cmd, "/kiss", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Benutze: /kiss [playerid]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    new Float:x, Float:y, Float:z;
    if (ProxDetectorS(8.0, playerid, giveplayerid))
    {
    if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Du kannst dich nicht selbst Küssen!"); return 1; }
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "* Du bietest %s einen Kuss.", giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "* %s bietet dir einen Kuss. (/kiss annehmen)", sendername);
    SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
    //Setzt den Spieler 5 Meter vor den anderen Spieler.
    GetPosVorSpieler(giveplayerid, 5.0, x, y, z); //pID = Spieler, dessen Position abgefragt wird.
    SetPlayerPos(playerid, x, y, z); //playerid = Spieler, dessen Position gesetzt wird.
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Dieser Spieler ist nicht in deiner Nähe !");
    return 1;
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Der Spieler ist Offline !");
    return 1;
    }
    return 1;
    }

    Also,


    Damit ihr versteht was ich meine kurze Erklärung:
    Wenn eine Person x vor einer Person y steht. Kann eine von den Personen /kiss ID machen. Dann werden Automatisch die Personen vor einander gestellt und die Kissanimation ausgeführt
    Ja, man kann so machen das beide einfach /kiss eingeben und dann kommt die Animation, aber das wird nie gescheit getroffen! Also sodass die dann Perfekt voreinander stehen, kann man so etwas machen? Also wenn ihr wisst wie das geht, könnt ihr mir Erklären :3?

    Hallo,


    Folgendes Problem, vor ein Paar monaten hatte ich glaube ich mit euch das mal besprochen, aber das ist nun lange her..
    Aber jetz habe ich immernoch einen Fehler, ich schicke mal die Codes


    Ganz oben:
    new RPName[MAX_PLAYERS][MAX_PLAYER_NAME];

    im register:
    format(var, 32, "RPName=%s\n",RPName[playerid]);fwrite(hFile, var);


    im Login:
    if( strcmp( key , "RPName" , true ) == 0 ) { val = ini_GetValue( Data ); format(RPName[playerid],MAX_PLAYER_NAME,"%s",val); }


    Wenn er was sagt:
    format(string, sizeof(string), "%s {787878}%s {FFFFFF}sagt: %s",akzent,RPName[playerid], text);
    ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
    format(string, sizeof(string), "%s",text);
    SetPlayerChatBubble(playerid,string,0xFF0000FF,15,10000);
    wenn man gerade beim Registrieren ist, und den Namen einfügen soll:
    format(RPName[playerid],MAX_PLAYER_NAME,"%s",inputtext);


    Nun der Fehler:
    http://www.pic-upload.de/view-23862057/sa-mp-006.png.html


    Mein Name wird nicht abgelesen wieso auch immer..

    Alsoo
    Ganz Oben
    new RPName[MAX_PLAYERS][MAX_PLAYER_NAME];


    OnPlayerRegister
    format(var, 32, "RPName=%s\n",RPName[playerid]);fwrite(hFile, var);


    OnPlayerLogin
    if( strcmp( key , "RPName" , true ) == 0 ) { format(RPName[playerid],MAX_PLAYER_NAME,"%s",val); }


    und beim Schreiben
    format(string, sizeof(string), "%s{00FFDC}%s {FFFFFF}sagt: %s",akzent,RPName[playerid], text);
    ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
    format(string, sizeof(string), "%s",text);
    SetPlayerChatBubble(playerid,string,0xFF0000FF,15,10000);


    Beim dem Registrieren
    format(RPName[playerid],MAX_PLAYER_NAME,"%s",inputtext);


    Bei einer Function die Sichern heißt :D
    format(var, 32, "RPName=%s\n",RPName[playerid]);fwrite(hFile, var);

    :thumbup:

    aus dem %d ein %s machen da du einen String und keinen Integer speicherst. Dann beim RPName fehlt jeweils der index also RPName[playerid] und bei der key überprüfung machste das wie beim inputtext nur anstatt inputtext val nutzen
    format(RPName[playerid],MAX_PLAYER_NAME,"%s",val);


    das Klaptt wohl nicht so gut, denn wenn ich jetzt schreibe kommt da eine "1" anstatt der name :D
    //EDIT
    Also nach der REgistration klappt es, aber nach dem Relogg nicht mehr

    Schau dir mal deinen Speicherstock an und versuch es mal selber zu machen.


    format(var, 32, "RPName=%d\n",RPName);fwrite(hFile, var);
    das hab ich beim Registerstock gemacht (halt nachgemacht wie die anderen sachen :D)
    und
    if( strcmp( key , "RPName" , true ) == 0 ) { val = ini_GetValue( Data ); RPName = strval( val ); }//Bei dem Error
    das beim Login, aber kommt ein Error
    Array-Index fehlt (bspw. Array[1], Name: "RPName")


    Naja hab nicht die Variante genommen, aber es klappt wie ich es so gemacht habe, hoffentlich auch dann bei mehreren :)
    //Bei dem wo man redet
    format(string, sizeof(string), "%s{00FFDC}%s {FFFFFF}sagt: %s",akzent,RPName[playerid], text);
    ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
    format(string, sizeof(string), "%s",text);
    SetPlayerChatBubble(playerid,string,0xFF0000FF,15,10000);
    //-----------------------------------------------------------------------------------
    if(dialogid == DIALOG_REGSTEP_1)
    {
    if(response == 1)
    {
    PlayerInfo[playerid][pSex] = 1;
    RegistrationStep[playerid] = 4;
    ShowPlayerDialog(playerid,DIALOG_REGSTEP_4,DIALOG_STYLE_INPUT,"GTR- Eigende Daten","Was soll dein RolePlay name sein? (in dieser Form z.b: John_Konner)","Bestätigen"," ");
    }
    if(response == 0)
    {
    PlayerInfo[playerid][pSex] = 2;
    RegistrationStep[playerid] = 4;
    ShowPlayerDialog(playerid,DIALOG_REGSTEP_4,DIALOG_STYLE_INPUT,"GTR- Eigende Daten","Was soll dein RolePlay name sein? (in dieser Form z.b: John_Konner) ","Bestätigen"," ");
    }
    }
    if(dialogid == DIALOG_REGSTEP_4)//RP NAME
    {
    format(RPName[playerid],MAX_PLAYER_NAME,"%s",inputtext);
    RegistrationStep[playerid] = 2;
    }
    //_-------------------------------------------------Ganz oben
    new RPName[MAX_PLAYERS][MAX_PLAYER_NAME];

    Und es klappt einwandfrei :) Danke!


    //EDIT
    Tut mir leid! Es funktioniert nicht einwandfrei.
    Nach einem Relogg wird kein Name mehr angezeigt! wie speicher ich das jetzt in seinem Acc.cfg?

    erstellst ne variable die den inhalt vom inputtext festhalt und dann bei OnPlayerText oder wo du es auch sonst verwenden willst ausgeben mit der variable:


    new RPName[MAX_PLAYERS][MAX_PLAYER_NAME];
    format(RPName[playerid],MAX_PLAYER_NAME,"%s",inputtext); müsste das sein


    Nun ich habe bisjetzt verstanden das das mit dem new RPName[MAX_PLAYERS]...blabla
    ganz oben wo die anderen "new"s sind hin muss, stimmt?
    aber, ich habe noch nicht ganz kapiert wo ich das mit dem format hinmachen soll.
    bin zwar dumm aber naja :D, kannst mir mal sagen ob das bei DIALOG_REGSTEP_4 reinsoll oder bei dem 1er unter dem ShowPlayerdialog?
    if(dialogid == DIALOG_REGSTEP_1)
    {
    if(response == 1)
    {
    PlayerInfo[playerid][pSex] = 1;
    RegistrationStep[playerid] = 4;
    ShowPlayerDialog(playerid,DIALOG_REGSTEP_4,DIALOG_STYLE_INPUT,"GTR- Eigende Daten","Was soll dein RolePlay name sein? (in dieser Form z.b: John_Konner)","Bestätigen"," ");
    }
    if(response == 0)
    {
    PlayerInfo[playerid][pSex] = 2;
    RegistrationStep[playerid] = 4;
    ShowPlayerDialog(playerid,DIALOG_REGSTEP_4,DIALOG_STYLE_INPUT,"GTR- Eigende Daten","Was soll dein RolePlay name sein? (in dieser Form z.b: John_Konner) ","Bestätigen"," ");
    }
    }
    if(dialogid == DIALOG_REGSTEP_4)//RP NAME
    {
    //Hier rein?
    }

    Hallo,
    Ich habe eine Frage.
    Undzwar, wie mache ich das dass in der Registration, dieser spieler der sich grad Registriert einen RolePlay namen mit einem DIALOG_STYLE_INPUT erstellen muss? Also ich will hier jetzt keinen Code.
    Sondern könnt ihr mir erklären wie ich sowas machen kann? Ich habe grad nur den Dialog :3, ich weiß nicht wie ich es dann so machen kann, das er dann nur mit dem Namen wo er in den Input reinschreibt
    angezeigt wird wie Bsp: "John_Konner sagt: blabla" Also das er Ingame den namen vom Roleplay hat, aber über dem Charakter immernoch der Name, der halt am anfang vom samp erstellt werden kann.


    Könnt ihr mich verstehen? Dann bitte ich um Hilfe :D

    Hallo liebe Brotfische,


    Ich habe eine Frage. Undzwar wie kann ich machen das im Kennzeichen die Auto ID steht? mit der Auto ID meine ich welche ID sie im Spiel hat, und nicht die ID damit ich das Auto Spawnen kann.
    Ich hoffe ihr könnt mir helfen :3.

    Hallo erstmal,
    ich wollte mal anfangen mit Java zu Scripten..
    jedoch als ich mal meinen Anfang fertig hatte, hatte ich den ganzen Code kopiert und in ein neues Script eingefügt, aber dann kam dieser error, den ich in der Überschrift hab.
    Davor ging mein Programm noch aber dann kommt dies wenn ich es starten will.


    http://www.pic-upload.de/view-…-24-at-02.41.20-.png.html (Der Fehler)



    package org.blabla.game;



    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;





    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;






    public class frame extends JFrame implements ActionListener {





    private JButton schliessen;
    private JButton einstellung;
    private JButton info;
    private JButton ende;





    public static void main (String[]args) throws Exception{



    frame frame = new frame("UI");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(400,400);

    frame.setLayout(null);
    frame.setVisible(true);



    }

    public frame(String title) {

    super(title);

    schliessen = new JButton("Spiel starten");
    schliessen.setBounds(120, 40, 160, 40);
    schliessen.addActionListener(this);
    add(schliessen);

    einstellung = new JButton("Einstellungen");
    einstellung.setBounds(120, 120, 160, 40);
    einstellung.addActionListener(this);
    add(einstellung);


    info = new JButton("Credits");
    info.setBounds(120, 200, 160, 40);
    info.addActionListener(this);
    add(info);


    ende = new JButton("Beenden");
    ende.setBounds(120, 280, 160, 40);
    ende.addActionListener(this);
    add(ende);



    JLabel label = new JLabel("Made by White(V 0.4)");
    label.setBounds(240,340,150,20);
    add(label);



    }







    public void actionPerformed(ActionEvent e){

    if (e.getSource() == schliessen){
    fenster();
    }

    if (e.getSource() == info){
    Object[] options = { "OK"};
    JOptionPane.showOptionDialog(null, "Programmiert von White", "Information",


    JOptionPane.DEFAULT_OPTION, JOptionPane.PLAIN_MESSAGE,


    null, options, options[0]);
    }

    if (e.getSource() == einstellung){
    Object[] options = { "OK"};
    JOptionPane.showOptionDialog(null, "Hier können sie Einstellungen vornehmen", "Information",


    JOptionPane.DEFAULT_OPTION, JOptionPane.PLAIN_MESSAGE,


    null, options, options[0]);
    }


    if (e.getSource() == ende){
    System.exit(0);


    }
    }



    public static void fenster(){


    JFrame fenster = new JFrame("Game");
    fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    fenster.setSize(650,350);
    fenster.add(new Board());

    }
    }






    Hallo,
    mal wieder ich :D


    So nun habe ich folgenden fehler:
    Der Textdraw links unten auf dem Bild -> http://www.pic-upload.de/view-22315330/sa-mp-007.png.html
    "Keine Deathmatch Zone" Sollte nicht bei dieser position angezeigt werden sondern eher wo anders
    forward DeathmatchTimer(playerid);
    public DeathmatchTimer(playerid)
    {
    if(IsPlayerInRangeOfPoint(playerid,30.0,1721.4225,-1633.6736,20.2120))
    {
    TextDrawShowForPlayer(playerid, Textdraw1);
    }
    }
    OnPlayerConnect(Blablabla)
    {
    blablabla..
    SetTimer("DeathmatchTimer",1000,true);
    blablabla
    }
    Wo liegt mein fehler?


    //EDIT Mit "Position" meine ich die Spieler position

    Für den fall benötigst du einfach einen Textdraw.


    Sehr hilfreich,habe ich schon vorher gewusst aber, ich meine nur wie soll ich es dann machen? z.B ich erstell mal jetz ein Textdraw
    new Text:Kmh;
    Kmh = TextDrawCreate(172.000000, 363.000000, "Km/H");
    TextDrawBackgroundColor(Kmh, 255);
    TextDrawFont(Kmh, 0);
    TextDrawLetterSize(Kmh, 1.129999, 5.199997);
    TextDrawColor(Kmh, -1);
    TextDrawSetOutline(Kmh, 1);
    TextDrawSetProportional(Kmh, 1);
    TextDrawSetSelectable(Kmh, 0);
    Wie soll das dann weiter?