Beiträge von Flashrex.

    Kommt drauf an worum es geht.
    Wenn es um Bestellungen geht ,geht es mir meistens um folgende Punkte:


    1. Preis/Verfügbarkeit
    2. Rezensionen
    3. Zahlungsmöglichkeiten
    4. Design


    Ich geh eigentlich immer nach diesem Muster vor bei neuen Seiten.
    Eigentlich ist der Anbieter mir dabei vollkommen egal.
    Hauptsache ich bekomme das was ich suche möglichst billig und kann es mit PayPal zahlen.
    Das ist zum Beispiel der Grund warum ich fast nie auf Amazon bestelle.


    /edit Mit Design ist nur gemeint ,dass die Seite nicht schon total unprofessionell wirken darf.
    Ob mir das Design gefällt oder nicht spielt dabei keine Rolle.

    Du kannst dir das einfach bestellen.
    PayPal zieht es dann innerhalb von 2-3 Tagen von deinem Konto ab.
    Die Zahlung wird aber trotzdem direkt an den Empfänger überwiesen .
    PayPal streckt dir das Geld also voraus sozusagen.

    Hab es jetzt.
    Man sollte sich das Wiki richtig durchlesen ,dann enstehen solche Fehler auch nicht^^
    Durch das return 1; hat er die Standart-Formatierung benutzt.


    https://wiki.sa-mp.com/wiki/OnPlayerText


    return 0; // ignore the default text and send the custom one


    Mein Code sieht jetzt so aus:
    public OnPlayerText(playerid, text[])
    {
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    new string[128],User[MAX_PLAYER_NAME];
    GetPlayerName(playerid,User,sizeof(User));
    if(playercall[playerid] == 1)
    {
    format(string,sizeof(string),"[Handy] %s sagt: %s",User,text);
    SendClientMessage(gespraechsteilnehmer[playerid],COLOR_CHAT,string);
    SendClientMessage(playerid,COLOR_CHAT,string);
    for(new i =0; i<MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(!IsPlayerInRangeOfPoint(i, 20, x, y, z)) continue;
    if(playerid == i)continue;
    if(gespraechsteilnehmer[playerid] == i)continue;
    SendClientMessage(i, COLOR_CHAT,string);
    }
    }
    else
    {
    format(string,sizeof(string),"%s sagt: %s",User,text);
    for(new i =0; i<MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(!IsPlayerInRangeOfPoint(i, 20, x, y, z)) continue;
    SendClientMessage(i, COLOR_CHAT,string);
    }
    }
    return 0;
    }


    Funktioniert auch alles einwandfrei.
    Danke trotzdem für die Hilfe.

    Die Schleife ,die du entfernt hast habe ich gemacht ,damit Spieler die in der Nähe von dem telefonierenden sind auch sehen können was er schreibt.
    Ist ja in RL auch so, dass man das hören kann was jemand am Telefon sagt ,wenn man neben ihm steht.


    Ich probier gleich trotzdem mal ob es mit deiner Lösung funktioniert.
    Melde mich dann wieder

    Ja genau alles was bei if(playercall[playerid] == 1) drin ist ,ist der Handychat und der Rest der normale.
    Komischerweise ruft er das danach halt nochmal so auf als würde gar nichts in OnPlayerText stehen.

    Hallo,
    und zwar habe ich ein Handysystem geschrieben, welches auch wunderbar funktioniert.
    Wenn jemand mit jemandem telefoniert soll dort stehen [Handy] Name sagt: Test.
    Grundsätzlich funktioniert es auch. Aber aus irgendeinem Grund bekommt man danach noch eine Nachricht mit Name: Text.


    Hier mal mein Public OnPlayerText bei dem das Problem auftritt:
    public OnPlayerText(playerid, text[])
    {
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    new string[128],User[MAX_PLAYER_NAME];
    GetPlayerName(playerid,User,sizeof(User));
    if(playercall[playerid] == 1)
    {
    format(string,sizeof(string),"[Handy] %s sagt: %s",User,text);
    SendClientMessage(gespraechsteilnehmer[playerid],COLOR_CHAT,string);
    SendClientMessage(playerid,COLOR_CHAT,string);
    for(new i =0; i<MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(!IsPlayerInRangeOfPoint(i, 20, x, y, z)) continue;
    if(playerid == i)continue;
    SendClientMessage(i, COLOR_CHAT,string);
    }
    return 1;
    }
    format(string,sizeof(string),"%s sagt: %s",User,text);
    for(new i =0; i<MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(!IsPlayerInRangeOfPoint(i, 20, x, y, z)) continue;
    SendClientMessage(i, COLOR_CHAT,string);
    return 1;
    }
    return 0;
    }



    Hab echt keinen Plan woran es liegt :/


    /edit Formatierung bearbeitet

    Ich hab jetzt erstmal einfach von Level 1-100 die nötige Erfahrung definiert.
    Funktioniert auch alles so wie ich möchte.
    Die zahlen da oben waren nur Beispiele.
    Es ging mir nur darum ,dass er ja sonst immer die selbe Anzahl an Erfahrung bräuchte um wieder ein Level aufzusteigen und
    ich wollte das man z.B. von Level 3 zu 4 länger braucht als 2 zu 3.


    Hab jetzt auf jeden Fall eine Lösung gefunden auch wenn ich mit der nicht 100%ig zufrieden bin.
    Danke trotzdem für die Hilfe an alle :)

    Hallo Leute,
    ich bin derzeit dabei ein Levelsystem basierend auf Erfahrungspunkten zu erstellen.
    Ich möchte nun ,dass man pro Level immer mehr Erfahrung benötigt.


    Als kleines Beispiel:


    Level 1 -> Level 2 = 500 Erfahrung (Alte Erfahrung(0) + 500)
    Level 2 -> Level 3 = 1500 Erfahrung (Alte Erfahrung(500) + 1000)
    Level 3 -> Level 4 = 3000 Erfahrung (Alte Erfahrung(1500) + 1500)


    und nicht
    Level 1 -> Level 2 = 500 Erfahrung
    Level 2 -> Level 3 = 1000 Erfahrung
    ...


    Es soll also nicht einfach proportional steigen ,da die Erfahrung nicht resettet wird und der Spieler sonst ja bei jedem Level wieder gleich viel EXP bis zum nächsten Level bräuchte.
    Nun steh ich aber gerade auf dem Schlauch und komm nicht auf die passende Formel um das nicht für jedes einzelne Level definieren zu müssen.
    Hat jemand eine Idee wie ich das umsetzen kann?
    Wenn ja ich bin für jede Hilfe sehr dankbar :)

    Erzähl was etwas von euch.


    Wie sieht euer derzeitiges Team aus?
    Welches Durchschnittsalter herrscht im Team?
    Gibt es bereits eine Community?
    Habt ihr überhaupt Erfahrung in der Administration von einem Gameserver?


    Bevor ich mir überhaupt Gedanken darüber mache mich mal bei euch vorzustellen ,möchte ich schon ein paar Infos haben! :)

    Ich zähle immer die Klammern. Gehe in die Zeile wo der Error ist. Nun schaust du in der Funktion (nennt man das so?) am Anfang und zählst die Klammern. Klammer auf +1 und Klammer zu -1 wenn du zum Schluss auf 0 kommst ist alles richtig :D

    Ich bin selber relativ neu beim scripten daher sorry wenn ich etwas falsches sage aber wenn ich das richtig sehe nutzt du


    SendPlayerMessageToPlayer


    falsch. Laut SA:MP Wiki musst du ihn so nutzen:


    SendPlayerMessageToPlayer(playerid, senderid, const message[])



    https://wiki.sa-mp.com/wiki/SendPlayerMessageToPlayer


    Ich würde es aber auch anders machen:


    ocmd:licenses(playerid,params[])
    {
    new pID,str[128]; //Die ID an den das dann geschickt werden soll und die man hinter /licenses eingeben muss
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,COLOR,"Befehl: /licenses [ID]"); //Abfrage ob der Spieler überhaupt eine ID angegeben hat
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,COLOR,"Fehler: Der Spieler ist nicht online!"); //Schauen ob der Spieler der angegeben wurde überhaupt online ist
    new name1[MAX_PLAYER_NAME],name2[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name1,sizeof(name1)),GetPlayerName(playerid,name2,sizeof(name2)); //Wir speichern uns die Namen der beiden Spieler
    format(str,sizeof(str),"Du zeigst %s deine Licenses!",name1); //Bei "%s" wird dann der name1 angezeigt
    SendClientMessage(playerid,COLOR,str); //Hier senden wir der playerid den formatierten str
    format(str,sizeof(str),"============= Licenses von %s=============",name2); //Bei "%s" wird dann der name2 angezeigt
    SendClientMessage(pID,COLOR,"str);format(str,sizeof(str), "Autoführerschein: %", pAutoschein"); //Hier ist die Frage wie du das speicherst. Mehr dazu unten
    SendClientMessage(pID,COLOR,str);
    return 1;
    }


    1. Überall bei COLOR musst du natürlich deine Farben eintragen
    2. bei dem letzten format musst du schauen wie du das speicherst. Wenn du es als zahl speicherst und ausgeben willst musst du %i machen.
    Zudem musst du bei pAutoschein warscheinlich noch [playerid] oder so hinter machen je nach dem wie du es speicherst wiegesagt.
    3. Das letzte format und SendClient... musst du dann einfach kopieren und deine anderen Scheine eintragen


    Wie gesagt bin selber Anfänger aber vielleicht hilft dir das ein wenig.


    /edit Hab jetzt erst gesehen das er gebannt ist^^