Skocz do zawartości
ManieQ535

[INC][END]MQFunC - Przydatne funkcje na twój serwer.

Rekomendowane odpowiedzi

Siemka. Jesteś zielony i nie znasz jeszcze nie których funkcji? Ten include ułatwi ci życie!  :D

 

 Pastebin: http://pastebin.com/HY6CbEYq

 

Opis:

 

MQPlayerName(playerid); - Pobiera nick gracza który np. wpisał komendę.
MQAllSkins(Float:spawnX, Float:spawnY, Float:spawnZ, Float:spawnRot); - Funkcja dodająca wszystkie skiny do wybierałki + możecie ustalić miejsce spawnu.
MQMarkerHide(playerid); - Twój marker na mapce jest nie widoczny można to zastosować do jakiejś gry lub komendy.
MQRandom(min, max); - Dodaje to możliwość wygenerowania przypadkowej liczby w przedziale min-max, np. 1-100. 
MQBan(playerid); - Ustawia timer dzięki czemu możemy wyświetlić najpierw wiadomość dopiero potem kogoś zbanować.
MQKick(playerid); - Robi zupełnie to co wyżej tylko zamiast banować to kickuje.

MQGMRestart(timeinseconds); - Warto zauważyć że trzeba podać wartość w sekundach a nie w ms. Restartuje to GM po podanym tutaj czasie do tego wyświetla się na górze ekranu napis za ile sec zostanie zrestartowany GM.

MQClearChat(); - Czyści chat wszystkim graczom.

MQClearPlayerChat(playerid); - Czyści chat graczu który np. wpisał jakąś komendę.

MQPmPlayerToPlayer(playerid, targetid, message[]); - Praktycznie gotowa funkcja która wysyła PM(private message z ang. prywatna wiadomość) można to zastosować jako komendę i połączyć to z sscanfem.

MQConvertSecondsToMS(seconds); - Przemienia sekundy w milisekundy, a milisekundy w prawie każdym przypadku są wymagane.

MQConvertMinutesToMS(minutes); - Przemienia minuty w milisekundy.

MQConvertHoursToMS(hours); Przemienia godziny w milisekundy.

MQConvertDaysToMS(days); - Przemienia dni w milisekundy, a tak btw. ja nie wiem po co to komu ale jak zrobiłem to niech będzie.

MQGetVehicleSpeed(vehicleid); Sprawdza ile dany pojazd jedzie km/h.

MQIsPlayerOnFoot(playerid); - Sprawdza czy gracz idzie a nie np. jedzie samochodem.

MQIsPlayerAnyVehiclePassenger(playerid); - Sprawdza czy gracz jest pasażerem w jakimś pojeździe.

MQIsPlayerAnyVehicleDriver(playerid); - Robi to co funkcja u góry. Tylko sprawdza czy gracz jest kierowcą pojazdu.

MQGetOnlineAdmins(); - Sprawdza ile jest adminów RCON na serwerze.

MQShutDownServer(); - Zamyka natychmiastowo serwer.

MQGetVehicleMPHSpeed(vehicleid); - Sprawdza ile dany pojazd jedzie w mph.

MQGetOnlinePlayers(); - Sprawdza ile graczy jest online na serwerze.

MQIsPlayerInAnyInterior(playerid); - Sprawdza czy gracz jest w jakimś interiorze.

MQIsPlayerInAnyVirtualWorld(playerid); - Sprawdza czy gracz jest w jakimś virtual worldzie.

MQConvertMsToSeconds(miliseconds); - Przemienia milisekundy na sekundy.

MQConvertMsToMinutes(miliseconds); - Przemienia milisekundy na minuty.

MQConvertMsToHours(miliseconds); - Przemienia milisekundy na godziny.

MQConvertMsToDays(miliseconds); - Przemienia milisekundy na dni.

MQGMRestartNow(); - Była już taka funkcja tylko tutaj GM restartuje się od razu.

MQDisableDefaultFunctions(); - Czyści pozostałości z single player takie jak:

DisableInteriorEnterExits(); //Blokuje te żółte markery.
UsePlayerPedAnims(); //Każdy skin ma taki sam sposób chodzenia.
EnableStuntBonusForAll(0); //Blokuje kasę za stunty itp... 

