[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
  • Bin auf ein anderes MySQL Plugin umgestiegen und hab folgendes:
    [11:55:12] [debug] Run time error 19: "File or function is not found"
    [11:55:12] [debug] mysql_store_result
    [11:55:12] [debug] mysql_num_rows
    [11:55:12] [debug] mysql_fetch_row_format
    [11:55:12] [debug] mysql_free_result
    [11:55:12] [debug] mysql_debug
    [11:55:12] [debug] mysql_connect
    [11:55:12] [debug] mysql_close
    [11:55:12] [debug] mysql_ping
    [11:55:12] [debug] mysql_query
    [11:55:12] [debug] mysql_fetch_field_row
    [11:55:12] [debug] mysql_real_escape_string
    [11:55:12] [debug] mysql_fetch_int
    [11:55:12] [debug] mysql_num_fields
    [11:55:12] [debug] Run time error 19: "File or function is not found"
    [11:55:12] [debug] mysql_store_result
    [11:55:12] [debug] mysql_num_rows
    [11:55:12] [debug] mysql_fetch_row_format
    [11:55:12] [debug] mysql_free_result
    [11:55:12] [debug] mysql_debug
    [11:55:12] [debug] mysql_connect
    [11:55:12] [debug] mysql_close
    [11:55:12] [debug] mysql_ping
    [11:55:12] [debug] mysql_query
    [11:55:12] [debug] mysql_fetch_field_row
    [11:55:12] [debug] mysql_real_escape_string
    [11:55:12] [debug] mysql_fetch_int
    [11:55:12] [debug] mysql_num_fields



    Wie kann ich das beheben?

  • Beitrag von AirM4X ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • @[LnD]JustMe.77:
    Wieso muss es überhaupt ZCMD sein? ocmd ist neuer und einfacher in der Anwendung:
    ocmd 2.1.1 [ Update 3.11.2013 ]


    An was genau das Problem liegt kann ich dir nicht sagen, da kann es viele Gründe geben. Teste mal ocmd.



    Corvus:
    Dann stimmen die alten Funktionen nicht mit dem neuen Plugin überein. Da bleiben dir nur zwei Möglichkeiten:
    - Alte Version (R9 war es glaub) verwenden
    - Code auf neue Version umschreiben

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


    Ich benutze jetzt ocmd.


    Mein Crash Befehl:



    ocmd:crashme(playerid,params[])
    {


    GameTextForPlayer(playerid, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 1000, 0);
    GameTextForPlayer(playerid, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 2000, 1);
    GameTextForPlayer(playerid, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 3000, 2);
    GameTextForPlayer(playerid, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 4000, 3);
    GameTextForPlayer(playerid, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 5000, 4);
    GameTextForPlayer(playerid, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 6000, 5);
    GameTextForPlayer(playerid, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 7000, 6);
    GameTextForPlayer(playerid, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 12000, 6);


    }


    Wollte jetzt ein /forcecmd Befehl erstellen doch weiß nicht wie ich anfangen soll, mir würde es helfen wenn ich eine Vorlage habe für zukünftige Befehle..


    Mit freundlichen Grüßen
    JustMe.77 8)

  • ocmd:crash(playerid,params[])
    {
    new pID, tmp[20], idx;
    tmp = strtok(params, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid,0xFF0000FF,"Fehler: /crash [playerid/SpielerName]");
    if(IsNumeric(tmp)) pID = strval(tmp);
    else pID = ReturnPlayerID(tmp);
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,0xFF0000FF,"Der Spieler ist nicht online");
    GameTextForPlayer(pID, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 1000, 0);
    GameTextForPlayer(pID, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 2000, 1);
    GameTextForPlayer(pID, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 3000, 2);
    GameTextForPlayer(pID, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 4000, 3);
    GameTextForPlayer(pID, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 5000, 4);
    GameTextForPlayer(pID, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 6000, 5);
    GameTextForPlayer(pID, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 7000, 6);
    GameTextForPlayer(pID, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 12000, 6);
    return 1;
    }


    ocmd:fakecmd(playerid,params[])
    {
    new pID, tmp[20], tmp2[20], idx;
    tmp = strtok(params, idx);
    tmp2 = strtok(params, idx);
    if(!strlen(tmp2)) return SendClientMessage(playerid,0xFF0000FF,"Fehler: /fakecmd [playerid/SpielerName] [Befehl]");
    if(IsNumeric(tmp)) pID = strval(tmp);
    else pID = ReturnPlayerID(tmp);
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,0xFF0000FF,"Der Spieler ist nicht online");
    new cmd[128];
    format(cmd, sizeof(cmd), params[strlen(tmp)+1]);
    CallRemoteFunction("OnPlayerCommandText", "ds", pID, cmd);
    return 1;
    }


    Ganz unten im Gamemode/Filterscript einfügen:

    Spoiler anzeigen
    stock strtok(const string[], &index) //©Jeffry
    {
    new result[20], length = strlen(string), i = index;
    while ((i < length) && (string[i] == ' ')) i++;
    strmid(result,string,i,((index = strfind(string, " ", false, i)) == -1) ? (index = length) : (index) , 20);
    index++;
    return result;
    }

    Spoiler anzeigen
    stock ReturnPlayerID(l_PlayerName[]) //©Jeffry
    {
    new l_name[MAX_PLAYER_NAME];
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(GetPlayerName(i, l_name, MAX_PLAYER_NAME))
    {
    if(!strcmp(l_name,l_PlayerName, true)) return i;
    }
    }
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(GetPlayerName(i, l_name, MAX_PLAYER_NAME))
    {
    if(strfind(l_name,l_PlayerName,true)!=-1) return i;
    }
    }
    return INVALID_PLAYER_ID;
    }

    Spoiler anzeigen
    stock IsNumeric(string[])
    {
    for (new i = 0, j = strlen(string); i < j; i++)
    {
    if ((string[i] > '9' || string[i] < '0')) return 0;
    }
    return 1;
    }

  • Jeffry wieso nicht sscanf?


    Weil ich kein Freund von Plugins bin, und außerdem kein Freund von sscanf, da es in manchen Anwendungen sehr einschränkend sein kann. Außerdem kann es bei Versionsänderungen zu Problemen kommen, da ist mir die Unabhängigkeit wichtiger, als ein paar Nanosekunden in der Ausführung. ;)
    Die Abneigung von sscanf stammt noch aus der Zeit der sscanf Funktion. Mit dem Plugin ist einiges besser geworden, aber es ist eben ein Plugin.


    Falls [LnD]JustMe.77 das in sscanf haben will soll er Bescheid sagen. Aber ich denke das bekommt er auch selbst hin.