Nützliche Codeschnipsel

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
  • Hab ne Funktion gemacht , ich weiss nicht obs besser ist als das Standard 'strmid', er findet den wert raus von einem bestimmten Start index
    eines Textwerts bis zum ende was man selber festlegt vllt ist es nützlich :)


    stock bmid(const String[128],start,End)
    {
    new output[128];
    new ende,starter;
    ende = End;
    starter = start;
    new oIDX=0;
    for(new xmid = starter;xmid<ende;xmid++)
    {
    output[oIDX]=String[xmid];
    oIDX++;
    }
    return output;
    }


    Beispiel:


    new test[128];
    strmid(test,"testwort",0,128,128);
    SendClientMessage(playerid,FARBE,bmid(test,5,9));


    er müsste wort rausfinden

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • Wat? Ich habe den schrott befehl doch nich geschrieben ich hätte eher so gemacht das man die wetter id im befehl mitreinschreiben muss.Mad Dog hat doch gefragt "Und wieso sollte eine /settime Funktion nur bis 24 Slots funktionieren? oO " und das hat im keiner beantwortet und deswegen habe ich das getan.

  • Achso, entschuldige. Habe mich vertan ^^
    Hier noch eine Funktion um Online Spieler zu kriegen.


    stock GetOnlinePlayers()
    {
    new all;
    for(new i=0;i<=MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i))
    {
    all++;
    }
    }
    return all;
    }


    EDIT: 1000 Posts, juhu.

  • Ne vereinfachte strcmp Funktion bzw. es ist noch strcmp nur halt kürzer und man versteht besser , damit kann man checken ob 2 Text werte miteinander übereinstimmen:


    stock strmatch(const String1[], const String2[])
    {
    if ((strcmp(String1, String2, true, strlen(String2)) == 0) && (strlen(String2) == strlen(String1))){return true;}
    else{return false;}
    }


    Da braucht man nicht soviel tippen, einfach nur wert 1 z.b. ne variable , mit dem Spielername überprüfen

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Hier is noch Strcmp aber diesmal Kommplett Selfmade ^^


    stock StrCmps(const String1[],const String2[])
    {
    new trues = 0;
    for(new index = 0;index<strlen(String1);index++){
    if(String1[index] == String2[index]){
    trues++;}}
    if(trues == strlen(String2) && strlen(String1) == strlen(String2)){
    return true;}
    else{
    return false;}
    }


    Er geht index für index durch sobald die Index Stelle überein stimmt Zählt 'trues' + 1 wenn trues am ende
    die Länge vom String hat also die Länge des Textes und String 1 und String2 die gleiche Länge haben erkennt er es als Richtig
    andernfalls Falsch ^^

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • naja ich bin am rumm Tüffteln , will mal was anderes probieren als die normalen Funktionen ^^


    //EDIT


    Hier ist nochwas um den Text zu "Spiegeln" ^^


    stock TextSpiegeln(const String[])
    {
    new output[128];
    new i = 0;
    new wert=strlen(String);
    while(i<strlen(String))
    {
    wert--;
    output[i] = String[wert];
    i++;
    }
    return output;
    }

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


    Einmal editiert, zuletzt von BlackFoX ()

  • Ob deine Funktionen für produktive Scripte hilfreich sind, bin ich nicht von überzeugt. Die nativen Funktionen sind immer schneller als deine Eigenen. Auf jeden Fall macht es Fun, so etwas eigenes zu erstellen. Und man lernt, die nativen Funktionen besser einzusetzen, wenn man sie nachrekonstruiert. Insofern sind es "nützliche Codeschnipsel". :)

    ICQ Scripting - Support 495961653
    Montags-Freitags ab 15 Uhr

  • Der Text wird gespiegelt, ich und Blaggi spielen im Moment mit dem Index einer Zeichenkette ;)
    Hier meine selbsterstelle "strlen" Funktion:
    stock strlenght(const string[])
    {
    new index = 500;
    new space;
    while(index > 0)
    {
    if(string[index] == "")
    {
    space++;
    }
    index--;
    }
    new lenght = 500 - space;
    return length;
    }


    Ich weiss nicht genau ob sie funktioniert, aber dürfte ;)

  • DMA,
    stock strmatch(const str1[], const str2[])
    return (!strcmp(str1, str2)&&strlen(str1)==strlen(str2));
    Ist auch ohne '?(true):(false)' noch schneller :P


    @ BlackFoX ,
    üff...Sehr langsam die funktion....


    Aber dann kannstd u die funktion nicht bool taggen :O


    (tagof ftw)


    Edit:// wth ist das für einen strlen funktion?
    Wärs nicht so logischer:
    strlen(const string[])
    {
    new i = 0;
    while(string[i]!='\0') ++i;
    return i-1;
    }