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
  • Das heisst "length" -.-"


    Ich scripte NICHT mehr, ich möchte mit NIEMANDEM einen Server aufmachen habe auch NICHTS mehr mit LoH zu tun, also lasst es mit den PNs!

  • Hab hier ne Funktion gemacht womit man den höchtsten beziehungsweise den kleinsten von einer
    bestimmten Zahlen kette Rausfinden kann


    Funktion:


    forward BestValue(valpack[],size);
    public BestValue(valpack[],size){
    new DeLaSizA = size;
    new retval;
    for(new i = 0;i<DeLaSizA;i++){
    for(new valz = i;valz<DeLaSizA;valz++){
    if(valz!=i){
    if(valpack[i] > valpack[valz]){retval = valpack[i];}}}}
    return retval;}


    In dem fall wird die höchste Rausgefunden, für die kleinste einfach das Größer / Kleiner Zeichen ändern in <


    BeiSpiel:


    new ZahlenPaket[5];


    ZahlenPaket[0] = 3;
    ZahlenPaket[1] = 1;
    ZahlenPaket[2] = 5;


    printf("Höchste Zahl ist %d",BestValue(ZahlenPaket,5);
    // Also erst das Paket mit den Zahlen halt dann die Größe des Pakets


    Have Fun ;)


    FoX

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • Spieler in einem bestimmten gebiet checken, nen bissl schneller als der Standard ;)


    #define InArea(%1,%2,%3,%4,%5,%6)\
    ((%1) < (%3)) && ((%1) > (%4)) && ((%2) < (%5)) && ((%2) > (%6))


    Nutzung:


    new Float:spieler_x,Float:spieler_y,Float:spieler_z;
    GetPlayerPos(playerid,spieler_x,spieler_y,spieler_z);
    if(InArea(spieler_x,spieler_y,maximalX,minimalX,maximalY,minimalY);


    Ich hoffe es ist nach eurem geschmack xD

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Sry wegen doppelpost....


    Muss ich vlt. das hier im /su befehl irgendwo einfügen
    if (ProxDetectorS(100.0, playerid, giveplayerid))


    so sieht der /su befehl aus


    if(strcmp(cmd, "/suspect", true) == 0 || strcmp(cmd, "/su", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(OnDuty[playerid] != 1 && PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pMember] == 12)
    {
    SendClientMessage(playerid, COLOR_GREY, " You are not on Duty!");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "USAGE: (/su)spect [playerid/PartOfName] [crime discription]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if (gTeam[playerid] == 2 || IsACop(playerid))
    {
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if (gTeam[giveplayerid] != 2)
    {
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "USAGE: (/su)spect [playerid/PartOfName] [crime text]");
    return 1;
    }
    if(WantedPoints[giveplayerid] == 0) { WantedPoints[giveplayerid] = 3; }
    else { WantedPoints[giveplayerid]+= 2; }
    SetPlayerCriminal(giveplayerid,playerid, result);
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD2, " You can't suspect a Cop !");
    }
    }
    }
    else
    {
    format(string, sizeof(string), " %d is not an active player.", giveplayerid);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD2, " You are not a Cop / FBI / National Guard !");
    }
    }
    return 1;
    }



    Wäre dem jenigen sehr danbar wen er den eine befehl dort rein scripten könnte...thx schonmal im vorraus

  • Mal ein simples Beispiel zum Adden des Commands /unprison, um Leute aus dem FDM zu holen.^^
    if(strcmp(cmd, "/unprison",true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pAdmin] < 2 // Admin Level definieren)
    {
    SendClientMessage(playerid, COLOR_GREY, " you are not authorized to use this command !");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /unprison [playerid/PartOfName]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "* You released %s from Fort DeMorgan.", giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTRED, string);
    format(string, sizeof(string), "* You were released from Fort DeMorgan by Admin %s.", sendername);
    SendClientMessage(giveplayerid, COLOR_LIGHTRED, string);
    PlayerInfo[giveplayerid][pJailed] = 0;
    PlayerInfo[giveplayerid][pJailTime] = 0;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " That player is Offline !");
    return 1;
    }
    }
    return 1;
    }

  • if(PlayerInfo[playerid][pAdmin] < 2 // Admin Level definieren)
    ERROR ;) "//" tut die ganze Zeile dahinter Kommentieren, also Klammer hinter die 2


    Ich scripte NICHT mehr, ich möchte mit NIEMANDEM einen Server aufmachen habe auch NICHTS mehr mit LoH zu tun, also lasst es mit den PNs!

  • #define SET_THE_SPAWN_MONEY 1000


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    switch(newstate)
    {
    case 8:
    {
    if(GetPlayerMoney(playerid) < SET_THE_SPAWN_MONEY) SetPlayerMoney(playerid, SET_THE_SPAWN_MONEY);
    }
    }
    return 1;
    }

  • Hier mal ein /Jailtime in Minuten-Script


    if(strcmp(cmd, "/jailtime", true) == 0)
        {
        if(IsPlayerConnected(playerid))
        {
                if(PlayerInfo[playerid][pJailed] >= 1)
                {
                    new chat[128];
                new mini;
                    mini = PlayerInfo[playerid][pJailTime]/60;
                    format(chat, sizeof(chat), "Du bist für %d Minuten im Gefängnis.", mini);
                    SendClientMessage(playerid, COLOR_LIGHTBLUE, chat);
                }
                else
                {
                SendClientMessage(playerid, COLOR_GRAD1, " Du bist nicht im Gefängnis!");
                }
            }
            return 1;
        }

  • if(GetPlayerMoney(playerid) < SET_THE_SPAWN_MONEY) SetPlayerMoney(playerid, SET_THE_SPAWN_MONEY);
    Nicht jeder hat SetPlayerMoney ^^, aber gute Idee!


    Ich scripte NICHT mehr, ich möchte mit NIEMANDEM einen Server aufmachen habe auch NICHTS mehr mit LoH zu tun, also lasst es mit den PNs!

  • Eine Funktion, die den gerundeten Durchschnittsping zurückgibt ^^
    Wers brauch, viel Spaß :)
    stock GetDurchschnittPing()
    {
    new allpings = 0;
    new allplayers = 0;
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    allpings += GetPlayerPing(i);
    allplayers += 1;
    }
    }
    return floatround(allpings/allplayers);
    }


    Falls schlechte Einrückung ==>breadfish.de/wcf/attachment/579/


    repeat(times);


    #define repeat(%1) for(new r=0; r<%1; r++)


    Beispiel:
    repeat(10)
    {
    print("Own3d by Me");
    print("---------------");
    }


    Ist eben was für Schreibfaule ;)


    Ich scripte NICHT mehr, ich möchte mit NIEMANDEM einen Server aufmachen habe auch NICHTS mehr mit LoH zu tun, also lasst es mit den PNs!

    Einmal editiert, zuletzt von M4rciii ()

  • Easy Language


    Ein nützlicher Code um einfache Multilanguage Server aufzubauen. Kein nerviges Abfragen. Wenig Code, viel Wirkung:


    Zuerst mal das hier nach ganz oben ins Script:
    new langp = 0;


    Danach das hier nach ganz unten:
    stock sLangMsg(playerid, color, langmsg1[], langmsg2[])
    {
    if(langp == 1)
    {
    SendClientMessage(playerid, color, langmsg1);
    }
    else if(langp == 2)
    {
    SendClientMessage(playerid, color, langmsg2);
    }
    }


    Wenn ihr jetzt die Sprache des Users einstellen wollt, setzt diese beiden Commands unter das Callback "OnPlayerCommandText":
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp("/lang1",cmdtext,true) == 0)
    {
    langp = 1;
    return 1;
    }
    if(strcmp("/lang2",cmdtext,true) == 0)
    {
    langp = 2;
    return 1;
    }
    return 0;
    }


    Um jetzt die langMsg anzuwenden könnt ihr zum Beispiel so etwas unter "OnPlayerSpawn" setzen:
    public OnPlayerSpawn(playerid)
    {
    sLangMsg(playerid, 0xFF0000FF, "Du bist gespawnt.", "You have spawned.");
    return 1;
    }


    Funktioniert bei mir bestens.


    Viel Spaß beim Script erstellen. ;)

  • stock GetMoneyFormat(value){
    new ffx2[128];
    if(value < 10 && value > 0){
    format(ffx2,sizeof(ffx2),"00000000%d",value);
    return ffx2;}
    else if(value < 100 && value > 9){
    format(ffx2,sizeof(ffx2),"0000000%d",value);
    return ffx2;}
    else if(value < 1000 && value > 99){
    format(ffx2,sizeof(ffx2),"000000%d",value);
    return ffx2;}
    else if(value < 10000 && value > 999){
    format(ffx2,sizeof(ffx2),"00000%d",value);
    return ffx2;}
    else if(value < 100000 && value > 9999){
    format(ffx2,sizeof(ffx2),"0000%d",value);
    return ffx2;}
    else if(value < 1000000 && value > 99999){
    format(ffx2,sizeof(ffx2),"000%d",value);
    return ffx2;}
    else if(value < 10000000 && value > 999999){
    format(ffx2,sizeof(ffx2),"00%d",value);
    return ffx2;}
    else if(value < 100000000 && value > 9999999){
    format(ffx2,sizeof(ffx2),"0%d",value);
    return ffx2;}
    else if(value < 1000000000 && value > 99999999){
    format(ffx2,sizeof(ffx2),"%d",value);
    return ffx2;}
    format(ffx2,sizeof(ffx2),"%d",value);
    return ffx2;}


    Hab aus langweile mal eben das gemacht, damit kann man wenn man eine Zahl hat, die Zahl in einen Geldformat Formatieren und Zurückgeben:


    Beispiel : Meine Zahl is 9000


    Ich möchste sie nun in den Geld format formatieren mit den nullen vorne drann:


    $0000009000


    Have Fun :>

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


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