MQMarkerHideAll(); - Chowa marker każdemu graczu na serwerze.

MQAntiDeAMX(); - Jest to zabezpieczenie przed programem EasyDeAMX.

MQAddNitroToVehicle(vehicleid); - Dodaje nitro do pojazdu.

MQPingLimit(playerid, limitnumber); - Kickuje z serwera jeżeli gracz przekroczy limit pingu który został tutaj zdefiniowany.

MQGetPlayerIP(playerid, ip[]); - Pobiera IP gracza.

MQIsVehicleDrivingBackwards(vehicleid); - Sprawdza czy pojazd jedzie do tyłu. Autorem jest: LosTigeros.

MQOryginalSAMP(playerid); - Sprawdza czy dany gracz ma oryginalną wersję SAMPa czyli: Teraz jest wersja 0.3z a jeżeli ktoś ma np. 0.3e to jeżeli może wejść na serwer to wtedy funkcja wykrywa i banuje go jeżeli ma złą wersje SAMPa. Autorem jest: LosTigeros.

Teraz taki bardziej system a nie funkcja: Autorem jest: LosTigeros.

//Wszystkie te funkcję są zrobione z zabezpieczeniem przed money hackiem. Tego dowiedziałem się od autora.

MQResetMoney(playerid); //Funkcja ta resetuje pieniądze gracza.
MQGiveMoney(playerid, money); //Najpierw resetuje potem dodaje pieniądze graczu.
MQTakeMoney(playerid, money); //Jeżeli w zmiennej GraczKasa jest np. 1000 to wtedy gracz może sobi wypłacić tą kasę. Czy coś takiego.
MQCheckMoney(playerid); //Sprawdza ile masz kasy w przypisanej do zmiennej.

MQValidPlayerID(playerid); - Sprawdza czy gracz jest na serwerze i sprawdza czy jego id nie jest 65535. Autorem jest: LosTigeros.

MQRealVehicleName(model); - Zamienia nazwy pojazdów z GTA na nazwy realistyczne. Autorem jest: LosTigeros.

MQGTAVehicleName(model); - Funkcja zwraca nazwę pojazdu z GTA. Autorem jest: LosTigeros.

 

Lista kolorów:

C_WHITE

C_BLACK 

C_RED

C_GREEN

C_BLUE

C_CYAN

C_YELLOW

C_PINK

C_NONE - Przeźroczysty kolor.

 

Zakaz kopiowania na inne forum bez zgody autora. Zakaz kopiowania i podpisywania się jako autor.

Edytowane przez ManieQ535

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Łap like za chęci, aczkolwiek nie widzę kogoś aby ktoś z tego korzystał bo są to praktycznie podstawy które większość umie.

Może ktoś skorzysta :)

Jeszcze będą update'y i coraz więcej funkcji będę dodawał w miarę możliwości :D

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Wszystko spoko, doceniam Twój jak na razie mały wkład w tą bibliotekę, mam nadzieję, że będziesz ją rozwijał o nowe funkcje.

Ciekawi mnie tylko jedno - po co lub dlaczego stosujesz dyrektywę params z argumentem unused w komendach zcmd? Jest ona zbędna. :)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Wszystko spoko, doceniam Twój jak na razie mały wkład w tą bibliotekę, mam nadzieję, że będziesz ją rozwijał o nowe funkcje.

Ciekawi mnie tylko jedno - po co lub dlaczego stosujesz dyrektywę params z argumentem unused w komendach zcmd? Jest ona zbędna. :)

Nie wiem dlaczego tak robię chyba już nawyk :)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dodaj jeszcze ile dany pojazd jedzie w milach na godzinę, i funkcję sprawdzającą czy dany pojazd jedzie do tyłu.

Zobaczę :) Jak zrobię to na 100% będzie update <3

 

@Edit: Dodałem tylko obliczenie ile pojazd jedzie w mph i ile graczy jest online :)

Edytowane przez ManieQ535

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Funkcja sprawdzająca czy pojazd jedzie do tyłu:
 

