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
  • Hier mal ein kleiner Befehl um Verstärkung zu Rufen. Habe ich auf die Schnelle für ein Godfather Script geschrieben im Praktikum.
    Wenn ich was falsch gemacht habe, sagt es mir :)





    if(strcmp(cmd,"/vst",true) == 0)
    {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new Float:X,Float:Y,Float:Z;
    GetPlayerName(playerid, sendername, sizeof(sendername));
    GetPlayerPos(giveplayerid, X,Y,Z);
    {
    if (IsACop(playerid) && OnDuty[playerid] ==1) return SendClientMessage(playerid,COLOR_RED,"Du bist kein Cop / Du bist nicht Duty");
    {
    SendClientMessage(playerid,COLOR_RED, "Alle Einheiten wurden Informiert.");
    SendClientMessage(playerid,COLOR_GREEN, "Halte deine Kollegen am laufenden, bis sie eingetroffen sind (/d)");
    }
    if(PlayerInfo[playerid][pMember] == 1) { format(string, sizeof(string), "** Ich brauche Verstärkung %s: %s, over. **", sendername, playerid); }
    {
    SetPlayerCheckpoint(playerid, X,Y,Z, 6);
    }
    }
    return 1;
    }




    convertFFS converted your input in 0.02 seconds - Chuck Norris could have done it in 0.0003 seconds!


  • Das ist falsch, total falsch ^^


    Das musst du so machen:



    if(strcmp(cmd,"/vst",true) == 0)
    {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid, X,Y,Z);
    for(new i; i<100; i++)
    {
    if (IsACop(i) && OnDuty[i] ==1)
    {
    SendClientMessage(playerid,COLOR_RED, "Alle Einheiten wurden Informiert.");
    SendClientMessage(playerid,COLOR_GREEN, "Halte deine Kollegen am laufenden, bis sie eingetroffen sind (/d)");
    format(string, sizeof(string), "** Spieler %s (ID: %i) benötigt Verstärkung, over. **", sendername, playerid);
    SendClientMessage(i, COLOR_YELLOW, string);
    SetPlayerCheckpoint(i, X,Y,Z, 6);
    }
    }
    return 1;
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

    Einmal editiert, zuletzt von Kaliber ()

  • Weildu 2 mal den namen holst -> sinnlos.


    if (IsACop(playerid) && OnDuty[playerid] ==1) return SendClientMessage(playerid,COLOR_RED,"Du bist kein Cop / Du bist nicht Duty");
    {Ist Falsch und ergibt auch keinen sinn.
    Wenn der Spieler ein Cop ist, und OnDuty ist, sendest du die Nachricht das er keiner wäre und beendest durch return die ausführung. Dann kommt die klammer, die niemals ausgeführt wird -> sinnlos.


    Dann formatiertst du eine nachricht, die niemals gesendet wird. Eben so sinnlos. Ausserdem verwendest du format falsch. Wenn du eine Zahl (playerid) willst solltest du %f bzw %i nutzen, nicht %s. Das ist für strings. Abgesehen davon macht die nachricht auch keinen wirklichen sinn. "** Ich brauche Verstärkung BlackDragon: 0, over. **" ?


    Und zu guter letzt setzt du einen checkpoint für den spieler, an der position des Spielers. Macht auch nicht wirklich viel sinn.



    Das von kaliber ist auch aber nicht ganz richtig...
    for(new i; i<100; i++)Nur 100? Ist das Realismus, weil der Server diese grenze wohl nie überschreiten wird?^^
    SendClientMessage(i,COLOR_RED, "Alle Einheiten wurden Informiert.");
    SendClientMessage(i,COLOR_GREEN, "Halte deine Kollegen am laufenden, bis sie eingetroffen sind (/d)");Die nachrichten sollten an den Spieler selbst gehen, nicht an die Kollegen.
    Und auch du formatierst den string, verwendest ihn dann allerdings nicht.

    The fact is, I am right. And if you think I'm wrong, you are wrong.


  • Ha, shit darauf habe ich gar nicht geachtet und das mit der 100 hast du richtig interpretiert, ich fand 50 wäre zu unfair :D


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • // Basic MySQL Login/Register
    // --------------------------------
    // Credits:
    // + wife-beater
    // + G-sTyLeZzZ (mysql plugin)
    // + sa-mp team
    // --------------------------------


    Filterscript:
    Basic Login/Register Filterscript by wife-beater - Pastebin.com


    phpMyAdmin SQL Dump:
    -- phpMyAdmin SQL Dump -- version 3.3.7deb7 -- http://www.phpmyadmin.net</a> -- - Pastebin.com


    MySQL Plugin:
    Multiupload.nl - upload your files to multiple file hosting sites!



    Ich bin immer offen für Kritik. :)

  • stock IsViewInRangeOfPoint(playerid, Float: r, Float: x, Float: y, Float: z)
    {
    new Float:GP[3], GPCFV[3], Float: Output[3];
    const Float: weite = 5.0;
    GetPlayerCameraPos(playerid, GP[0], GP[1], GP[2]);
    GetPlayerCameraFrontVector(playerid, GPCFV[0], GPCFV[1], GPCFV[2]);
    Output[0] = GP[0] + floatmul(GPCFV[0], weite);
    Output[1] = GP[1] + floatmul(GPCFV[1], weite);
    Output[2] = GP[2] + floatmul(GPCFV[2], weite);
    if((Output[0] - x)*(Output[0] - x) + (Output[1] - y)*(Output[1] - y) <= r*r && Output[2] <= z)return 1;
    else return 0;
    }




    stock IsPlayerInRangeOfPoint(playerid, Float: radius, Float:X, Float:Y, Float:Z)
    {
    new Float:pxx,Float:pxy,Float:pxz;
    GetPlayerPos(playerid,pxx,pxy,pxz);
    if((pxx - X)*(pxx - X) + (pxy - Y)*(pxy - Y) <= radius*radius && pxz <= Z)return 1;
    else return 0;
    }


    Also die obere ist meine eigenen Funktion mit der es möglich ist zu überprüfen ob der spieler in einen bestimmten punkt rein schaut von einer entfernung von 5.0
    längeneinheiten welche ich mir zurecht geschrieben habe für mein feuerwehrsystem welches ich momentan mache ist jedoch noch nicht getestet jedoch geh ich mal
    davon aus das diese funktioniert da der IsPlayerInRangeOfPoint stock auch funktioniert

  • Keine Ahnung ob der Code hier schon drinsteht. Habe zumindest nichts über die Suche gefunden.
    Der Codeschnipsel ist ein Array mit allen VehicleModels und den entsprechenden Namen. Erstellt wurde der Code von meinem Bruder noir.

    Spoiler anzeigen


    new vehicles[][2] = {
    {400, "Landstalker"},
    {401, "Bravura"},
    {402, "Buffalo"},
    {403, "Linerunner"},
    {404, "Perenniel"},
    {405, "Sentinel"},
    {406, "Dumper"},
    {407, "Firetruck"},
    {408, "Trashmaster"},
    {409, "Stretch"},
    {410, "Manana"},
    {411, "Infernus"},
    {412, "Voodoo"},
    {413, "Pony"},
    {414, "Mule"},
    {415, "Cheetah"},
    {416, "Ambulance"},
    {417, "Leviathan"},
    {418, "Moonbeam"},
    {419, "Esperanto"},
    {420, "Taxi"},
    {421, "Washington"},
    {422, "Bobcat"},
    {423, "Mr Whoopee"},
    {424, "BF Injection"},
    {425, "Hunter"},
    {426, "Premier"},
    {427, "Enforcer"},
    {428, "Securicar"},
    {429, "Banshee"},
    {430, "Predator"},
    {431, "Bus"},
    {432, "Rhino"},
    {433, "Barracks"},
    {434, "Hotknife"},
    {435, "Article Trailer"},
    {436, "Previon"},
    {437, "Coach"},
    {438, "Cabbie"},
    {439, "Stallion"},
    {440, "Rumpo"},
    {441, "RC Bandit"},
    {442, "Romero"},
    {443, "Packer"},
    {444, "Monster"},
    {445, "Admiral"},
    {446, "Squallo"},
    {447, "Seasparrow"},
    {448, "Pizzaboy"},
    {449, "Tram"},
    {450, "Article Trailer 2"},
    {451, "Turismo"},
    {452, "Speeder"},
    {453, "Reefer"},
    {454, "Tropic"},
    {455, "Flatbed"},
    {456, "Yankee"},
    {457, "Caddy"},
    {458, "Solair"},
    {459, "Topfun Van (Berkley's RC)"},
    {460, "Skimmer"},
    {461, "PCJ-600"},
    {462, "Faggio"},
    {463, "Freeway"},
    {464, "RC Baron"},
    {465, "RC Raider"},
    {466, "Glendale"},
    {467, "Oceanic"},
    {468, "Sanchez"},
    {469, "Sparrow"},
    {470, "Patriot"},
    {471, "Quad"},
    {472, "Coastguard"},
    {473, "Dinghy"},
    {474, "Hermes"},
    {475, "Sabre"},
    {476, "Rustler"},
    {477, "ZR-350"},
    {478, "Walton"},
    {479, "Regina"},
    {480, "Comet"},
    {481, "BMX"},
    {482, "Burrito"},
    {483, "Camper"},
    {484, "Marquis"},
    {485, "Baggage"},
    {486, "Dozer"},
    {487, "Maverick"},
    {488, "SAN News Maverick"},
    {489, "Rancher"},
    {490, "FBI Rancher"},
    {491, "Virgo"},
    {492, "Greenwood"},
    {493, "Jetmax"},
    {494, "Hotring Racer"},
    {495, "Sandking"},
    {496, "Blista Compact"},
    {497, "Police Maverick"},
    {498, "Boxville"},
    {499, "Benson"},
    {500, "Mesa"},
    {501, "RC Goblin"},
    {502, "Hotring Racer"},
    {503, "Hotring Racer"},
    {504, "Bloodring Banger"},
    {505, "Rancher"},
    {506, "Super GT"},
    {507, "Elegant"},
    {508, "Journey"},
    {509, "Bike"},
    {510, "Mountain Bike"},
    {511, "Beagle"},
    {512, "Cropduster"},
    {513, "Stuntplane"},
    {514, "Tanker"},
    {515, "Roadtrain"},
    {516, "Nebula"},
    {517, "Majestic"},
    {518, "Buccaneer"},
    {519, "Shamal"},
    {520, "Hydra"},
    {521, "FCR-900"},
    {522, "NRG-500"},
    {523, "HPV1000"},
    {524, "Cement Truck"},
    {525, "Towtruck"},
    {526, "Fortune"},
    {527, "Cadrona"},
    {528, "FBI Truck"},
    {529, "Willard"},
    {530, "Forklift"},
    {531, "Tractor"},
    {532, "Combine Harvester"},
    {533, "Feltzer"},
    {534, "Remington"},
    {535, "Slamvan"},
    {536, "Blade"},
    {537, "Freight (Train)"},
    {538, "Brownstreak (Train)"},
    {539, "Vortex"},
    {540, "Vincent"},
    {541, "Bullet"},
    {542, "Clover"},
    {543, "Sadler"},
    {544, "Firetruck LA"},
    {545, "Hustler"},
    {546, "Intruder"},
    {547, "Primo"},
    {548, "Cargobob"},
    {549, "Tampa"},
    {550, "Sunrise"},
    {551, "Merit"},
    {552, "Utility Van"},
    {553, "Nevada"},
    {554, "Yosemite"},
    {555, "Windsor"},
    {556, "Monster A"},
    {557, "Monster B"},
    {558, "Uranus"},
    {559, "Jester"},
    {560, "Sultan"},
    {561, "Stratum"},
    {562, "Elegy"},
    {563, "Raindance"},
    {564, "RC Tiger"},
    {565, "Flash"},
    {566, "Tahoma"},
    {567, "Savanna"},
    {568, "Bandito"},
    {569, "Freight Flat Trailer (Train)"},
    {570, "Streak Trailer (Train)"},
    {571, "Kart"},
    {572, "Mower"},
    {573, "Dune"},
    {574, "Sweeper"},
    {575, "Broadway"},
    {576, "Tornado"},
    {577, "AT400"},
    {578, "DFT-30"},
    {579, "Huntley"},
    {580, "Stafford"},
    {581, "BF-400"},
    {582, "Newsvan"},
    {583, "Tug"},
    {584, "Petrol Trailer"},
    {585, "Emperor"},
    {586, "Wayfarer"},
    {587, "Euros"},
    {588, "Hotdog"},
    {589, "Club"},
    {590, "Freight Box Trailer (Train)"},
    {591, "Article Trailer 3"},
    {592, "Andromada"},
    {593, "Dodo"},
    {594, "RC Cam"},
    {595, "Launch"},
    {596, "Police Car (LSPD)"},
    {597, "Police Car (SFPD)"},
    {598, "Police Car (LVPD)"},
    {599, "Police Ranger"},
    {600, "Picador"},
    {601, "S.W.A.T."},
    {602, "Alpha"},
    {603, "Phoenix"},
    {604, "Glendale Shit"},
    {605, "Sadler Shit"},
    {606, "Baggage Trailer A"},
    {607, "Baggage Trailer B"},
    {608, "Tug Stairs Trailer"},
    {609, "Boxville"},
    {610, "Farm Trailer"},
    {611, "Utility Trailer"}
    };

    Einmal editiert, zuletzt von Hagi ()

  • Die Function OnVehiclePNS


    hier der Code



    forward OnVehiclePNS(vehicleid);


    public OnVehiclePNS(vehicleid)
    {
    return 1;
    }


    public OnVehicleDamageStatusUpdate(vehicleid, playerid)
    {
    #pragma unused playerid
    new panels, doors, lights, tires;
    GetVehicleDamageStatus(vehicleid, panels, doors, lights, tires);
    if(!panels && !doors && !lights && !tires)CallLocalFunction("OnVehiclePNS", "i", vehicleid);
    return 1;
    }


    habe getestet und es geht


    MFG Piet

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

  • Und was genau bewirkt dieser Code?

    Falsche Freunde: Fragen nach Kippen !
    Wahre Freunde: Sind der Grund, warum du keine Kippen hast !
    Falsche Freunde: Nennen deine Eltern Frau/Herr !
    Wahre Freunde: Nennen deine Eltern Mom/Dad !
    Falsche Freunde: Holen dich aus dem Knast und sagen dir, was getan hast, war falsch !
    Wahre Freunde: Sitzen in der Zelle neben dir und sagen: Scheiße...wir haben‘s verkackt...war aber verdammt lustig ! :P
    Falsche Freunde: Haben dich noch nie weinen sehen !
    Wahre Freunde: Weinen mit dir !
    Falsche Freunde: Werden dich stehen lassen, wenn die Menge das tut !
    Wahre Freunde: Werden der kompletten Menge den Arsch treten, die dich stehen gelassen hat ! c:
    Falsche Freunde: Bleiben für ne Weile !
    Wahre Freunde: Bleiben ein Leben lang !
    Falsche Freunde: Werden die Person, die Scheiße über dich erzählt, blöd vollabern !
    Wahre Freunde: Werden sie einfach ausknocken !
    Falsche Freunde: Werden das hier ignorieren !
    Wahre Freunde: Es Kopieren !

  • Er ruft Die Funktion OnVehiclePNS auf also wenn ein Auto Repariert wird
    was sehr viele leute schon gesucht haben


    Gut, ich dachte schon, das du es unter dem Verkaufen möchtest, dass dies aufgerufen wird, wenn man im PNS fährt.
    Klar, es wird dort unteranderem aufgerufen, nur sowas könnte schnell zu bugs führen, wenn man das denkt:)

    Falsche Freunde: Fragen nach Kippen !
    Wahre Freunde: Sind der Grund, warum du keine Kippen hast !
    Falsche Freunde: Nennen deine Eltern Frau/Herr !
    Wahre Freunde: Nennen deine Eltern Mom/Dad !
    Falsche Freunde: Holen dich aus dem Knast und sagen dir, was getan hast, war falsch !
    Wahre Freunde: Sitzen in der Zelle neben dir und sagen: Scheiße...wir haben‘s verkackt...war aber verdammt lustig ! :P
    Falsche Freunde: Haben dich noch nie weinen sehen !
    Wahre Freunde: Weinen mit dir !
    Falsche Freunde: Werden dich stehen lassen, wenn die Menge das tut !
    Wahre Freunde: Werden der kompletten Menge den Arsch treten, die dich stehen gelassen hat ! c:
    Falsche Freunde: Bleiben für ne Weile !
    Wahre Freunde: Bleiben ein Leben lang !
    Falsche Freunde: Werden die Person, die Scheiße über dich erzählt, blöd vollabern !
    Wahre Freunde: Werden sie einfach ausknocken !
    Falsche Freunde: Werden das hier ignorieren !
    Wahre Freunde: Es Kopieren !

  • Eine kleine Funarena, mit Dialog eingang und Fahrzeugen die dem Interior Angepasst sind.


    autos definieren also anzahl der autos
    new vehicle1[30]; //arena autos


    #define DIALOG_TELEPORT 89


    Die autos mit interior



    //arena vehicles
    vehicle1[0] = AddStaticVehicleEx(468,-1457.5875,1560.3508,1052.7500,3.0697,1,1,-1);
    LinkVehicleToInterior(vehicle1[0], 14);


    vehicle1[1] = AddStaticVehicleEx(468,-1459.7753,1559.9011,1052.7500,1.1897,1,1,-1);
    LinkVehicleToInterior(vehicle1[1], 14);


    vehicle1[2] = AddStaticVehicleEx(468,-1462.1716,1560.2483,1052.7500,1.1897,1,1,-1);
    LinkVehicleToInterior(vehicle1[2], 14);


    vehicle1[3] = AddStaticVehicleEx(468,-1464.6038,1560.3517,1052.7500,91.1897,1,1,-1);
    LinkVehicleToInterior(vehicle1[3], 14);


    vehicle1[4] = AddStaticVehicleEx(468,-1467.0396,1560.3010,1052.7500,91.1897,1,1,-1);
    LinkVehicleToInterior(vehicle1[4], 14);


    vehicle1[5] = AddStaticVehicleEx(468,-1469.2048,1560.2562,1052.7500,91.1897,1,1,-1);
    LinkVehicleToInterior(vehicle1[5], 14);


    vehicle1[6] = AddStaticVehicleEx(189,-1471.6321,1560.2059,1052.7500,91.1897,1,1,-1);
    LinkVehicleToInterior(vehicle1[6], 14);


    vehicle1[7] = AddStaticVehicleEx(189,-1473.6691,1560.3612,1052.7500,181.1897,1,1,-1);
    LinkVehicleToInterior(vehicle1[7], 14);


    vehicle1[8] = AddStaticVehicleEx(504,-1430.7852,-582.3692,1055.1190,265.6376,1,1,-1);
    LinkVehicleToInterior(vehicle1[8], 4);


    vehicle1[9] = AddStaticVehicleEx(504,-1429.9839,-590.1428,1055.5728,265.6376,1,1,-1);
    LinkVehicleToInterior(vehicle1[9], 4);


    vehicle1[10] = AddStaticVehicleEx(504,-1417.4795,-591.0966,1056.4902,265.6376,1,1,-1);
    LinkVehicleToInterior(vehicle1[10], 4);


    vehicle1[11] = AddStaticVehicleEx(504,-1415.5973,-584.2620,1056.5247,265.6376,1,1,-1);
    LinkVehicleToInterior(vehicle1[11], 4);


    vehicle1[12] = AddStaticVehicleEx(494,-1402.6176,-202.5031,1043.1021,0.0599,1,1,-1);
    LinkVehicleToInterior(vehicle1[12], 7);


    vehicle1[13] = AddStaticVehicleEx(494,-1396.5624,-201.7616,1043.1090,1,1,1,-1);
    LinkVehicleToInterior(vehicle1[13], 7);


    vehicle1[14] = AddStaticVehicleEx(494,-1397.4121,-191.2575,1043.1837,27,1,1,-1);
    LinkVehicleToInterior(vehicle1[14], 7);


    vehicle1[15] = AddStaticVehicleEx(504,-1365.3723,930.4489,1036.1503,6,1,2,-1);
    LinkVehicleToInterior(vehicle1[15], 15);


    vehicle1[16] = AddStaticVehicleEx(504,-1358.7153,931.1685,1036.0887,12.7119,1,2,-1);
    LinkVehicleToInterior(vehicle1[16], 15);


    vehicle1[17] = AddStaticVehicleEx(504,-1355.4265,931.7420,1036.1044,10.3095,1,2,-1);
    LinkVehicleToInterior(vehicle1[17], 15);


    vehicle1[18] = AddStaticVehicleEx(504,-1349.6584,932.5604,1036.0676,8.2018,1,2,-1);
    LinkVehicleToInterior(vehicle1[18], 15);



    vehicle1[19] = AddStaticVehicleEx(504,-1346.1556,935.1993,1036.1484,12.6454,1,2,-1);
    LinkVehicleToInterior(vehicle1[19], 15);



    vehicle1[20] = AddStaticVehicleEx(504,-1341.4723,935.7934,1036.1492,12.8758,1,2,-1);
    LinkVehicleToInterior(vehicle1[20], 15);



    vehicle1[21] = AddStaticVehicleEx(504,-1335.8235,937.5261,1036.1710,10.9427,1,2,-1);
    LinkVehicleToInterior(vehicle1[21], 15);



    vehicle1[22] = AddStaticVehicleEx(504,-1331.1423,939.3705,1036.1945,14.8011,1,2,-1);
    LinkVehicleToInterior(vehicle1[22], 15);


    //befehl


    if (strcmp(cmdtext, "/arena", true) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid,30.0,1308.3097,-1367.4274,13.5301))
    {
    if(GetPVarInt(playerid,"Arena")==0)
    {
    ShowPlayerDialog(playerid, DIALOG_TELEPORT, DIALOG_STYLE_LIST, "Teleports","8ball\nDirt\nStunt\nDerby", "Betreten", "Verlassen");
    SendClientMessage(playerid, COLOR_GRAD1, "Viel spaß in der Arena!");
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "%s Ist der Arena beigetretten.].", sendername);
    ABroadCast(COLOR_GRAD1,string,4);
    SetPlayerInterior(playerid,0);
    SpielerInfo[playerid][pInt] = 0;
    SetPVarInt(playerid,"Arena",1);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du bist bereits in der Arena.");
    }
    }
    return 1;
    }


    // dialog


    if(dialogid==DIALOG_TELEPORT)
    {
    if(response)
    {
    if(listitem == 0)
    {
    SetPlayerPos(playerid, -1404.5299,-259.0602,1043.6563); //Teleport nach X Y Z (8ball
    GameTextForPlayer(playerid, "~w~Willkommen in der 8Ball Arena", 5000, 1);
    SetPlayerInterior(playerid,7);
    }



    if(listitem == 1)
    {
    SetPlayerPos(playerid, -1443.0554,-581.1879,1055.0472); //Teleport nach X Y Z DIRT Arena
    GameTextForPlayer(playerid, "~w~Willkommen in der Dirt Arena", 5000, 1);
    SetPlayerInterior(playerid,4);
    }



    if(listitem == 2)
    {
    SetPlayerPos(playerid, -1465.268676,1557.868286,1052.531250); //Teleport nach X Y Z STUNTARENA
    GameTextForPlayer(playerid, "~w~Willkommen im der Stunt Arena", 5000, 1);
    SetPlayerInterior(playerid,14);
    }


    if(listitem == 3)
    {
    SetPlayerPos(playerid, -1398.103515,937.631164,1036.479125); //Teleport nach X Y Z DERBY
    GameTextForPlayer(playerid, "~w~Willkommen in der Derby Arena", 5000, 1);
    SetPlayerInterior(playerid,15);
    }


    if(listitem == 4)
    {
    SetPlayerPos(playerid, 1309.9180,-1367.6235,13.5381); //Teleport nach X Y Z DERBY
    GameTextForPlayer(playerid, "~w~Du bist raus aus der Arena", 5000, 1);
    SetPlayerInterior(playerid,0);
    }


    }
    return 1;
    }


    //dialog

  • Nützliche Include


    http://forum.sa-mp.com/showthread.php?t=343172


    und nützlicher code




    for(new i; i< sizeof(Test); i++){
    new rand = random(500);
    Test[i][test1] = rand;
    Test[i][test2] = i;
    }
    SortDeepArray(Test, test1,.order = SORT_DESC);
    for (new i = 0; i < sizeof(Test); i++) {
    printf("Test[%d] = {%d, %d}", i, Test[i][test1], Test[i][test2]);
    }


    enum testinfo{
    test1,
    test2,
    }
    new Test[MAX_PLAYERS][testinfo];

  • Du willst einen Roller Mieten? :O
    Kein Problem :D



    if(strcmp(cmdtext,"/roller",true)==0)
    {
    if(IsPlayerInRangeOfPoint(playerid,10.0,1681.8767,-1629.0044,13.5469))
    {
    new vehicleid;
    vehicleid = GetPlayerVehicleID(playerid);
    //
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    //
    vehicleid = CreateVehicle(462,x,y,z,0.0,-1,-1,-1);
    //
    GivePlayerMoney(playerid,-100);
    SetVehicleToRespawn(vehicleid);
    PutPlayerInVehicle(playerid,vehicleid,0);
    SendClientMessage(playerid,0xF5FF00FF,"Viel Spaß mit deinem Roller!");
    print("[ACHTUNG]Ein Roller wurde gemietet!");
    }
    return 1;
    }


    Und falls du noch Nummernschilder hast dann,
    SetVehicleNumberPlate(vehicleid,"blablabla);

  • Mir war gerade langweilig und habe mal einen Lustigen Code geschrieben, der es möglich machen würde in einer SendClientMessage $variablen zu verwenden wie in PHP :D


    Sähe dann so aus:



    stock ScmEx(playerid, farbe, format[])
    {
    new z = strfind(format, "$", true);
    if(z > 0)
    {
    new x[64], y;
    x = _strtok(format, z);
    y = (z+1);
    z -= strlen(x);
    strdel(format, z, y);
    strdel(x, 0, 1);
    new text[128];
    strcat(text, "Gustav", sizeof text);
    strins(format, text, z, sizeof text);
    SendClientMessage(playerid, farbe, format);
    return 1;
    }
    else return SendClientMessage(playerid, farbe, format);
    }


    Hier mal ein Beispiel zur Anwendung:


    ScmEx(playerid, rot,"Herzlich willkommen $name !");


    In meinem Codeschnipsel habe ich eine konstante Variable die den Namen regelt, anstatt $name würde dann "Gustav" da stehen :D


    und da ist der Punkt leider kann man das nicht als Include machen, da man den Wert der Variable herbekommen muss, bzw. sie übergeben muss und das erfordert mehr Zeilen Code als ein einfaches format :S


    Naja, trotzdem viel Spaß damit :D


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Die Idee ist schon sehr gut von dir Kaliber nur wurde sowas schon lange umgesetzt und um es so zu sagen auch nicht schlecht und zwar von Ryder und Zeex , beziehungsweise ist die Version von Ryder noch schneller. Sowas ähnliches kann man auch nur mit Variabeln machen anstatt mit #emits nur ist sowas schon relative schwer vor allem
    wenn man noch beliebig viele platzhalter verwenden will.


    stock SendFormatMessage(const iPlayer, const iColor, const szFormat[], { Float, _ }: ...) {
    new
    iArgs = (numargs() - 3) << 2
    ;
    if(iArgs) {
    static
    s_szBuf[144],
    s_iAddr1,
    s_iAddr2
    ;
    #emit ADDR.PRI szFormat
    #emit STOR.PRI s_iAddr1


    for(s_iAddr2 = s_iAddr1 + iArgs, iArgs += 12; s_iAddr2 != s_iAddr1; s_iAddr2 -= 4) {
    #emit LOAD.PRI s_iAddr2
    #emit LOAD.I
    #emit PUSH.PRI
    }
    #emit CONST.PRI s_szBuf


    #emit PUSH.S szFormat
    #emit PUSH.C 144
    #emit PUSH.PRI
    #emit PUSH.S iArgs
    #emit SYSREQ.C format


    #emit LCTRL 4
    #emit LOAD.S.ALT iArgs
    #emit ADD.C 4
    #emit ADD
    #emit SCTRL 4


    return (iPlayer != -1) ? SendClientMessage(iPlayer, iColor, s_szBuf) : SendClientMessageToAll(iColor, s_szBuf);
    }
    return (iPlayer != -1) ? SendClientMessage(iPlayer, iColor, szFormat) : SendClientMessageToAll(iColor, szFormat);
    }


    //edit orginaler link noch hinzu gefügt


    http://forum.sa-mp.com/showthread.php?p=1722584#post1722584

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