Beiträge von Kaliber

    Du kannst nicht die playerid verwenden, da die sich doch jedes mal ändert und wenn der Spieler offline ist schon gar nicht existiert.


    Du musst einfach nur den Namen von dem Spieler verwenden, das ist der eindeutige Key und nicht die playerid ^^

    Lies bitte noch mal meinen Beitrag. Ich rede eigentlich nirgends von listitem.



    welche Datenbank ID der Player hat den ich ausgewählt habe.

    Habe doch exakt erklärt was du dann tun kannst. Du hast den Namen des Spielers, dieser ist ein eindeutiger Key für deine MySQL Tabelle.


    Jetzt kannst du sowas machen:



    C
    format(string,sizeof(string),"UPDATE `K_Accounts` SET `admin`='0' WHERE `name`='%s'",inputtext);

    So kannst du dann dem Spieler z.B. sein Adminlevel entziehen.


    Mit [wiki]SetPVarString[/wiki] kannst du inputtext natürlich auch ganz einfach zwischenspeichern :)

    Ja, ist irgendwie komisch, manche Funktionen buggen und werden nicht angezeigt.


    Da hilft ein schneller Blick ins Wiki: [wiki]GetPVarFloat[/wiki] und du weißt, ahh ja die Funktion existiert :D


    Und natürlich, kannst du das damit zwischenspeichern ;)

    Unter [wiki]OnDialogResponse[/wiki], hast du ja einmal listitem, aber auch inputtext.


    In diesem Fall bei DIALOG_STYLE_TABLIST_HEADERS entspricht inputtext exakt dem ersten Eintrag, also dem Namen von dem listitem.


    Sagen wir dein Dialog sieht so aus:



    Code
    Kaliber\tBabo\tOnline\n
    reaL.\tChabo\tOnline

    Klickt man jetzt auf listitem 1, entspricht inputtext = "Kaliber" und klickt man auf 2, entspricht inputtext "reaL."


    Das bedeutet, wenn du dann etwas ändern willst, hast du direkt den Namen und kannst über SQL direkt etwas ändern und natürlich auch mit ReturnUser die playerid von dem Spieler herausfinden, falls dieser online ist und diesen bearbeiten :)


    //Edit: Hier mal eine detaillierte Liste: http://wiki.sa-mp.com/wiki/Dialog_Styles

    @XonarZ


    Hmm, also da du das nur auf die 2. Stelle genau haben willst, funktioniert das eigentlich perfekt:



    Also bei mir funktioniert das alles perfekt.


    Kann es sein, dass du bei der Zuweisung einen Fehler gemacht hast oder so? :)

    3 Dinge zu dem Code:


    • IsPlayerConnect(playerid) das brauchst du nicht abfragen, da der Spieler ja online sein muss, um den Befehl einzugeben ^^ bzw kannst es 1x im Callback oben abfragen, aber nicht im jeden Befehl xD
    • Diese *then Notation ist zwar lustig, aber sollte man nicht verwenden, da das der Übersicht schadet.
    • PlayerToPoint ist schon sehr veraltet, einfach IsPlayerInRangeOfPoint nutzen. Oder die Funktion stock PlayetToPoint löschen und ein Makro oben im Skript machen: #define PlayerToPoint(%0,%1,%2,%3,%4) IsPlayerInRangeOfPoint(%1,%0,%2,%3,%4)


    C
    if(strcmp(cmdtext,"/towopen", true) == 0)
    {
    	if(!PlayerToPoint(5,playerid,1106.0683,-1691.4707,12.9108)) return SendClientMessage(playerid,-1,"Du befindest dich nicht in der Nähe!");
    	DestroyObject(OamtTor);
    	OamtTor2=CreateObject(968, 1106.07, -1691.47, 12.91,   0.00, -4.00, -90.00);
    	SendClientMessage(playerid,0x00C5FFFF,"Das Tor schließt in 5 Sekunden.");
    	SetTimerEx("oamtzu",5000,0,"i",playerid);
    	return 1;
    }

    Mit CreateDynamicObject erstellst du einfach das Feuer, da gibt es verschiedene modelids.


    https://dev.prineside.com/en/g…p_model_id/search/?q=fire


    Und joa, da gibst du halt die Koordinaten an und dann prüfst du ob wer in der Nähe ist mit was zum löschen und dann DestroyDynamicObject einfach :)


    Allerdings ist es nicht ganz soo einfach, da ja geguckt werden muss, da auch wirklich auf das Feuer gezielt wird usw.


    Meta hat da mal n System released gehabt, was ganz gut war: https://forum.sa-mp.com/showthread.php?t=226953


    Kannst da ja mal n bisschen schauen :)

    Der Fehler liegt bei den Includes.


    Öffne alle Skripte + Filterskripte, schau dass überall die neue Version verwendet wird und sei dir sicher, dass du das überall richtig eingefügt hast.


    Hier ein original Zitat von Y_LESS:


    Zitat von Y_LESS

    If you get this error, you need to make sure that you have recompiled ALL your scripts using the LATEST version of "sscanf2.inc". Older versions didn't really require this as they only had two natives - "sscanf" and "unformat", the new version has some other functions - you don't need to worry about them, but you must use "sscanf2.inc" so that they are correctly called. If you think you have done this and STILL get the error then try again - make sure you are using the correct version of PAWNO for example.

    Jemand Lust auf ne Runde Sumo?

    Gar nicht so schlecht :)


    Die Maps sind sehr abwechslungsreich und jede hat so seine Tücken, besonders mit den wechselnden Fahrzeugen, das finde ich sehr gut.


    Allerdings ist es etwas nervig, dass nach jeder Runde der Server restartet...


    Das könnte man ein wenig eleganter lösen, z.B. mit Filterskripts, die man dann neu lädt oder alles im Gamemode über seperate Includes :)


    Und Hacker sind ein großes Problem, da eventuell nochmal über ein geeignetes Anti-Cheat nachdenken :)