Járműlekérő parancs (/v) ZCMD-vel

Indította Lola., 2017. június 14. - 03:23:32

Előző téma - Következő téma

Lola.

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;
}

 
 
 
 

Basshunter

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.

DrAkE


Pöppet hasonlít.

Flash

Szerintem csak rossz helyre nyitotta, mert nem említette pontosan, hogy ő készítette volna.