[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
  • ocmd:setgeld(playerid,params[])
    {
    new pID,Float:summe,string[256],string2[256],string3[256];
    if(!IsPlayerAnAdmin(playerid,1000)) return SendClientMessage(playerid,rot,"[Fehler]: Du hast nicht das nötige Adminlevel!");
    if(sscanf(params,"ui",pID,summe)) return SendClientMessage(playerid,rot,"Benutze: /setgeld [ID/Name] [Summe] (WICHTIG: Benutze PUNKT als Komma - 0.99€)");
    SpielerInfo[playerid][pGeldHand] += summe;
    format(string,sizeof(string),"Du hast %s[ID:%d] %02.2f € gegeben.",SpielerName(pID),pID,summe);
    format(string2,sizeof(string2),"Du hast von Admin %s %02.2f € bekommen.",SpielerName(playerid),summe);
    format(string3,sizeof(string3),"Admin %s hat Spieler %s %f € gegeben.",SpielerName(playerid),SpielerName(pID),summe);
    SendClientMessage(playerid,orange,string);
    SendClientMessage(pID,orange,string2);
    print(string3);
    ageld(pID);
    return 1;
    }


    Der Befehl funktioniert nicht. :( pGeldHand sowie Summe sind Floats. Wenn ich Sachen Ohne Komma beispiel - setgeld 0 20 eingebe wird mir immer 00.00 Euro bei der nachricht ausgegeben.
    Geb ich ne komma zahl an sagt er mir das es falsch ist. Also, das ich den Befehl falsch benutze.


    - Tomsen :thumbup:


    PS: Hab bei "Summe" auch schon float(summe) versucht. Da bekomm ich aber nur tag mismatch warnings.

  • Danke. Geht, fast.


    Erstens: Der Befehl heißt eigentlich givegeld statt setgeld, mein Fehler.


    Aber nun gibt er wenn ich zB.: 0.02 also nur 2 Cent geben will 0.00 aus, also nichts.
    Oder wenn ich sage ich mal 20 € drauf rechne, immer wieder geht es so:


    49 68 87


    Die zweite Stelle geht immer eins runter. Also irgentwie spinnts noch ein bisschen.


    - Tomsen :thumbup:

  • Das mit der letzten Kommastelle kommt immernoch nicht hin.


    Kann es sein, das er die in der Datenbank festgelegten möglichen 10 Stellen "unsichtbar" mit benutzt und sozusagen dann rundet, nur eben das man die 2 Stellen nur sieht?


    - Tomsen

  • Zitat von »Eddy«
    Kann mir vielleicht jemand Zeigen wie ich mit MySQL das Geburtsdatum abfrage so das er das Geburtsdatum und das Alter Speichert. Zbs wenn ich ich 18.11.1994 eingebe, soll er das Speichern und halt das Alter auch. In dem fall halt 18 Jahre. Ich nutze das Tutorial von maddin. Es wäre echt Cool wenn mir jemand Helfen würde. Ich bin langsam am verzweifeln. -.-


    Tutorial von maddin: [ SCRIPTING ] MySQL (Installation, Zugriff, Einstellungen, Login & Register Beispiel)
    Kann mir da echt Niemand bei Helfen?

    Suche immer noch jemanden der mir dabei Hilft.

    Die Kritik an anderen hat noch keinem die eigene Leistung erspart.

    – Noël Coward

  • Kleine frage
    bei den code
    if(!strcmp(cmd, "/say", true))
    {
    tmp = strtok(cmdtext, idx);
    if(!tmp[0]) return ShowError(playerid,"/say [text]");
    format(string,128,"*Admin: %s",tmp);
    SendClientMessageToAll(cBlue,string);
    return 1;
    }


    wenn ich jetzt /say ich bin da eingebe, dann steht da nur nach den Admin ich
    Wie kann ich das machen, das er mir den satz ausgibt?

    All in all it's just another brick in the wall


  • Entweder wie du es hast oder:
    SpielerInfo[playerid][pAlter] = mysql_GetInt("accounts", "Alter", "Name", SpielerInfo[playerid][pName]);
    }
    return 1;
    }
    return 0;
    }

  • Hi,
    ich habe ein Problem und komme schon seit gestern nicht weiter .


    Und zwar will ich ein Filterscript erstellen wo ich /schutz schreibe dann kommen die Gefängnis - Gitter neben mir also
    Vorne Hinten Links und Rechts. Also wenn mich jetzt z.b. einer mit der Deagle abschießen will kann ich /schutz schreiben und die Gitter sind neben mir, vor und hinter.


    Ja jetzt möchte ich das ihr vllt machen könnt das der Gitter neben mir und vor, hinter mir ist.
    Hier ist der Script. Ja sicherlich ist da was falsch deswegen brauch ich eure hilfe.


    public OnPlayerCommandText(playerid, cmdtext[]){
    if (strcmp("/schutz", cmdtext, true, 10) == 0)
    {
    new Float:X, Float:Y, Float:Z;

    GetPlayerPos(playerid, X, Y, Z);
    AttachObjectToPlayer(o1, playerid, X, Y, Z, 0, 0, 0);
    AttachObjectToPlayer(o2, playerid, X, Y, Z, 0, 0, 0);
    AttachObjectToPlayer(o3, playerid, X, Y, Z, 0, 0, 0);
    AttachObjectToPlayer(o4, playerid, X, Y, Z, 0, 0, 0);


    o1 = CreateObject(2930, X+1, Y+1, Z+1, 0, 0, 150); // Vorne
    o2 = CreateObject(2930, X-1, Y+1, Z+1, 0, 0, 150); // Hiten
    o3 = CreateObject(2930, X-1, Y+1, Z+1, 0, 0, 0); // Links
    o4 = CreateObject(2930, X-1, Y+1, Z+1, 0, 0, 359.75); // Rechts
    return 1;
    }
    return 0; }
    Ja wie gesagt ich möchte das es neben mir ist und wenns jetzt Links ist das es auch in der Richtung ist.


    Und könntet ihr mir noch helfen also wenn ich lauf das es mit mir lauft also das es an mir hängt.
    Deswegen habe ich Attach gemacht.

    Veröffentlichte Scripts:


    HEODM Gamemode

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen