Angepinnt [SAMMELTHREAD] Kleine Scripting Fragen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Ja,

    das Objekt mit

    PAWN-Quellcode

    1. MoveDynamicObject(objectid, Float:x, Float:y, Float:z, Float:speed, Float:rx = -1000.0, Float:ry = -1000.0, Float:rz = -1000.0)

    an der Z-Achse rotieren.
    Allerdings musst du für eine saubere Drehung die Position des Objektes ein wenig anpassen.
    Bspw. um 0.01 an der z-Achse oder ähnliches, andernfalls springt die Tür zur Endposition statt zu rotieren

    Nova-eSports NewLife | www.nes-newlife.de
    Serverleitung
  • Teste die Dinge die du baust doch bitte erstmal bevor du erneut nachfragst, der Compiler sagt dir schon ob etwas nicht stimmt.

    Dein Code

    PAWN-Quellcode

    1. MoveDynamicObject(LSPDObj[16], 97.3023, 1924.0334, 17.0608, 3.0, 0.0000 = -1000.0, 0.0000 = -1000.0, 84.5000 = -1000.0)


    ist so nicht korrekt.
    Du möchtest das Objekt rotieren, also dürfen die Rotations-Koordinaten natürlich nicht die gleichen sein wie beim erstellten Objekt.
    Des Weiteren sind die Angaben bei den Rotationen falsch, mach das =-1000.0 überall weg und gib NUR die Koordinaten an.
    Wenn du eine Tür also bspw. um 90 Grad öffnen möchtest, wird die Rotation an der Z-Achse entweder um 90.0 ins Minus oder 90.0 ins Plus gehen.

    Zu dem 0.01:

    Grundsätzlich ist egal ob du es addierst oder abziehst, wichtig ist dass du beim Schließen der Tür das ganze wieder revidierst.
    Also beim Öffnen 0.01 zur Z-Achse addieren, beim Schließen 0.01 abziehen.

    Nova-eSports NewLife | www.nes-newlife.de
    Serverleitung
  • Heyho,
    ich hätte mal eine kleine Frage, welche ich mir absolut nicht erklären kann.
    Ab und an Stürzt der Server ab, gleich vorweg zu den Fehler:
    Es ist nicht immer, es passiert einfach ab und an einmal und auch nicht immer beim gleichen Spieler.

    Folgender Debug in der server.log:

    Spoiler anzeigen

    PAWN-Quellcode

    1. [21:56:49] SpielerX Account hat geladen!
    2. [21:56:49] [debug] Server crashed while executing Haupt-Script.amx
    3. [21:56:49] [debug] AMX backtrace:
    4. [21:56:49] [debug] #0 native cache_get_field_content () in mysql.so
    5. [21:56:49] [debug] #1 0043332c in public LoadAccountWeapons (playerid=27) at C:***.pwn:62115



    Bei der mysql.log:

    Spoiler anzeigen

    PAWN-Quellcode

    1. [21:56:49] [DEBUG] Calling callback "LoadAccountWeapons"..
    2. [21:56:49] [DEBUG] cache_get_data - connection: 1
    3. [21:56:49] [DEBUG] cache_get_field_content - row: 0, field_name: "9mm", connection: 1, max_len: 25
    4. [21:56:49] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "9mm", data: "0"
    5. [21:56:49] [DEBUG] cache_get_field_content - row: 0, field_name: "9mmschuss", connection: 1, max_len: 25
    6. [21:56:49] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "9mmschuss", data: "0"
    7. [21:56:49] [DEBUG] cache_get_field_content - row: 0, field_name: "deagleart", connection: 1, max_len: 25
    8. [21:56:49] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
    9. [21:56:49] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "deagleart", data: "1"



    Entsprechende Zeile dazu im Script:

    Spoiler anzeigen

    PAWN-Quellcode

    1. cache_get_field_content(0,"deagleart",result);
    2. Spieler[playerid][WeaponPlayer][1] = strval(result);



    In dem public "LoadAccountWeapons" ist noch mehr beinhaltet, jedoch passiert dies nur bei "deagleart"

    Kann mir das jemand erklären, wieso es nicht immer passiert? 8|

    Legends of Hardcore - German Streets (LoH) | Das Original Comeback!
  • Hey,

    Kurze frage habe mir ein Filterscript für admins runtergeladen für mein Mapping Server

    Jetzt wollte ich noch ein unbann befehl machen da ich die SQL Format 3 Datei nicht bearbeiten kann warum auch immer.

    Siehe hier:

    C-Quellcode

    1. CMD:unban(playerid,params[])
    2. {
    3. new NameString[64], GrundString[64], string[128];
    4. if(sscanf(params,"s[64]s[64]", NameString, GrundString))return SendClientMessage(playerid, red, "[INFO]: /unban [Spieler Name] [Grund]");
    5. if(strlen(GrundString) > 30)return SendClientMessage(playerid, red, "[INFO]: /unban [Spieler Name] [Grund darf maximal 30 Zeichen haben]");
    6. format(string, sizeof(string), "%s hat den Spieler %s entbannt, Grund: %s", pName(playerid), pName(NameString), GrundString);
    7. SendClientMessageToAll(grey, string); //3618
    8. PlayerInfo[NameString][Banned] = 0; //3620
    9. return 1;
    10. }

    PAWN-Quellcode

    1. C:\Users\Patrik\Desktop\Allgemein\Mapping Server\filterscripts\ladmin.pwn(3618) : error 035: argument type mismatch (argument 1)C:\Users\Patrik\Desktop\Allgemein\Mapping Server\filterscripts\ladmin.pwn(3620) : error 033: array must be indexed (variable "NameString")
  • Dr. Frauenarzt schrieb:

    Hey,

    Kurze frage habe mir ein Filterscript für admins runtergeladen für mein Mapping Server

    Jetzt wollte ich noch ein unbann befehl machen da ich die SQL Format 3 Datei nicht bearbeiten kann warum auch immer.

    Siehe hier:

    C-Quellcode

    1. CMD:unban(playerid,params[])
    2. {
    3. new NameString[64], GrundString[64], string[128];
    4. if(sscanf(params,"s[64]s[64]", NameString, GrundString))return SendClientMessage(playerid, red, "[INFO]: /unban [Spieler Name] [Grund]");
    5. if(strlen(GrundString) > 30)return SendClientMessage(playerid, red, "[INFO]: /unban [Spieler Name] [Grund darf maximal 30 Zeichen haben]");
    6. format(string, sizeof(string), "%s hat den Spieler %s entbannt, Grund: %s", pName(playerid), pName(NameString), GrundString);
    7. SendClientMessageToAll(grey, string); //3618
    8. PlayerInfo[NameString][Banned] = 0; //3620
    9. return 1;
    10. }

    PAWN-Quellcode

    1. C:\Users\Patrik\Desktop\Allgemein\Mapping Server\filterscripts\ladmin.pwn(3618) : error 035: argument type mismatch (argument 1)C:\Users\Patrik\Desktop\Allgemein\Mapping Server\filterscripts\ladmin.pwn(3620) : error 033: array must be indexed (variable "NameString")

    pName(NameString) zu NameString
  • E:

    Habe nun das ganze umgeschrieben siehe hier:

    Quellcode

    1. CMD:unban(playerid,params[])
    2. {
    3. new NameString[64], GrundString[64], string[128];
    4. if(sscanf(params,"s[64]s[64]", NameString, GrundString))return SendClientMessage(playerid, COLOR_WHITE, "{FF4000}[INFO]: {33AA33}/unban [Spieler Name] [Grund]");
    5. if(strlen(GrundString) > 30)return SendClientMessage(playerid, COLOR_WHITE, "{FF4000}[INFO]: {33AA33}/unban [Spieler Name] [Grund darf maximal 30 Zeichen haben]");
    6. format(string, sizeof(string), "{AA3333}%s hat den Spieler %s entbannt, Grund: %s", pName(playerid), NameString, GrundString);
    7. SendClientMessageToAll(COLOR_WHITE, string);
    8. format(string, sizeof(string), "UPDATE `users` SET `banned` = '0' WHERE `username` = '%s'", DB_Escape(NameString));
    9. db_query(database, string);
    10. printf(string);
    11. return 1;
    12. }
    Alles anzeigen

    PAWN-Quellcode

    1. [16:59:16] UPDATE `users` SET `banned` = '0' WHERE `username` = -


    username bleibt geheim^^
    Aber er stimmt aufjedenfall.

    Also es setzt sich nichts auf 0 es bleibt gleich...

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Dr. Frauenarzt ()


  • Hello,
    so guys i need you to help me... Spaß bei Seite :D

    Bin gerade dabei ein wenig Ordnung in mein Script zu bringen.
    Hier habe ich die X, Y, Z, RZ Positionen von dem Objekt gelagert.
    Ich möchte das Objekt gerne erstellen OBJID: 963
    Aber so kann ich es ja nicht benutzten, da die Reihenfolge ja nicht stimmt da ich nach der Z Koordinate ja die RX kommt.

    C-Quellcode

    1. stock const Float:ticketATM[][] =
    2. {
    3. {1148.9121,-1464.1848,18.5138,270.0000}, //1
    4. {1609.9197,-524.0646,15.5138,450.0000}, //2
    5. {1910.7603,-751.3950,19.5138,270.0000}, //3
    6. {9951.0599,-150.2548,21.5138,450.0000} //4
    7. };

    PAWN-Quellcode

    1. CreateDynamicObject (ItemID, X, Y, Z, RX, RY, RZ, world);
    Jemand eine Idee, wird es dazwischen bei RX, RY, ein 0, 0 tun? Und kann ich dann die Zeile beim Erstellen einzeln so lassen?

    Ich weiß, dass ich weiß, dass ich nichts weiß.
  • Allrounder18 schrieb:

    Kann ich ein Fahhrad drosseln von der Geschwindigkeit her, wen es keinen Tacho hat?
    Jaa...das hat nix mit dem Tacho zu tun...könntest einfach das nutzen: forum.sa-mp.com/showthread.php?t=179089


    BrightLeaN schrieb:

    Und kann ich dann die Zeile beim Erstellen einzeln so lassen?
    Du kannst die 0,0 doch einfach setzen:

    C-Quellcode

    1. for(new i; i<sizeof(ticketATM); i++)
    2. {
    3. CreateDynamicObject (963, ticketATM[i][0], ticketATM[i][1], ticketATM[i][2], 0, 0, ticketATM[i][3]);
    4. }


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. X/
  • Dan

    Kaliber schrieb:

    Allrounder18 schrieb:

    Kann ich ein Fahhrad drosseln von der Geschwindigkeit her, wen es keinen Tacho hat?
    Jaa...das hat nix mit dem Tacho zu tun...könntest einfach das nutzen: forum.sa-mp.com/showthread.php?t=179089
    Danke, Problem hat sich erledigt.
    Ist es irgendwie möglich nen Löschhubschrauber zu scripten? Also dass der Hubschrauber Wasser rausspritzen kann unten.
  • Allrounder18 schrieb:

    Also dass der Hubschrauber Wasser rausspritzen kann unten.
    Kloar, musste mal experimentieren mit ein paar Objekten :)

    Wenn halt eine Taste gedrückt wurde im Heli, wird das Objekt erstellt (einfach die Z-Achse vom Heli nehmen und ein wenig nach unten setzen) und dann prüfen, ob das über einem Feuer war und das dann mit einem Timer (halt zeitversetzt) löschen :)


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. X/
  • Objekt wird erstellt, das Textlabel nicht.
    Ich komme einfach nicht darauf woran es liegt.

    C-Quellcode

    1. stock const Float:ticketATM[][] =
    2. {
    3. {1148.9121,-1464.1848,18.5138,270.0000}, //1
    4. {1609.9197,-524.0646,15.5138,450.0000}, //2
    5. {1910.7603,-751.3950,19.5138,270.0000}, //3
    6. {9951.0599,-150.2548,21.5138,450.0000} //4
    7. };

    C-Quellcode

    1. for(new i; i<sizeof(ticketATM); i++) //Parkschein Automat
    2. {
    3. CreateDynamicObject (963, ticketATM[i][0], ticketATM[i][1], ticketATM[i][2], 90, 0, ticketATM[i][3]);
    4. Create3DTextLabel("X", YELLOW,ticketATM[i][0],ticketATM[i][1],ticketATM[i][2], 15.0, 0, -1);
    5. }

    Ich weiß, dass ich weiß, dass ich nichts weiß.
  • Wie kann ich de am besten mit ocmd einen Befehl machen der mir den Chat löscht?

    Edit: So hab ichs getestet, jedoch gehts net.

    PAWN-Quellcode

    1. ocmd:cl(playerid,foronlyaplayerorall)
    2. {
    3. switch(foronlyaplayerorall)
    4. {
    5. case 0:
    6. {
    7. for(new i=0;i<100;i++)
    8. {
    9. SendClientMessage(playerid,WEISS,"");
    10. }
    11. return 1;
    12. }
    13. case 1:
    14. {
    15. for(new i=0;i<100;i++)
    16. {
    17. SendClientMessageToAll(WEISS,"");
    18. }
    19. return 1;
    20. }
    21. }
    22. return 1;
    23. }
    Alles anzeigen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Allrounder18 ()

  • So zum Beispiel:

    C-Quellcode

    1. ocmd:cl(playerid,params[])
    2. {
    3. new id;
    4. if(sscanf(params,"i",id)) return SendClientMessage(playerid,WEISS,"Verwendung: /cl [0 = Man selbst | 1 = Für Alle]");
    5. switch(id)
    6. {
    7. case 0:
    8. {
    9. for(new i; i<100; i++) SendClientMessage(playerid,WEISS,"");
    10. }
    11. case 1:
    12. {
    13. for(new i; i<100; i++) SendClientMessageToAll(WEISS,"");
    14. }
    15. }
    16. return 1;
    17. }
    Alles anzeigen


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. X/
  • Danke, der Befehl hat geklappt.

    Kaliber schrieb:

    Allrounder18 schrieb:

    Also dass der Hubschrauber Wasser rausspritzen kann unten.
    Kloar, musste mal experimentieren mit ein paar Objekten :)
    Wenn halt eine Taste gedrückt wurde im Heli, wird das Objekt erstellt (einfach die Z-Achse vom Heli nehmen und ein wenig nach unten setzen) und dann prüfen, ob das über einem Feuer war und das dann mit einem Timer (halt zeitversetzt) löschen :)
    Also, es sollte funktionieren, aber man kanndas Feuer damit nicht wirklich löschen, sondern es geht mit nem Timer aus wenn man drüber fliegt oder wie?
  • Allrounder18 schrieb:

    Also, es sollte funktionieren, aber man kanndas Feuer damit nicht wirklich löschen, sondern es geht mit nem Timer aus wenn man drüber fliegt oder wie?
    Feuer ist nur ein Objekt.

    Und wie soll ein Objekt ein anderes Objekt einfach so eliminieren? :D

    Du musst checken, ob das Wasser-Objekt bei dem Feuer-Objekt ist und das Feuer-Objekt dann halt eben zerstören.

    Da gibt es bestimmt eine Funktion für...je nachdem, welches System du dafür nutzt um das Feuer zu erstellen :)

    Der Timer dient nur als Zeitverzögern, nicht dass das Wasser Objekt erstellt wird und dann das Feuer sofort aus geht..das macht ja keinen Sinn..das Wasser-Objekt muss natürlich erstmal beim Feuer ankommen :D


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. X/