stock bool:IsVehicleDrivingBackwards(vehicleid)
{
    new Float:Float[3];
    if(GetVehicleVelocity(vehicleid, Float[1], Float[2], Float[0])) {
        GetVehicleZAngle(vehicleid, Float[0]);
        if(Float[0] < 90) {
            if(Float[1] > 0 && Float[2] < 0)    return true;
        } else if(Float[0] < 180) {
            if(Float[1] > 0 && Float[2] > 0)    return true;
        } else if(Float[0] < 270) {
            if(Float[1] < 0 && Float[2] > 0)    return true;
        } else if(Float[1] < 0 && Float[2] < 0) return true;
    }
    return false;
}

Nie działa ona najlepiej, ale jest bardzo dobra.
 
 
A tutaj funkcja wykonywana kiedy gracz zmieni broń, i jaką miał wcześniej a jaką ma teraz:

stock OnPlayerChangeWeapon(playerid, oldweapon, newweapon)
{

	return 1;
}

A to w jakiś Timer:

	new TerazBron = GetPlayerWeapon(playerid);

	if(TerazBron != GetPVarInt(playerid, "AktualnaBron"))
	{
		OnPlayerChangeWeapon(playerid, GetPVarInt(playerid, "AktualnaBron"), TerazBron);
		SetPVarInt(playerid, "AktualnaBron", TerazBron);
	}

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

MQAllSkins(); nie usuwasz skinów których nie ma czy mi się tylko wydaje ?

Nie za bardzo rozumiem co napisałeś. Ta funkcja ma dodawać wszystkie skiny do wybierałki od 0 do 299 więc nie wiem o co ci chodzi

 

@LosTigeros:

Dobra dodam tą funkcję z jazdą do tyłu a tą z bronią zatrzymaj dla siebie może ci się przyda. Jak będę miał potrzebę aby dodać taką funkcję to na pewno ją dodam.

Edytowane przez ManieQ535

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

To ciekawe, że dla beki wypuszczasz skrypt, który banuje wszystkich graczy na serwerze.

To miał być taki troll :D

A tak btw. jak macie jakieś pomysły to pisać tutaj w komentarzu.

Edytowane przez Shiny

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Funkcja sprawdzająca czy klient posiada oryginalną wersję SA-MP'a.
 

#define SAMP_VERSION "0.3z"
stock OriginalSAMP(playerid)
{
    new Ver[32];
    GetPlayerVersion(playerid, Ver, 32);
    if(strfind(Ver,SAMP_VERSION,true) == 0) return 1;
    return 0;
}

Przykład użycia:
 

if(OriginalSAMP(playerid))
{
    SendClientMessage(playerid, 0x00CCFFAA, "Twoja wersja SA-MP jest {00FF00}oryginalna{00CCFF}. Możesz grać na serwerze :)");
}
else
{
    SendClientMessage(playerid, 0x00CCFFAA, "Twoja wersja SA-MP jest {FF0000}nieoryginalna{00CCFF}. Nie możesz grać na serwereze :(");
    MQBan(playerid);
}

 
 
Funkcja na pieniądze dla gracza (niby prosta, ale chroni przed money hackiem):

new GraczKasa[MAX_PLAYERS];

stock ResetCash(playerid)
{
    GraczKasa[playerid] = 0;
    ResetPlayerMoney(playerid);
    return 1;
}

stock GiveCash(playerid, kasa)
{
    GraczKasa[playerid] += kasa;
    ResetPlayerMoney(playerid);
    GivePlayerMoney(playerid, GraczKasa[playerid]);
    return 1;
}

stock TakeCash(playerid, kasa)
{
    GraczKasa[playerid] -= kasa;
    ResetPlayerMoney(playerid);
    GivePlayerMoney(playerid, GraczKasa[playerid]);
    return 1;
}

stock CheckCash(playerid)
{
    return GraczKasa[playerid];
}

 
Przykład użycia:

CMD:dajtysiaka(playerid, cmdtext[])
{
    GiveCash(playerid, 1000);
    SendClientMessage(playerid, 0x00CCFFAA, "Masz $1000.");
    return 1;
}

CMD:weztysiaka(playerid, cmdtext[])
{
    TakeCash(playerid, 1000);
    SendClientMessage(playerid, 0x00CCFFAA, "Nie masz $1000.");
    return 1;
}

CMD:resetnijkase(playerid, cmdtext[])
{
    ResetCash(playerid);
    SendClientMessage(playerid, 0x00CCFFAA, "Rząd zakosił za podatki! Masz: $0");
    return 1;
}

