[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
  • Kann man über das Script einstellen, dass man wenn man von einer ganz bestimmten WAffe abschossen wurde sofort stirbt, z.B. jemand scheißt einen mit Full HP und Full Rüstung mit der Sniper ab und der stirbt sofort. Wenn ja wie?

  • Warum Funktioniert das nicht?
    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if(PRESSED(KEY_DOWN))
    {
    for(new i = 0;i<MAX_PLAYERS;i++){
    if(darf[playerid] == 1)
    {
    if(textvar[playerid] == 1)
    {
    new string[64];
    format(string, sizeof(string), "~y~Kicken~n~~r~Bannen");
    TextDrawSetString(test[i], string);
    auswahl[playerid] = 1;
    textvar[playerid] = 2;
    }
    else if(textvar[playerid] == 2)
    {
    new string[64];
    format(string, sizeof(string), "~r~Kicken~n~~y~Bannen");
    TextDrawSetString(test[i], string);
    auswahl[playerid] = 2;
    textvar[playerid] = 1;
    }
    }
    }


    }
    return 1;
    }

  • hi wollte mal was fragen, wenn ich mein gm mit pawno umwandle
    kommt bei mir
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    bei den meisten anderen das
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    Header size: 4268 bytes
    Code size: 197248 bytes
    Data size: 857860 bytes
    Stack/heap size: 16384 bytes; estimated max. usage: unknown, due to recursion
    Total requirements: 1075760 bytes


    kann mir einer erklären warum das so ist, oder wie man das ändern kann

  • Wenn man keine ahnung hat leise sein^^.
    Das mit Pressed is im Wiki so vorgegeben + einem define.
    Außerdem funktioniert deine 2. Methode nicht, da man allgemein
    nur mit KeyJustDown die Pfeiltasten nutzen kann.

  • Da musst du nichts verändern bzw. kannst es auch gar nicht
    Das bedeutet nur, dass dein Script keine Errors enthält und "tauglich" ist


    Nicht jeder, der sich für super hält, ist ein Superheld. :love:
    ------------------------------------------------------------------------------------------------

  • dieser Teil taucht auf sobald der Speicher dieser Datei eine bestimmte Größe erreicht & je nach dem wie viel Ressourcen verbraucht werden, jedes Datenfeld hat so seinen Sinn.
    Header : Darin werden Informationen zur Version des Compilers gespeichert zudem der Hersteller & die Version der Binären Ausgabe alles was relevant ist.
    Code Size : Original Größe des Codes
    Data Size : Größe der Ausgabe im Speicher
    Stack/Heap : Der Zwischenspeicher für diverse Daten ( Variablen , Inhalte usw. ) so was wie eine Cache
    Total : Gesamte verbrauchte Ressourcen.

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • das wusste ich schon :D


    ich meine nur warum bei den anderen das auftaucht und bei mir nicht
    Header size: 4268 bytes
    Code size: 197248 bytes
    Data size: 857860 bytes
    Stack/heap size: 16384 bytes; estimated max. usage: unknown, due to recursion
    Total requirements: 1075760 bytes


    wollte nur fragen ob es ein grund dafür gibt


    edit: aso hast du ja schon beantwortet

  • Wie kann ich das nach einander aufrufen?



    new namen[3][50] = {
    {"Du bist der Beste"},
    {"okay der aller beste"},
    {"nagut du bist der King"}
    };

    if (strcmp("/derschoenste", cmdtext, true, 10) == 0)
    {
    new str[66];
    format(str,sizeof(str),"Dein Name: %s",namen);
    SendClientMessage(playerid,0xB50000FF,str);
    return 1;
    }
    Nach 1 soll 2 kommen nach 2 soll 3 und dann wieder bei 1 anfangen.

  • Immer nach erneuten eingeben des Befehls soll er zum nächsten switchen.
    würde das mit case gehen?
    So zb.:
    new namen[3][50] = {
    case 0: {"Du bist der Beste"},
    case 1: {"okay der aller beste"},
    case 2: {"nagut du bist der King"}
    };

    Einmal editiert, zuletzt von DaN ()

  • ne machs so
    new bob1234;
    #define MAX_NAMEN 3
    ocmd:derschoenste(i,prm[])
    {
    SendClientMessage(i,0xB50000FF,namen[bob1234]);
    bob1234++;
    if(bob1234==MAX_NAMEN-1)bob1234=0;
    }

    Einmal editiert, zuletzt von kleinerOpa ()

  • Kannst das auch mal mit meinen Variablen machen?
    weiß ja garnicht was du ansprichst ^^.
    Wäre nett.
    // Edit Funtkioniert nicht ^^. Wählt nur das 1 immer aus.

    Einmal editiert, zuletzt von DaN ()

  • new cmd_next = -1; // Lokal definieren sprich außerhalb aller Funktionen
    if(!strcmp("/next",cmdtext,true))
    {
    cmd_next = (cmd_next == sizeof(array)) ? (-1) : (cmdtext+1);
    return SendClientMesssage(playerid,0x00FF00FF,array[cmd_next]);
    }


    array gegen deine Array ersetzen ^^

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • okay funzt.
    Aber wenn das 3. kam und ich danach nochma den befehl eingebe kommt
    server unknown command.
    und sonst nix.

    2 Mal editiert, zuletzt von DaN ()