Beiträge von [EGC] selEcT

    Nö hab ich net.


    Wenn du das Script offen hast, such nach OngameModeInit und poste alles hier.


    Auf dem Server (dort wo der ordner gamemodes, filterscripts etc. liegen) findest du eine Datei die server_log.txt heisst. Die aufmachen und den Inhalt hier rein kopieren.


    Den PWN knopf nicht vergessen, damit alles ein bisschen strukturierter ist.

    ich hab auch das von strickenkid.. mein connect:


    host: dein server (127.0.0.1)
    user: mysql user
    pass: dessen pw
    db: die datenbank (samp o.ä.)


    mysql_connect(host, user, pass, db, mysql_init(LOG_ALL,_), 1);


    um nicht alles zu loggen --> LOG_ALL durch _ ersetzen

    Hallo zusammen


    Ich schaff es einfach nicht, die Nitroflaschen (Objekt 1010) richtig auf den Rücken des Spielers zu bekommen. Wie muss ich die Coords anpassen? Gibt es etwas, was einem das vereinfacht, ohne das man immer wieder neu kompilieren muss?


    So hab ichs bisher:


    SetPlayerAttachedObject(playerid, 1, 1010, 1, 0, -0.1, 0.18, 0, 0, 0, 1, 1, 1);


    nur so is er iwie auf dem Kopf und beim rücken auf der linken seite gegen aussen..


    MFG selEcT

    Hallo Leute


    Hab ein komisches Problem 8|


    mit dem Befehl /tax kann ich die steuern setzen.


    Da kommt erstma nen Auswahldialog, welche Steuer man setzen will, kein Problem :thumbup:


    Dann klickt man rein und es erscheint wieder ein Dialog mit der Eingabe. Da steht auch die jetzige Steuer im Titel. Diese kommt aus mysql und beträgt im Moment 0.06%


    So, da is schonmal das erste Problem! Im Dialog steht 0.05% statt 0.06%! Obwohl da im format-Befehl "%.2f%%" steht.. ?(


    So, wäre ja halb so schlimm. Dann gib ich halt mal z.B. 0.06 ins Eingabefeld ein. Er nimmt alles an, in der MySQL speichert er es auch mit 0.06.


    Danach erscheint ein Text, das die Steuer gesetzt wurde, allerdings steht das dort so:


    "Der allgemeine Steuersatz wurde auf 0.05 2.19521e-152esetzt" statt "Der allgemeine Steuersatz wurde auf 0.06% gesetzt"!


    Der Code dazu sieht so aus:


    new Float:tax = floatstr(inputtext);
    MySQLStuffUpdateFloat(1, "sGeneralTax", tax);
    format(string,STRING128,"Der allgemeine Steuersatz wurde auf %.2f%% gesetzt!",tax); //meiner meinung nach alles richtig :(
    return SendClientMessageToAll(C_ORANGE,string);



    habt ihr eine idee? :(


    MFG selEcT


    //edit: habs mal mit %.0f probiert, bringt auch nix.. wenn ich allerdings %.5f%% mache, dann kommt statt "Der allgemeine Steuersatz wurde auf 0.05 2.19521e-152esetzt" einfach "Der allgemeine Steuersatz wurde auf 0.06000 2.19521e-152esetzt"
    so, habs jetzt statt mit "%%" einfach mit "Prozent" angegeben. Jetzt wird es korrekt angezeigt. Allerdings wenn ich 0.06 eingebe, dann is wieder 0.5 (=> 0.05999) und wenn ich z.B. 0.8 eingebe, ist es 0.7.. kann es sein das da nicht richtig gerundet wird? oder was muss ich machen, damit das stimmt?

    1. ah so thx. Jo, das musst du PoTTii sagen :P
    2. öh keine Ahnung, so funktionierts auf jedenfall bei anderen Befehlen, dann würde das eigentlich reichen, wenn ich nur params abfrage, ob da das richtige drin ist, ohne nen sscanf aufruf? ^^
    3. jo, das geht soweit. allerdings musste ich if(!strcmp(string,"-",true)) auf if(!strcmp(option,"-",true)) bzw. if(!strcmp(description,"-",true)) ändern


    Funzt so, danke dir! :D


    edit: und wie mach ich das, wenn ich beim text noch paar zahlen hintendran hängen möchte? also zum beispiel irgendwie noch den preis und level oder so was?


    if(sscanf(params,"s[128]S(-)[64]dd",string,option,preis,level))


    das funzt net so wie das mit der beschreibung ^^


    edit2: so, hat gewirkt ^^


    danach


    if(!strcmp(string,"-",true)) return SCM(playerid, C_YELLOW, "BENUTZE: /house desc [text]");


    nochma mit sscanf testen ;)

    PlayerToPoint -> IsPlayerInRangeOf


    und bei den Sscanf parametern "s[32]" nei gehöhrt, versuch mal "s"


    1. Unterschied..?
    2. hatte ich bereits vorher, allerdings gibt er dann nen warning im server aus ;) probiers aus.



    1. für was steht das p? Funktioniert eigentlich soweit, nur das ich auch bei buy, sell und lock nen 2. parameter angeben muss, was net unbedingt gewollt ist.. ;)
    2. der zweite Code funzt leider nicht, kommt die Meldung "BENUTZE: /house desc [text]"..


    ich weiss, es wäre einfacher, 4 verschiedene commands zu machen. aber das sparrt platz..

    Hallo Leute


    Ich möchte gerne, dass man per Befehl die Hausbeschreibung anpassen kann. Allerdings geht das hiermit nicht richtig:


    dcmd_house(playerid,params[])
    {
    new string[STRING64];
    if(sscanf(params,"s[64]",string)) return SCM(playerid, C_YELLOW, "BENUTZE: /house [name:buy,sell,lock,desc]");
    //code: buy, sell, lock --> funktioniert ohne Probleme!
    if(!strcmp(string,"desc",true))
    {
    if(sscanf(string,"s[32]",description)) return SCM(playerid, C_YELLOW, "BENUTZE: /house desc [text]");
    for(new h=0;h<MAX_HOUSES;h++)
    {
    if(House[h][hID] > 0)
    {
    if(PlayerToPoint(1.0, playerid, House[h][hEntranceX], House[h][hEntranceY], House[h][hEntranceZ]) || PlayerToPoint(1.0, playerid, House[h][hExitX], House[h][hExitY], House[h][hExitZ]))
    {
    strmid(House[h][hDesc],description,0,strlen(description),255);
    return SCM(playerid, C_GREEN, "Die Beschreibung wurde erfolgreich angepasst!");
    }
    }
    }
    return SCM(playerid, C_RED, "Du bist nicht bei deinem Haus!");
    }
    return 1;
    }


    das Problem: er setzt mir als Beschreibung direkt "desc", obwohl er eigentlich das zeugs in "text" speichern sollte. Jemand ne Ahnung? :(


    MFG


    edit: kann es sein, dass das (nicht) mehr geht? bei 0.3c hab ich (in nem alten script) nen ähnlichen Befehl drin gehabt, dort hats damals aber noch funktioniert..