CMD:stankonta(playerid, cmdtext[])
{
    new tmp[128];
    format(tmp, sizeof(tmp), "Masz $%d kasy.", CheckCash(playerid));
    SendClientMessage(playerid, 0x00CCFFAA, tmp);
    return 1;
}

Funkcja sprawdzająca czy gracz ma prawidłowe id (czy nie ma 65535):

stock ValidPlayerID(playerid)
{
    if(playerid != INVALID_PLAYER_ID) return 1;
    return 0;
}

Przykład użycia:

public OnPlayerDeath(playerid, killerid, reason)
{
    if(ValidPlayerID(killerid))
    {
        GivePlayerMoney(killerid, 1000);
        SendClientMessage(killerid, 0x00CCFFAA, "Dostałeś $1000 za zabójstwo.");
    }

    GivePlayerMoney(playerid, -500);
    return 1;
}

Funkcja zwracająca prawdziwą nazwę pojazdu:

new PrawdziweNazwyPojazdow[212][38] = {
	{"Jeep Wagoneer"},{"Mercury Cougar"},{"Camaro with Scoop"},{"Big Rig"},{"Jeep Grand Wagoneer"},
	{"BMW 7-Series"},{"Dumptruck"},{"SA Firetruck"},{"Peterbuilt"},{"Lincoln Towncar"},
	{"Dodge Aries"},{"Acura NSX '05"},{"Chevy Biscayne"},{"Ford Aerostar"},{"Ford Box Van"},
	{"Ferrari Testarosso"},{"Ford Econoline"},{"Emergency Heli"},{"Chevrolet Astrovan"},
	{"Cadillac Eldorado"},{"Chevy Caprice"},{"Lincoln Mark 7"},{"Chevrolet S10"},
	{"Chevy Ice Cream Truck"},{"Volkswagen Beach Buggy"},{"AH-64A"},{"Chevrolet Caprice"},
	{"International SWAT Van"},{"Securita Van"},{"Dodge Viper"},{"Preditor"},{"Volvo Bus"},
	{"M1A1 Abrams"},{"Barracks"},{"Ford Hot Rod"},{"Trailer"},{"Nissan Pulsar"},{"Old Coach"},
	{"Caprice Classic Cab"},{"Ford Mustang Mach 1"},{"Mercedes Van"},{"RC Bandit"},{"Cadillac Hearse"},
	{"Packer/Stunt Helper"},{"Chevy S-10 Monster Truck"},{"Mercedes-Benz S-Class"},{"Chris Craft Stinger"},
	{"Bell 47G"},{"Piaggio Vespa PX 200"},{"Tram"},{"Trailer"},{"Ferrari F40"},{"Go-Fast Boat"},{"Orca"},
	{"Sea Ray 270 Sedan Bridge"},{"Flatbed"},{"1992 Ford F800"},{"Golf Car"},{"Ford Taurus Wagon"},
	{"Honda Life '74"},{"Cessna 150 With Floats"},{"Honda CBR 600 '92"},{"Piaggio Vespa PX 200 '86"},
	{"Harley Davidson Soft Tail"},{"RC Red Baron"},{"RC Raider"},{"Dodge Dart"},{"Plymouth Belverdere"},
	{"Yamaha DT 200 Dirt Bike"},{"Bell 47G"},{"Hummer H-1"},{"Honda TRX250x '92"},{"Coastguard Boat"},
	{"Rescue Boat"},{"Mercury '51"},{"Chevy Chevelle"},{"Curtiss P-40D Warhawk"},{"Mazda RX-7"},
	{"Chevy Farm Truck"},{"Chevy Caprice Estate"},{"Porsche 911"},{"Schwinn BMX"},{"Dodge Ramvan"},
	{"Volkswagen Bus"},{"Endeavour 42"},{"Equitech M40 '85"},{"Bulldozer"},{"Bell 206L-4"},
	{"Bell 206B-3"},{"Ford Bronco"},{"Chevrolet Suburban '92"},{"Lincoln Mark 7"},{"Dodge Diplomat"},
	{"CMN Interceptor DV-15"},{"Ford Mustang LX"},{"Ford Bronco"},{"Honda CRX"},{"Bell 206L-4"},
	{"Chevy Cargo Van"},{"Ford Moving Van"},{"Jeep Wrangler"},{"RC Heli"},{"Ford Mustang LX '86"},
	{"Ford Mustang LX '86"},{"Customised Glendale"},{"Ford Bronco '80"},{"Mitsubishi 3000 GT"},
	{"Buick Roadmaster"},{"GMC R.V."},{"Old Bike"},{"Schwinn Mesa Mountain Hardtail"},{"C-2 Greyhound"},
	{"Grumman G-164 AgCat"},{"Pitt's Special"},{"Gas Tanker"},{"International 9370 Truck"},
	{"Lincoln Towncar"},{"Chevy Monte Carlo"},{"Chevrolet Monte Carlo"},{"Bombardier Learjet 55"},
	{"AV-8 Harrier Jump-Jet"},{"Honda CBR 900 RR Fireblade"},{"Honda NSR 500 '01"},
	{"Kawasaki KZ1000-P21"},{"Chevrolet Cement Truck"},{"Tow Truck '91"},{"Ford Thunderbird"},
	{"Ford Escort"},{"CSI/FBI Investigation Truck"},{"Dodge Dynasty"},{"Forklift '89"},{"Old Tractor"},
	{"Combine Harvester"},{"Mercedes-Benz SL-Class"},{"Lincoln Mark 5"},{"Chevy CST '68"},
	{"Chevrolet Caprice Droptop"},{"1972 EMD SD40"},{"Amtrak F40PH"},{"Hovercraft"},{"Mercedes Benz E120"},
	{"Ford GT-40"},{"Dodge Challenger '70"},{"Dodge 100 Series"},{"SA Firetruck"},{"Ford Hotrod"},
	{"Chevrolet Lumina"},{"Oldsmobile Cutlass Ciera"},{"Sikorsky CH-53"},{"Dodge Roadrunner"},
	{"Late 80's Honda Sedan"},{"Mercury Grand Marquis"},{"Chevy 2500"},{"Douglas C-47"},{"GMC Sierra"},
	{"Jaguar XKE '66"},{"Chevy S-10 Monster Truck"},{"Chevy S-10 Monster Truck"},{"Eagle Talon"},
	{"Toyota Supra"},{"Impreza 2.5RS '95"},{"Honda Accord Wagon"},{"Nissan R34 Skyline"},
	{"Sikorsky UH-60 Black Hawk"},{"RC Tiger"},{"Honda Civic"},{"Oldsmobile Cutlass"},{"Chevy Impala"},
	{"Half Life 2 Sand Rail"},{"EMD SD40"},{"Trailer"},{"Go Kart"},{"Ride-On Lawn Mower"},
	{"Mercedes-Benz AK 4x4 '91"},{"Elgin Pelican"},{"Caddilac '54"},{"Chevy Bel Air '57"},{"Boeing 737"},
	{"Flatbed"},{"Range Rover"},{"Rolls Royce"},{"Honda VFR 400"},{"Dodge Ramvan Newsvan"},
	{"Baggage Tow Tractor HTAG-30/40"},{"Trailer"},{"Infinity J30 '92"},{"Honda Goldwing GL1500 '04"},
	{"Nissan 350Z/240SX"},{"Hotdog Van"},{"Volkswagen Golf"},{"Trailer"},{"Trailer"},
	{"Lockheed C-5 Galaxy"},{"Cessna 150"},{"Jak ty tym jezdzisz :O"},{"CMN Interceptor DV-15"},
	{"Chevy Caprice LA"},{"Chevy Caprice SF"},{"Chevy Caprice LV"},{"Chevy Blazer Desert"},
	{"Chevrolet El Camino '68"},{"S.W.A.T. Van"},{"Dodge Stealth '91"},{"Pontiac Trans AM"},{"Dodge Dart"},
	{"Dodge 100 Series"},{"Luggage Trailer"},{"Luggage Trailer"},{"Stair Trailer"},{"Chevy Cargo Van"},
	{"Farm Plow"},{"Chevy 2500 Trailer"}
};

