Szerző Téma: Járműlekérő parancs (/v) ZCMD-vel  (Megtekintve 1511 alkalommal)

Járműlekérő parancs (/v) ZCMD-vel
« Dátum: 2017. június 14. - 03:23:32 »
0 Show voters
Járműlekérő parancs!
 
Sziasztok!
 
Egy újabb szkriptet hoztam nektek. Nem mást, mint a járműlekérő parancsot. Ezt a szkript FUN szerverre íródott.
 
Egyszerű szkript. Bárki beírhatja a parancsot, azaz lekérhet járművet. A \"tiltott\" járműveket (Rhino,Hydra stb...) nem tiltottam le, szóval, aki akarja, annak le kell tiltania. 
 
Használata: /v
 
Szükséges includok: a_samp (alap), zcmd
 
Szerintem ide a kép fölösleges. Kapsz a szerveren egy üzenetet,hogy jármű lekérve.
 
TESZTELVE! Bug mentes..
 
Szkript:
 

#include <a_samp>
#include <zcmd>
#define MAX_STRING 255
#if !defined Loop
#define Loop(%0,%1) \\
        for(new %0 = 0; %0 != %1; %0++)
#endif
#if !defined function
#define function%0(%1) \\
        forward%0(%1); public%0(%1)
#endif
new VehicleNames[212][] = {
{\"Landstalker\"},{\"Bravura\"},{\"Buffalo\"},{\"Linerunner\"},{\"Perrenial\"},{\"Sentinel\"},{\"Dumper\"},
{\"Firetruck\"},{\"Trashmaster\"},{\"Stretch\"},{\"Manana\"},{\"Infernus\"},{\"Voodoo\"},{\"Pony\"},{\"Mule\"},
{\"Cheetah\"},{\"Ambulance\"},{\"Leviathan\"},{\"Moonbeam\"},{\"Esperanto\"},{\"Taxi\"},{\"Washington\"},
{\"Bobcat\"},{\"Mr Whoopee\"},{\"BF Injection\"},{\"Hunter\"},{\"Premier\"},{\"Enforcer\"},{\"Securicar\"},
{\"Banshee\"},{\"Predator\"},{\"Bus\"},{\"Rhino\"},{\"Barracks\"},{\"Hotknife\"},{\"Trailer 1\"},{\"Previon\"},
{\"Coach\"},{\"Cabbie\"},{\"Stallion\"},{\"Rumpo\"},{\"RC Bandit\"},{\"Romero\"},{\"Packer\"},{\"Monster\"},
{\"Admiral\"},{\"Squalo\"},{\"Seasparrow\"},{\"Pizzaboy\"},{\"Tram\"},{\"Trailer 2\"},{\"Turismo\"},
{\"Speeder\"},{\"Reefer\"},{\"Tropic\"},{\"Flatbed\"},{\"Yankee\"},{\"Caddy\"},{\"Solair\"},{\"Berkley\'s RC Van\"},
{\"Skimmer\"},{\"PCJ-600\"},{\"Faggio\"},{\"Freeway\"},{\"RC Baron\"},{\"RC Raider\"},{\"Glendale\"},{\"Oceanic\"},
{\"Sanchez\"},{\"Sparrow\"},{\"Patriot\"},{\"Quad\"},{\"Coastguard\"},{\"Dinghy\"},{\"Hermes\"},{\"Sabre\"},
{\"Rustler\"},{\"ZR-350\"},{\"Walton\"},{\"Regina\"},{\"Comet\"},{\"BMX\"},{\"Burrito\"},{\"Camper\"},{\"Marquis\"},
{\"Baggage\"},{\"Dozer\"},{\"Maverick\"},{\"News Chopper\"},{\"Rancher\"},{\"FBI Rancher\"},{\"Virgo\"},{\"Greenwood\"},
{\"Jetmax\"},{\"Hotring\"},{\"Sandking\"},{\"Blista Compact\"},{\"Police Maverick\"},{\"Boxville\"},{\"Benson\"},
{\"Mesa\"},{\"RC Goblin\"},{\"Hotring Racer A\"},{\"Hotring Racer B\"},{\"Bloodring Banger\"},{\"Rancher\"},
{\"Super GT\"},{\"Elegant\"},{\"Journey\"},{\"Bike\"},{\"Mountain Bike\"},{\"Beagle\"},{\"Cropdust\"},{\"Stunt\"},
{\"Tanker\"}, {\"Roadtrain\"},{\"Nebula\"},{\"Majestic\"},{\"Buccaneer\"},{\"Shamal\"},{\"Hydra\"},{\"FCR-900\"},
{\"NRG-500\"},{\"HPV1000\"},{\"Cement Truck\"},{\"Tow Truck\"},{\"Fortune\"},{\"Cadrona\"},{\"FBI Truck\"},
{\"Willard\"},{\"Forklift\"},{\"Tractor\"},{\"Combine\"},{\"Feltzer\"},{\"Remington\"},{\"Slamvan\"},
{\"Blade\"},{\"Freight\"},{\"Streak\"},{\"Vortex\"},{\"Vincent\"},{\"Bullet\"},{\"Clover\"},{\"Sadler\"},
{\"Firetruck LA\"},{\"Hustler\"},{\"Intruder\"},{\"Primo\"},{\"Cargobob\"},{\"Tampa\"},{\"Sunrise\"},{\"Merit\"},
{\"Utility\"},{\"Nevada\"},{\"Yosemite\"},{\"Windsor\"},{\"Monster A\"},{\"Monster B\"},{\"Uranus\"},{\"Jester\"},
{\"Sultan\"},{\"Stratum\"},{\"Elegy\"},{\"Raindance\"},{\"RC Tiger\"},{\"Flash\"},{\"Tahoma\"},{\"Savanna\"},
{\"Bandito\"},{\"Freight Flat\"},{\"Streak Carriage\"},{\"Kart\"},{\"Mower\"},{\"Duneride\"},{\"Sweeper\"},
{\"Broadway\"},{\"Tornado\"},{\"AT-400\"},{\"DFT-30\"},{\"Huntley\"},{\"Stafford\"},{\"BF-400\"},{\"Newsvan\"},
{\"Tug\"},{\"Trailer 3\"},{\"Emperor\"},{\"Wayfarer\"},{\"Euros\"},{\"Hotdog\"},{\"Club\"},{\"Freight Carriage\"},
{\"Trailer 3\"},{\"Andromada\"},{\"Dodo\"},{\"RC Cam\"},{\"Launch\"},{\"Police Car (LSPD)\"},{\"Police Car (SFPD)\"},
{\"Police Car (LVPD)\"},{\"Police Ranger\"},{\"Picador\"},{\"S.W.A.T. Van\"},{\"Alpha\"},{\"Phoenix\"},{\"Glendale\"},
{\"Sadler\"},{\"Luggage Trailer A\"},{\"Luggage Trailer B\"},{\"Stair Trailer\"},{\"Boxville\"},{\"Farm Plow\"},
{\"Utility Trailer\"}
},
SpawnedVehicles[MAX_PLAYERS]
;
CMD:v(playerid, params[])
{
new Index;
    new tmp[256];  tmp  = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
new tmp3[256]; tmp3 = strtok(params,Index);
new Float:X,Float:Y,Float:Z;
new Float:Angle,int1;
    if(isnull(params)) return SendClientMessage(playerid, -1, \"{FF0000}Használat: /v Név Szín1 Szín 2\");
new car;
new string[128];
new colour1, colour2;
if(!IsNumeric(tmp))
    car = GetVehicleModelIDFromName(tmp);
else car = strval(tmp);
if(car < 400 || car > 611) return  SendClientMessage(playerid, -1, \"{FF0000}[Hiba]: Rossz ID vagy név!\");
if(!strlen(tmp2)) colour1 = random(126); else colour1 = strval(tmp2);
if(!strlen(tmp3)) colour2 = random(126); else colour2 = strval(tmp3);
    if(SpawnedVehicles[playerid] != 0) DestroyVehicle(SpawnedVehicles[playerid]);
new LVehicleID = GetPlayerVehicleID(playerid);
GetPlayerPos(playerid, X,Y,Z);
GetPlayerFacingAngle(playerid,Angle);
int1 = GetPlayerInterior(playerid);
SpawnedVehicles[playerid] = CreateVehicle(car, X+3,Y,Z, Angle, colour1, colour2, -1);
LinkVehicleToInterior(LVehicleID,int1);
PlayerPlaySound(playerid,1085,0,0,0);
PutPlayerInVehicle(playerid,SpawnedVehicles[playerid],0);
SetPVarInt(playerid,\"spawnedveh\",GetPlayerVehicleID(playerid));
    format(string, 128, \"{FFFF00}%s [ID:%i]  {AA3333}lespawnolva | {33AA33}Színei: {00FF00}%i, %i\", VehicleNames[car-400],GetVehicleModel(GetPlayerVehicleID(playerid)), colour1, colour2); //ez is egy üzenet
SendClientMessage(playerid, -1, string);
return 1;
}
strtok(const string[], &index,seperator=\' \')
{
        new length = strlen(string);
        new offset = index;
        new result[MAX_STRING];
        while ((index < length) && (string[index] != seperator) && ((index - offset) < (sizeof(result) - 1)))
        {
                result[index - offset] = string[index];
                index++;
        }
        result[index - offset] = EOS;
        if ((index < length) && (string[index] == seperator))
        {
                index++;
        }
        return result;
}
stock GetVehicleModelIDFromName(vname[])
{
for(new i = 0; i < 211; i++)
{
if ( strfind(VehicleNames, vname, true) != -1 )
return i + 400;
}
return -1;
}
stock IsNumeric(string[])
{
for (new i = 0, j = strlen(string);
i < j; i++)
{
if (string > \'9\' || string < \'0\')
return 0;
}
return 1;
}

 
 
 
 

Járműlekérő parancs (/v) ZCMD-vel
« Válasz #1 Dátum: 2017. június 14. - 20:25:20 »
0 Show voters
Szia!
 
Legalább még valaki tölt fel ilyesmit. Csak így tovább :) 
 
Engedj meg egy észrevételt: a mai RAM-ok korában takarékoskodj a memóriával, és ne hozz létre 256 méretű tömböket, mikor sose fogod kihasználni. Pláne egy színhez, ahol normális esetben csak néhány számot vársz. Ha jól emlékszem, a beviteli mező (ahová a parancsokat is beírod) legfeljebb 144 karaktert enged, de ebben nem vagyok biztos. Ha igaz, még annyira sincs értelme ilyen nagy méretű tömböket létrehozni.

Nem elérhető DrAkE

  • 2078
    • Profil megtekintése
Járműlekérő parancs (/v) ZCMD-vel
« Válasz #2 Dátum: 2017. június 14. - 20:43:33 »
+1 Show voters

Pöppet hasonlít.

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
Járműlekérő parancs (/v) ZCMD-vel
« Válasz #3 Dátum: 2017. június 14. - 21:46:07 »
0 Show voters
Szerintem csak rossz helyre nyitotta, mert nem említette pontosan, hogy ő készítette volna.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal