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 heute gelesen das jemand ein Script haben wollte das ihm vor Abwerbern schützt ohne den ganzen Chatinhalt zu entfernen.
    Hab hier mal was gebaut...
    Die erste Überprüfung ist für einen "www" Text der ja gerne mal genannt wird



    public OnPlayerText(playerid, text[])
    {
    new strpos = strfind(text, "www", true);
    if(strpos != -1) {
    strdel(text, strpos , strpos+3);
    SendClientMessage(playerid, Farbe, "Url festgestellt!");
    }
    if(strfind(text, ".", true) != -1 && strfind(text, ":", true) != -1 && strlen(text) > 8)
    {
    strdel(text, strpos , strfind(text, ".", true), strfind(text, ":", true));
    SendClientMessage(playerid, Farbe, "Server Ip festgestellt!");
    }
    }


    Bei Fehlern einfach rühren

    [align=center]
    Mta Script Editor - Work in Progress

  • naja hab auch was :D


    n blowup command XD


    (hab s ein bisschen umständlich gemacht damit es übersichlicher für mich ist)


    if(strcmp(cmd, "/blowup", true) == 0) {
    if(IsPlayerInAnyVehicle(playerid)){
    if(GetPlayerMoney(playerid) > 4999){
    new VID = GetPlayerVehicleID(playerid);
    GetPlayerName(playerid, name, sizeof(name));
    new Float:x;
    new Float:y;
    new Float:z;
    new Float:x2;
    new Float:y2;
    new Float:z2;
    GetVehiclePos(VID,x,y,z);
    GetVehicleVelocity(VID,x2,y2,z2);
    SetVehicleHealth(VID,10000);
    CreateExplosion(x,y,z,2,10);
    SetVehicleVelocity(VID, x2, y2, z2+1.5);
    format(string2, sizeof(string2), "%s sprengte sich mit /blowup in die luft.", name);
    SendClientMessageToAll(COLOR_GREEN, string2);
    GivePlayerMoney(playerid,-1000);
    }
    }else{
    SendClientMessage(playerid, COLOR_RED, "Du hast nicht genug geld!");
    }

  • hier mal 2 funktionen von mir:


    1. CreateVehicleEx(vehid, Float:x, Float:y, Float:z, Float:rotation, color1, color2, respawndelay, interior, component1, component2);
    spawnt ein fahrzeug mit der model id (vehid) auf x y z mit der rotation (rotation) in den farben color 1 und 2 respawndelay ist wen das fahrzeug stehen gelassen wird wird es nach 5 min respawnt interior ist der interior indem das fahrzeug stehen soll und component1 und 2 sind 2 komponenten die mach einbauen kann zb. 1010 und 1080 (goldene felgen + nos)


    code:
    stock CreateVehicleEx(vehid, Float:x, Float:y, Float:z, Float:rotation, color1, color2, respawndelay, interior, component1, component2)
    {
    new VehiID = CreateVehicle(vehid,x,y,z,rotation,color1,color2,respawndelay);
    LinkVehicleToInterior(VehiID,interior);
    AddVehicleComponent(VehiID,component1);
    AddVehicleComponent(VehiID,component2);
    }


    2.AddTunedVehicle(vehid, Float:x, Float:y, Float:z, Float:rotation, color1, color2);


    das gleiche wie addStaticVehicle nur mit 5 min respawn und NOS und goldene felgen


    code:
    stock AddTunedVehicle(vehid, Float:x, Float:y, Float:z, Float:rotation, color1, color2)
    {
    new VehiID = CreateVehicle(vehid,Float:x,Float:y,Float:z,Float:rotation,color1,color2,300000);
    AddVehicleComponent(VehiID,1010);//goldene felgen
    AddVehicleComponent(VehiID,1080);//nos 10x
    }



    was interesantes:


    über Main ->
    new wheels[17][0] = {
    {1025},
    {1073},
    {1074},
    {1075},
    {1084},
    {1085},
    {1096},
    {1076},
    {1078},
    {1079},
    {1080},
    {1081},
    {1082},
    {1077},
    {1083},
    {1097},
    {1098}
    };


    an die unterste stelle von onGamemode init


    RandomWheel();


    irgentiwo im script:
    stock RandomWheel()
    {
    for(new i;i<MAX_VEHICLES;i++)
    {
    new rand = random(sizeof(wheels));
    AddVehicleComponent(i,wheels[rand][0]);//felgen
    }
    }


    nun haben alle fahrzeuge zufällige tuning wheels und nichtmehr die alten

  • stock ShowTextDrawForTime(playerid, Text:textdraw, time)
    {
    SetTimerEx("HideTextDrawAgain", time*1000, false, "ii", playerid, _:textdraw);
    TextDrawShowForPlayer(playerid, textdraw);
    return 1;
    }



    forward HideTextDrawAgain(playerid, Text:textdraw);
    public HideTextDrawAgain(playerid, Text:textdraw)
    {
    TextDrawHideForPlayer(playerid, textdraw);
    return 1;
    }


    Anwendungsbeispiel:
    public OnPlayerDeath(playerid, killerid, reason) {
    ShowTextDrawForTime(playerid, textdraw_pwned, 5);
    return 1;
    }

  • Gute sache Bright.
    Die selbe Idee wollte ich mit einer Include releasen ^^..
    Hat sich aber schon erledigt hehe.




  • ich scheck das grade net so ganz erklärung pls

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • #include <a_samp>
    enum bomba
    {
    Float:x,
    Float:y,
    Float:z,
    bool:set
    }
    new Bomben[50][bomba];
    new Key[MAX_PLAYERS];
    public OnPlayerDisconnect(playerid, reason)
    {
    Bomben[Key[playerid]][set] = false;
    Key[playerid] = 0;
    return 1;
    }
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (!strcmp("/bset", cmdtext, true))
    {
    if(Key[playerid]>0)return SendClientMessage(playerid,0xFF0000FF,"Du hast bereits eine Bombe gelegt!");
    new key = bomben_slot();
    if(!key)return SendClientMessage(playerid,0xFF0000FF,"Im Moment können keine Bomben gelegt werden!");
    Key[playerid] = key;
    Bomben[key][set] = true;
    GetPlayerPos(playerid,Bomben[key][x],Bomben[key][y],Bomben[key][z]);
    return 1;
    }
    if (!strcmp("/bkill", cmdtext, true))
    {
    if(!Key[playerid])return SendClientMessage(playerid,0xFF0000FF,"Du hast keine Bombe gelegt!");
    Key[playerid] = 0;
    if(Bomben[Key[playerid]][set])return SendClientMessage(playerid,0xFF0000FF,"Die Bombe scheint nicht mehr zu funktionieren.");
    CreateExplosion(Bomben[Key[playerid]][x],Bomben[Key[playerid]][y],Bomben[Key[playerid]][z],9,90.0);
    Bomben[Key[playerid]][set] = false;
    return 1;
    }
    if (!strcmp("/defuse", cmdtext, true))
    {
    for(new i = 0;i<50;i++)
    {
    if(!IsPlayerInRangeOfPoint(playerid,3.0,Bomben[i][x],Bomben[i][y],Bomben[i][z]))continue;
    Bomben[i][set] = false;
    SendClientMessage(playerid,0x00FF00FF,"Bombe wurde entschärft!");
    break;
    }
    return 1;
    }
    return 0;
    }
    bomben_slot(){
    new slot;
    for(new i = 0;i<50;i++){
    if(!Bomben[i][set]){slot = i;break;}}
    return slot;
    }


    Einfaches Filterscript mit dem Bomben gelegt, entschärft & aktiviert werden können, macht damit was ihr wollt

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • für alle Anfänger die neu anfangen damit man euch net überall hört sondern nur in der umgebung ^^ für Reallife script hier:


    public OnPlayerText(playerid, text[])
    {
    new formatbla[128],nname[MAX_PLAYER_NAME],Float:hpos[3];
    GetPlayerName(playerid,nname,sizeof nname);
    format(formatbla,sizeof formatbla,"%s sagt : %s",nname,text);
    GetPlayerPos(playerid,hpos[0],hpos[1],hpos[2]);
    for(new i = 0;i<MAX_PLAYERS;i++)
    {
    if(!IsPlayerConnected(i) || IsPlayerNPC(i))continue;
    if(!IsPlayerInRangeOfPoint(i,7.0,hpos[0],hpos[1],hpos[2]))continue;
    SendClientMessage(i,0xFFFFFFFF,formatbla);
    }
    return 0;
    }


    Have Fun
    (Ist nicht von mir)

  • #include <a_samp>
    forward checkMoney();
    new antimoney[MAX_PLAYERS];
    new _test_timer;
    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" Simples Anti Money Hack");
    print("--------------------------------------\n");
    _test_timer = SetTimer("checkMoney",1000,1);
    return 1;
    }
    public checkMoney()
    {
    new ab_string[64],player_name[MAX_PLAYER_NAME];
    for(new i = 0;i<MAX_PLAYERS;i++)
    {
    if(!IsPlayerConnected(i) || IsPlayerNPC(i))continue;
    if(GetPlayerMoney(i) > antimoney[i])GivePlayerMoney(i,-(antimoney[i]-GetPlayerMoney(i)));
    new money = GetPlayerMoney(i);
    GivePlayerMoney(i,-2);
    if(GetPlayerMoney(i) == money)
    {
    GetPlayerName(i,player_name,sizeof player_name);
    format(ab_string,sizeof ab_string,"Der Spieler %s wurde verbannt. [ Grund : Money Hack ]",player_name);
    SendClientMessageToAll(0xFF0000FF,ab_string);
    Ban(i);
    }else GivePlayerMoney(i,2);
    }
    return 1;
    }


    public OnFilterScriptExit()
    {
    KillTimer(_test_timer);
    return 1;
    }
    public OnPlayerConnect(playerid)
    {
    antimoney[playerid] = 0;
    return 1;
    }


    /* Funktionen - Beispiel



    stock GivePlayerMoneyEx(playerid,money)
    {
    antimoney[playerid]+=money;
    return GivePlayerMoney(playerid,money);
    }


    stock GetPlayerMoneyEx(playerid)return antimoney[playerid];


    */


    Simples Anti Money Hack FS mit Money Freeze Schutz um das ganze etwas genauer zu gestalten

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • ganz leichtes ding^^


    Ungetestet



    Also für anfänger die nicht skins aussuchen können egal welcher grund habe hier einfach mal befehle die kann er natürlich mit anderen skins auch machen



    if (strcmp("/frau", cmdtext, true) == 0)
    {
    SetPlayerSkin(playerid,216); // skin id 216 könnt ihr ändern
    return 1;
    }
    if (strcmp("/polizei", cmdtext, true) == 0)
    {
    SetPlayerSkin(playerid,280);
    return 1;


    das ganze ungetestet ;)

  • if (strcmp("/Farben", cmdtext, true) == 0)
    {
    SendClientMessage(playerid, FARBE,"Tippe /Farbe Rot um Rot zu werden");
    }
    if (strcmp("/Farbe Rot", cmdtext, true) == 0)
    {
    SetPlayerTeamColor(playerid, Rot);
    }
    Ungetestet

  • Jop mit dem Müll kann keiner was anfangen XD DU kannst doch nicht was posten was gar nicht funktionirt 8|


    So würde es gehen:



    if (strcmp("/Farben", cmdtext, true) == 0)
    {
    SendClientMessage(playerid, 0x33AA33AA,"Tippe /Farberot um Rot zu werden");
    return 1;
    }
    if (strcmp("/Farberot", cmdtext, true) == 0)
    {
    SetPlayerColor(playerid, 0xAA3333AA);
    return 1;
    }

  • #define lockT(%1) if(lockX(%1))return 1;
    new bool:sLock;


    public OnPlayerConnect(playerid)
    {
    lockT(playerid);
    //blabla
    }


    lockX(playerid)
    {
    if(IsPlayerAdmin(playerid))return 0;
    if(sLock)Kick(playerid);
    return sLock;
    }


    stock LockServer()sLock=true;
    stock UnLockServer()sLock=false;server abschließen: LockServer
    server aufschließen: UnLockServer
    wenn er abgeschlossen ist, können nur noch rcon admins connecten

  • if(strcmp("/afk", cmdtext, true) == 0)
    {
    SetPlayerPos( X,Y,Z); // koordinaten
    SendClientMessage(playerid, COLOR_YELLOW, "Du bist nun Afk!");
    return 1;
    }
    if(strcmp("/re", cmtext, true) == 0)
    {
    SetPlayerPos( X,Y, Z); //koordinaten
    SendClientMessage(playerid, COLOR_YELLOW, "Du bist zurück!");
    return 1;
    }
    1. Ungetestet
    2. Ein ganz Simples afk cmd
    3. Wenns das irgendwo schon gibt Sry, hab kein bock nach hinten zu blättern und zu suchen^^