stock RVehicleName(model)
{
    return PrawdziweNazwyPojazdow[model-400];
}

Przykład użycia:

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    new tmp[128];
    format(tmp, sizeof(tmp), "Wsiadłeś do: %s.", RVehicleName(GetVehicleModel(vehicleid)));
    SendClientMessage(playerid, 0x00CCFFAA, tmp);

    return 1;
}

Funkcja zwracająca oryginalną (z GTA) nazwę pojazdu:

new GTANazwyPojazdow[212][20] = {
	{"Landstalker"},{"Bravura"},{"Buffalo"},{"Linerunner"},{"Perrenial"},{"Sentinel"},
	{"Dumper"},{"Fire Truck"},{"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"},{"Seaspar"},
	{"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"},{"Sparroww"},{"Patriot"},{"Quad"},
	{"Coastguard"},{"Dinghy"},{"Hermes"},{"Sabre"},{"Rustler"},{"ZR-350"},
	{"Walton"},{"Regina"},{"Comet"},{"BMX"},{"Burrito"},{"Camper"},
	{"Marquis"},{"Baggage"},{"Dozer"},{"Maverick"},{"VCNMaverick"},{"Rancher"},
	{"FBI Rancher"},{"Virgo"},{"Greenwood"},{"Jetmax"},{"Hotring"},{"Sandking"},
	{"Blista Compact"},{"Police Maverick"},{"Boxville"},{"Benson"},{"Mesa"},{"RC Goblin"},
	{"Hotring A"},{"Hotring 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"},{"LSPD"},{"SFPD"},
	{"LVPD"},{"Police Ranger"},{"Picador"},{"SWAT Van"},{"Alpha"},{"Phoenix"},
	{"Glendale"},{"Sadler"},{"Luggage Trailer A"},{"Luggage Trailer B"},{"Stair Trailer"},
	{"Boxville"},{"Farm Plow"},{"Utility Trailer"}
};

