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
  • Wollte auch mal etwas zeigen da ich hoffe das mir auch geholfen wird...
    es ist easy damit man spieler zu spieler teleportiert...



    stock Teleport(playerid,other){
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(other,X,Y,Z);
    if(IsPlayerInAnyVehicle(playerid))return SetVehiclePos(GetPlayerVehicleID(playerid),X,Y,Z);
    return SetPlayerPos(playerid,X,Y,Z);
    }


    Benutzung

    Teleport(pID,playerid);//pID wird zu playerid geportet


    also das erste wird zum zweiten geportet

    Einmal editiert, zuletzt von JurkIt ()


  • Das # ist nur unnötige Schreibarbeit, man verwendet # wenn man "" nicht verwenden kann.


    Beispiel:
    #define A "Test3"
    #define B(%0) print(%0#\32;#A)

  • Nun gut wi eman will :D


    ein kleiner Trick

    new val;
    if((val = 10) == 10)printf("%d",val);


    Auch in einer if abfrage kann man variabeln setzen


    was ich auch ab und zu sehe ist das hier


    new a= 1;
    if(a< 10 && a> 0)


    kann man vereinfachen
    if( 0 < a < 10)

    Einmal editiert, zuletzt von IPrototypeI ()

  • Click um den abschnitt zu sehen

    Spoiler anzeigen


    new VehicleTank[212][] = {
    /*Landstalker*/{"Diesel"},
    /*Bravura*/{"Benzin"},
    /*Buffalo*/{"Benzin"},
    /*Linerunner*/{"Diesel"},
    /*Pereniel*/{"Benzin"},
    /*Sentinel*/{"Benzin"},
    /*Dumper*/{"Diesel"},
    /*Firetruck*/{"Diesel"},
    /*Trashmaster*/{"Diesel"},
    /*Stretch*/{"Benzin"},
    /*Manana*/{"Benzin"},
    /*Infernus*/{"Benzin"},
    /*Voodoo*/{"Benzin"},
    /*Pony*/{"Diesel"},
    /*Mule*/{"Diesel"},
    /*Cheetah*/{"Benzin"},
    /*Ambulance*/{"Diesel"},
    /*Leviathan*/{"Kerosin"},
    /*Moonbeam*/{"Diesel"},
    /*Esperanto*/{"Benzin"},
    /*Taxi*/{"Benzin"},
    /*Washington*/{"Benzin"},
    /*Bobcat*/{"Diesel"},
    /*Mr Whoopee*/{"Diesel"},
    /*BF Injection*/{"Benzin"},
    /*Hunter*/{"Kerosin"},
    /*Premier*/{"Benzin"},
    /*Enforcer*/{"Diesel"},
    /*Securicar*/{"Diesel"},
    /*Banshee*/{"Benzin"},
    /*Predator*/{"Benzin"},
    /*Bus*/{"Diesel"},
    /*Rhino*/{"Diesel"},
    /*Barracks*/{"Diesel"},
    /*Hotknife*/{"Benzin"},
    /*Trailer*/{"Diesel"},
    /*Previon*/{"Benzin"},
    /*Coach*/{"Diesel"},
    /*Cabbie*/{"Benzin"},
    /*Stallion*/{"Benzin"},
    /*Rumpo*/{"Benzin"},
    /*RC Bandit*/{"Elektro"},
    /*Romero*/{"Benzin"},
    /*Packer*/{"Diesel"},
    /*Monster Truck*/{"Benzin"},
    /*Admiral*/{"Benzin"},
    /*Squalo*/{"Benzin"},
    /*Seasparrow*/{"Kerosin"},
    /*Pizzaboy*/{"Benzin"},
    /*Tram*/{"Benzin"},
    /*Trailer*/{"Diesel"},
    /*Turismo*/{"Benzin"},
    /*Speeder*/{"Benzin"},
    /*Reefer*/{"Benzin"},
    /*Tropic*/{"Benzin"},
    /*Flatbed*/{"Diesel"},
    /*Yankee*/{"Diesel"},
    /*Caddy*/{"Elektro"},
    /*Solair*/{"Benzin"},
    /*Berkley's RC Van*/{"Diesel"},
    /*Skimmer*/{"Kerosin"},
    /*PCJ-600*/{"Benzin"},
    /*Faggio*/{"Benzin"},
    /*Freeway*/{"Benzin"},
    /*RC Baron*/{"Benzin"},
    /*RC Raider*/{"Benzin"},
    /*Glendale*/{"Benzin"},
    /*Oceanic*/{"Benzin"},
    /*Sanchez*/{"Benzin"},
    /*Sparrow*/{"Kerosin"},
    /*Patriot*/{"Benzin"},
    /*Quad*/{"Benzin"},
    /*Coastguard*/{"Benzin"},
    /*Dinghy*/{"Benzin"},
    /*Hermes*/{"Benzin"},
    /*Sabre*/{"Benzin"},
    /*Rustler*/{"Kerosin"},
    /*ZR-350*/{"Benzin"},
    /*Walton*/{"Diesel"},
    /*Regina*/{"Benzin"},
    /*Comet*/{"Benzin"},
    /*BMX*/"Kein Tank",
    /*Burrito*/{"Benzin"},
    /*Camper*/{"Benzin"},
    /*Marquis*/{"Benzin"},
    /*Baggage*/{"Elektro"},
    /*Dozer*/{"Diesel"},
    /*Maverick*/{"Kerosin"},
    /*SAN News Maverick*/{"Kerosin"},
    /*Rancher*/{"Benzin"},
    /*FBI Rancher*/{"Benzin"},
    /*Virgo*/{"Benzin"},
    /*Greenwood*/{"Benzin"},
    /*Jetmax*/{"Benzin"},
    /*Hotring*/{"Benzin"},
    /*Sandking*/{"Benzin"},
    /*Blista Compact*/{"Benzin"},
    /*Police Maverick*/{"Kerosin"},
    /*Boxville*/{"Diesel"},
    /*Benson*/{"Diesel"},
    /*Mesa*/{"Diesel"},
    /*RC Goblin*/{"Benzin"},
    /*Hotring Racer*/{"Benzin"},
    /*Hotring Racer*/{"Benzin"},
    /*Bloodring Banger*/{"Benzin"},
    /*Rancher*/{"Benzin"},
    /*Super GT*/{"Benzin"},
    /*Elegant*/{"Benzin"},
    /*Journey*/{"Diesel"},
    /*Bike*/{"Kein Tank"},
    /*Mountain Bike*/{"Kein Tank"},
    /*Beagle*/{"Kerosin"},
    /*Cropdust*/{"Kerosin"},
    /*Stunt*/{"Kerosin"},
    /*Tanker*/{"Diesel"},
    /*RoadTrain*/{"Diesel"},
    /*Nebula*/{"Benzin"},
    /*Majestic*/{"Benzin"},
    /*Buccaneer*/{"Benzin"},
    /*Shamal*/{"Kerosin"},
    /*Hydra*/{"Kerosin"},
    /*FCR-900*/{"Benzin"},
    /*NRG-500*/{"Benzin"},
    /*HPV1000*/{"Benzin"},
    /*Cement Truck*/{"Diesel"},
    /*Tow Truck*/{"Diesel"},
    /*Fortune*/{"Benzin"},
    /*Cadrona*/{"Benzin"},
    /*FBI Truck*/{"Diesel"},
    /*Willard*/{"Benzin"},
    /*Forklift*/{"Elektro"},
    /*Tractor*/{"Diesel"},
    /*Combine*/{"Diesel"},
    /*Feltzer*/{"Benzin"},
    /*Remington*/{"Benzin"},
    /*Slamvan*/{"Benzin"},
    /*Blade*/{"Benzin"},
    /*Freight*/{"Diesel"},
    /*Streak*/{"Diesel"},
    /*Vortex*/{"Benzin"},
    /*Vincent*/{"Benzin"},
    /*Bullet*/{"Benzin"},
    /*Clover*/{"Benzin"},
    /*Sadler*/{"Diesel"},
    /*Firetruck*/{"Diesel"},
    /*Hustler*/{"Benzin"},
    /*Intruder*/{"Benzin"},
    /*Primo*/{"Benzin"},
    /*Cargobob*/{"Kerosin"},
    /*Tampa*/{"Benzin"},
    /*Sunrise*/{"Benzin"},
    /*Merit*/{"Benzin"},
    /*Utility*/{"Diesel"},
    /*Nevada*/{"Kerosin"},
    /*Yosemite*/{"Benzin"},
    /*Windsor*/{"Benzin"},
    /*Monster Truck*/{"Benzin"},
    /*Monster Truck*/{"Benzin"},
    /*Uranus*/{"Benzin"},
    /*Jester*/{"Benzin"},
    /*Sultan*/{"Benzin"},
    /*Stratum*/{"Benzin"},
    /*Elegy*/{"Benzin"},
    /*Raindance*/{"Kerosin"},
    /*RC Tiger*/{"Elektro"},
    /*Flash*/{"Benzin"},
    /*Tahoma*/{"Benzin"},
    /*Savanna*/{"Benzin"},
    /*Bandito*/{"Benzin"},
    /*Freight*/{"Diesel"},
    /*Trailer*/{"Diesel"},
    /*Kart*/{"Benzin"},
    /*Mower*/{"Benzin"},
    /*Duneride*/{"Benzin"},
    /*Sweeper*/{"Benzin"},
    /*Broadway*/{"Benzin"},
    /*Tornado*/{"Benzin"},
    /*AT-400*/{"Kerosin"},
    /*DFT-30*/{"Diesel"},
    /*Huntley*/{"Benzin"},
    /*Stafford*/{"Benzin"},
    /*BF-400*/{"Benzin"},
    /*Newsvan*/{"Diesel"},
    /*Tug*/{"Benzin"},
    /*Trailer*/{"Diesel"},
    /*Emperor*/{"Benzin"},
    /*Wayfarer*/{"Benzin"},
    /*Euros*/{"Benzin"},
    /*Hotdog*/{"Diesel"},
    /*Club*/{"Benzin"},
    /*Trailer*/{"Diesel"},
    /*Trailer*/{"Diesel"},
    /*Andromada*/{"Kerosin"},
    /*Dodo*/{"Kerosin"},
    /*RC Cam*/{"Elektro"},
    /*Launch*/{"Benzin"},
    /*Police Car (LSPD)*/{"Benzin"},
    /*Police Car (SFPD)*/{"Benzin"},
    /*Police Car (LVPD)*/{"Benzin"},
    /*Police Ranger*/{"Diesel"},
    /*Picador*/{"Diesel"},
    /*S.W.A.T. Van*/{"Diesel"},
    /*Alpha*/{"Benzin"},
    /*Phoenix*/{"Benzin"},
    /*Glendale*/{"Benzin"},
    /*Sadler*/{"Diesel"},
    /*Luggage Trailer*/{"Elektro"},
    /*Luggage Trailer*/{"Elektro"},
    /*Stair Trailer*/{"Elektro"},
    /*Boxville*/{"Diesel"},
    /*Farm Plow*/{"Elektro"},
    /*Utility Trailer*/{"Elektro"}
    };


    benutzung:

    new string[50];
    format(string,50,"deine Tankart ist %s",VehicleTank[GetVehicleModel(GetPlayerVehicleID(playerid))-400]);
    SendClientMessage(playerid,0x00FF00FF,string);

  • Es wäre besser, nicht direkt den Wert als Text zu hinterlegen sondern als Zahlenwert, der auf einen Text verweist.
    Zum Beispiel 0 für Kein Tank,1 für Diesel, 2 für Benzin usw. für die einzelnen Fahrzeuge zu hinterlegen.
    Dann über diesen Wert den Text herausfinden.

  • stock NiceMoney(money) //©Jeffry
    {
    new bmess[15];
    format(bmess, 15, "%d", money);
    if(money > 0)
    {
    for(new l=strlen(bmess)-3; l>0; l-=3)
    {
    if(l>0)
    {
    strins(bmess, ".", l);
    }
    }
    }
    else
    {
    for(new z=strlen(bmess)-3; z>1; z-=3)
    {
    if(z>1)
    {
    strins(bmess, ".", z);
    }
    }
    }
    return bmess;
    }



    Irre ich mich oder bewirkt das returnen von Strings Memory-Leaks ?

    3 Mal editiert, zuletzt von SiOX ()


  • forward MeChat(playerid,text[]);
    public MeChat(playerid,text[]){
    new Float:X,Float:Y,Float:Z,string[128],Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Name,MAX_PLAYER_NAME);
    GetPlayerPos(playerid,X,Y,Z);
    for(new i; i<MAX_PLAYERS; i++){
    if(IsPlayerInRangeOfPoint(i,20,X,Y,Z)){
    format(string,sizeof(string),"%s %s",Name,text);
    SendClientMessage(i,0xF1C8FFFF,string);
    }}
    return 1;
    }


    MeChat(playerid,"hat sich in die Hose gemacht");// ^.^

  • stock alog(str[])
    {
    if(!fexist("admin.txt"))
    {
    fcreate("admin.txt");
    }
    new
    File:lFile = fopen("admin.txt", io_append),
    logData[128],
    fyear, fmonth, fday,
    fhour, fminute, fsecond;
    getdate(fyear, fmonth, fday);
    gettime(fhour, fminute, fsecond);

    format(logData, sizeof(logData),"[%02d/%02d/%04d %02d:%02d:%02d] %s \r\n", fday, fmonth, fyear, fhour, fminute, fsecond,str);
    fwrite(lFile, logData);


    fclose(lFile);
    return 1;
    }


    stock fcreate(filename[])
    {
    if (fexist(filename)){return false;}
    new File:fhandle = fopen(filename,io_write);
    fclose(fhandle);
    return true;
    }


    Admin Log.

    2 Mal editiert, zuletzt von SiOX ()

  • Da ich einen kleinen Fehler gemacht habe beim komprimieren des alten arrays habe ich das ganze heute mal aktualisiert und kleine Unstimmigkeiten bei den skins auch beseitigt.


    stock const static SkinArray[100]={
    0x80200,0x140803,
    0x200E06,0x401E0E,0x4C2411,0x582A14,0x643017,
    0x70361A,0x803C1D,0x8C4421,0xA84A24,0xB4582B,
    0xC05E2E,0xCC6431,0xE87234,0xF4783B,0x10C843E,
    0x11C8C44,0x1389248,0x144A04F,0x150A652,0x17CBC56,
    0x188C260,0x194C863,0x1A0CE66,0x1ACD469,0x1B8DA6C,
    0x1C4E06F,0x1D0E672,0x1DCEC75,0x1E8F278,0x1F4F87B,
    0x200FE7E,0x2190A84,0x2251087,0x2411E8E,0x2552692,
    0x26D3499,0x27D3C9C,0x28942A0,0x29548A3,0x2A14EA6,
    0x2B556AA,0x2C15EAE,0x2D166B1,0x2DD6CB5,0x2E972B8,
    0x2F578BB,0x32D94C8,0x3419CCC,0x365A4D1,0x375BCDC,
    0x391C6DF,0x3A9CCE5,0x3BDD8EB,0x3C9E2F0,0x3E5F0F7,
    0x3F5F8FA,0x409FEFE,0x4160903,0x4261106,0x432170A,
    0x43E1D0D,0x44A2310,0x4562913,0x4622F16,0x46E3519,
    0x47A3B1C,0x486411F,0x4924722,0x49E4D25,0x4AE5328,
    /////////////////////Männer//////////////////////
    0x2C1409,0x7C1A0C,0xA04E26,
    0xD86A29,0xFC7037,0x1148240,0x134984B,0x160AE55,
    0x16CB459,0x204BA5C,0x2290682,0x235188B,0x2592891,
    0x2753097,0x2C958A9,0x3017EBE,0x30D84C1,0x3198AC4,
    0x33592C7,0x351A6CF,0x35DACD5,0x36DB4D8,0x389C2E0,
    0x3A5D0E7,0x3CDDCED,0x3D9EAF4,0x40600FB,0x25507,
    /////////////////////Frauen//////////////////////
    };


    Dazu noch ein kleines define um die skins auszulesen


    #define GetSkin(%0) ((SkinArray[(ArrayMarker[%0] >> 8)] >>> ((ArrayMarker[%0] & ~(0xFF<<8))*9))& ~(0xFFFFFF<<9))


    Das ist sogesehen meine Basis für ein dynamisches Skinshopsystem, was ich irgendwann mal releasen werden je nachdem wie es mir zeitlich passt.

  • stock IsValidIP(adress[]) //©Jeffry
    {
    new point, number, points, copy[3];
    for(new i = 0, ip = strlen(adress); i < ip; i++)
    {
    if(adress[i] == '.')
    {
    if(strval(copy)>255) return 0;
    if(point == 0) { number=0; point = 1; points++; copy[0] = 0; copy[1] = 0; copy[2] = 0;}
    else return 0;
    if(points > 3) return 0;
    }


    else if(adress[i] >= '0' && adress[i] <= '9')
    {
    point = 0;
    if(number < 3) { number++; copy[number-1] = adress[i]; }
    else return 0;
    }


    else return 0;
    }
    if(strval(copy)>255) return 0;


    if(points < 3) return 0;
    else return 1;
    }


    Keywords: IstIP, IstEineIP, IstIPAdresse, IsAnIP, IsIP, IsValidIP.

  • ovwohl mich das abprüfen des Null-terminators stört via strval


    Was davon meinst du?


    strval wird nur hier benutzt:
    if(strval(copy)>255)


    Das prüft, ob einer der 4 Ziffern größer als 255 ist. (Es gibt ja keine 256.256.256.256'er IP).


    @Music4You:
    if(IsValidIP("123.123.123.123")) return print("Das ist eine richtige IP");
    if(!IsValidIP("12445.455.154523.dfdf")) return print("Das ist keine IP");


    Nützlich für einen /banip command.

  • So nun post ich auch mal nen kleinen code von mir.
    Es handelt sich um ein einen Geldbefehl, welcher für die nutzung von euro und cent gedacht ist, oder wie auch immer ^^

    stock GivePlayerCash(playerid,euro,cent)
    {
    SpielerInfo[playerid][cent]+=cent;
    for(new i=0;i<9;i++)
    {
    if(SpielerInfo[playerid][Cent]>=100)
    {
    SpielerInfo[playerid][Cent]-=100;
    SpielerInfo[playerid][Euro]+=1;
    }
    }
    SpielerInfo[playerid][Euro]+=euro;
    }
    format(string,sizeof(string),"Du hast %d,%d€",SpielerInfo[playerid][Euro],SpielerInfo[playerid][Cent]);


  • stock GivePlayerCash(playerid,euro,cent)
    {
    SpielerInfo[playerid][cent]+=cent;
    if(SpielerInfo[playerid][cent]<0)
    {
    SpielerInfo[playerid][cent]+=100;
    SpielerInfo[playerid][Euro]-=1;
    }
    for(new i=0;i<(cent/100);i++)
    {
    if(SpielerInfo[playerid][cent]>=100)
    {
    SpielerInfo[playerid][cent]-=100;
    SpielerInfo[playerid][Euro]+=1;
    }
    }
    SpielerInfo[playerid][Euro]+=euro;
    }

    Danke nochmal beavis und dead