stock VehicleName(model)
{
    return GTANazwyPojazdow[model-400];
}

Przykład użycia:

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    new tmp[128];
    format(tmp, sizeof(tmp), "Wsiadłeś do: %s.", VehicleName(GetVehicleModel(vehicleid)));
    SendClientMessage(playerid, 0x00CCFFAA, tmp);

    return 1;
}

Funkcja zmieniająca litery w zdaniu:

stock ChangeString(string[], const search[], const replacement[], bool:ignorecase = false, pos = 0, limit = -1, maxlength = sizeof(string))
{
	if (limit == 0) return 0;
	new
	sublen = strlen(search),
	replen = strlen(replacement),
	bool:packed = ispacked(string),
	maxlen = maxlength,
	len = strlen(string),
	count = 0
	;
	if (packed) maxlen *= 4;
	if (!sublen) return 0;
	while (-1 != (pos = strfind(string, search, ignorecase, pos)))
	{
		strdel(string, pos, pos + sublen);
		len -= sublen;
		if (replen && len + replen < maxlen)
		{
			strins(string, replacement, pos, maxlength);
			
			pos += replen;
			len += replen;
		}
		if (limit != -1 && ++count >= limit) break;
	}
	return count;
}

Przykład użycia:

CMD:przykladowakomenda(playerid, cmdtext[])
{
    new tmp[128];
    format(tmp, sizeof(tmp), "AĄBCĆDEĘFGHIJKLŁMNŃOÓPRSŚTUWXYZŹŻ...aąbcćdeęfghł....");

    ChangeString(tmp, "ą", "a");
    ChangeString(tmp, "Ą", "A");

    ChangeString(tmp, "ć", "c");
    ChangeString(tmp, "Ć", "C");

    ChangeString(tmp, "ę", "e");
    ChangeString(tmp, "E", "E");

    ChangeString(tmp, "ghł", "ójk");
    ChangeString(tmp, "Ł", "L");
    ChangeString(tmp, "Ń", "N");
    ChangeString(tmp, "Ó", "O");
    ChangeString(tmp, "Ś", "S");
    ChangeString(tmp, "Ź", "Z");
    ChangeString(tmp, "Ż", "Z");

    SendClientMessage(playerid, 0x00CCFFAA, tmp); // "AABCCDEEFGHIJKLLMNNOOPRSSTUWXYZZZ...aabccdeefójk...."
    return 1;
}
Edytowane przez LosTigeros

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Omg... Ale żeś się narobił :) Jutro będzie to dodane bo dzisiaj to już śpie.

 

PS: Przykłady użycia mogłeś se darować bo zrezygnowałem z tego aby inni tego nie kopiowali. Zostawiłem tylko jedno bo to trochę dziwna funkcja.

Edytowane przez ManieQ535

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

No to fajnie ^.^ Jutro jakoś 14-15 będzie update wtedy do 14-15 możesz podrzucić więcej funkcji.

 

@EDIT: No ta funkcja change string fajna ale nie wiem czy się przyda :) Raczej dla kogoś kto się uczy takie coś jest nie potrzebne. Ale może później wstawię.

Edytowane przez ManieQ535

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dzięki tej funkcji (ChangeString) mam poukładane literki w MySQL, więc się przydaje.

Można go użyć np. gdy gracz przeklina na serwie :)

 

Funkcja podająca stan pojazdu w liczbie (100 - 0):

stock VehicleHealth(vehicleid)
{
	new
	    Float:zycie,
	    procent;

	GetVehicleHealth(vehicleid, zycie);
	procent = floatround((((zycie - 250.0) / (1000.0 - 250.0)) * 100.0));
	
	if(procent > 100) procent = 100;
	else if(procent < 0) procent = 0;
	return procent;
}

Sposób użycia:

CMD:zycie(playerid, params[])
{
	new tmp[128];
	format(tmp, sizeof(tmp), "Pojazd ma: %d życia.", VehicleHealth(GetPlayerVehicleID(playerid)));
	SendClientMessage(playerid, 0x00CCFFAA, tmp);
	return 1;
}

Funkcja dodająca nitro do pojazdu:

stock GiveVehicleNitro(vehicleid)
{
	AddVehicleComponent(vehicleid, 1010);
	return 1;
}

Przykładowe użycie:

CMD:nitro(playerid, params[])
{
	GiveVehicleNitro(GetPlayerVehicleID(playerid));
	SendClientMessage(playerid, 0x00CCFFAA, "Nitro dodane :)");
	return 1;
}
Edytowane przez LosTigeros

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

@up mam juz na nitro :D A tamtenz 100hp pojazdu jest spoko jutro dodam

@root autorów wymieniam tylko z tego forum :>

--

Używaj opcji "edytuj", następnym razem poleci warn za double-post.

Edytowane przez l0nger

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

No tak, nie zauważyłem.

 

Funkcja dodaje auto, które jest tworzone przed graczem. Jest widoczne w danym VW gracza oraz Interiorze gracza (normalnie jeśli gracz jest w innym VW lub Interiorze, to auto jest niewidzialne). Funkcja zwraca ID utworzonego pojazdu:

stock FixCreateVehicle(playerid, modelid, color1, color2, respawntime)
{
	new
		idauta,
		Float:x,
		Float:y,
		Float:z,
		Float:Angle;
		
	GetPlayerPos(playerid, x, y, z);
	GetPlayerFacingAngle(playerid, Angle);
	GetXYInFrontOfPlayer(playerid, x, y, 5);
	idauta = CreateVehicle(modelid, x, y, z+2, Angle+90, color1, color2, respawntime);
	LinkVehicleToInterior(idauta, GetPlayerInterior(playerid));
	SetVehicleVirtualWorld(idauta, GetPlayerVirtualWorld(playerid));
	return idauta;
}

stock GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance)
{
	new Float:a;
	GetPlayerPos(playerid, x, y, a);
	GetPlayerFacingAngle(playerid, a);
	if (GetPlayerVehicleID(playerid)) {
		GetVehicleZAngle(GetPlayerVehicleID(playerid), a);
	}
	x += (distance * floatsin(-a, degrees));
	y += (distance * floatcos(-a, degrees));
}
Przykład użycia:

CMD:zoltyinfernus(playerid, params[])
{
	FixCreateVehicle(playerid, 411, 6, 6, 1000);
	SendClientMessage(playerid, 0x00CCFFAA, "Infernus zespawniony.");
	return 1;
}

CMD:losowyinfernus(playerid, params[])
{
	FixCreateVehicle(playerid, 411, -1, -1, 1000);
	SendClientMessage(playerid, 0x00CCFFAA, "Infernus zespawniony.");
	return 1;
}
PS: Możesz nazwać ją: "MQCreateVehicle". Edytowane przez LosTigeros

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×