Wysłany: 2012-11-30, 19:58
Retris
Wiek: 29 Na forum: 5023 dni Posty: 11
Piwa : 5
Witam, mo?ecie mi tak w podpunktach napisa? jak m?g?bym zrobi? przypisanie pojazd?w pod gracza(np: Gracz kupuje auto w salonie).
Wysłany: 2012-12-01, 12:40
ToxiC.
Wiek: 28 Na forum: 5246 dni Posty: 3792
Piwa : 8590
Retris , musisz sam co? zacz??, domy?li? si? i pr?bwa?. My b?dziemy stara? si? pom?c.
Mo?e poprostu zr?b najpierw komend? na kupno pojazdu. Nie robi?em takiego systemu ale ja bym to pr?bowa? robi? tak:
na g?rze
Kod: new Vehicle[MAX_PLAYERS];
new bool:VehicleMa[MAX_PLAYERS];
p??niej komenda... na kupno
Kod:
CMD:Pojazd(playerid, params[])
{
if(VehicleMa[playerid]) return SendClientMessage(playerid, -1, Masz ju? w?z.")
new Nazwa[50];
if(sscanf(params, "s[50]", Nazwa)) return SendClientMessage(playerid, -1, "/Pojazd [Nazwa]");
new vid;
vid = GetVehicleModelIDFromName(Nazwa);
if(vid < 400 || vid > 611)
{
SendClientMessage(playerid, -1, "Z?a nazwa!");
return 1;
}
//Jezeli mia?oby by? to na Respekt(Score) to:
if(GetPlayerScore(playerid) < 1000) //1000 score
{
SendClientMessage(playerid, -1 "Nie masz tyle Respa");
return 1;
}
new Float:X, Float:Y, Float:Z; //do pobrania pozycji
GetPlayerPos(playerid, X,Y,Z);
Vehicle[playerid] = CreateVehicle(vid, X, Y , Z, 90, 4, 9, 300); //tworzy pojazd
PutPlayerInVehicle(playerid, Vehicle[playerid], 0);
SetPlayerScore(playerid, GetPlayerScore(playerid) -1000); //zabiera 1000 respa
VehicleMa[Vehicle[playerid]] = 1;
new string[120];
format(string, sizeof string, "Kupi?e?/a? pojazd %s za 1000 Respa", LVehiclesName[vid - 400]); //wysyla info
SendClientMessage(playerid, -1, string);
return 1;
}
Na g?rze: (Nie moje)
Kod:
new LVehiclesName[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"}
};
My?l? jeszcze jak zrobi? aby ka?dy nie m?g? prowadzi? tego wozu. No i z zapisem si? musisz pobawi? te?..
Mo?e tak: w OnPlayerStateChange
Kod:
if(newstate == PLAYER_STATE_DRIVER) //Sprawdzanie czy pojazd nale?y do odpowiedniej osoby
{
if(GetPlayerVehicleID(playerid) != Vehicle[playerid] && VehicleMa[vehicleid] == 1)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, -1, "To jest nie twoje auto!");
}
}
Sprawd?, jak b?dzie dzia?a? to pobawie si? z zapisem.
Wysłany: 2012-12-01, 15:36
Combacior
Wiek: 29 Na forum: 5796 dni Posty: 1516
Piwa : 2161
"Oldschool" napisał/a :new bool:VehicleMa[MAX_PLAYERS];
Po co owa tablica? Je?eli gracz kupi pojazd, to tablica Vehicle b?dzie mia?a w sobie ID pojazdu, wi?c jest to niepotrzebne, np.
Kod: new Vehicle[MAX_PLAYERS] = -1;
//warunek w komendzie, czy gracz ma ju? pojazd
if(Vehicle[playerid] != -1) return SendClientMessage(playerid, -1, "Masz ju? w?z");
"Oldschool" napisał/a :new Nazwa[50];
if(sscanf(params, "s[50]", Nazwa)) return SendClientMessage(playerid, -1, "/Pojazd [Nazwa]");
Po co u?ywasz sscanfa dla jednego argumentu? Zamiast sscanfa mo?na ?mia?o u?y? params
Kod: new vid;
vid = GetVehicleModelIDFromName(params);
Wysłany: 2012-12-01, 16:21
danielson992
Wiek: 32 Na forum: 5145 dni Posty: 4
przyda mi sie.
Wysłany: 2012-12-02, 15:55
Retris
Wiek: 29 Na forum: 5023 dni Posty: 11
Piwa : 5
W OnPlayerStateChange Dajesz vehicleid?
Niestety to nie dzia?a, jeszcze jakie? propozycje?
Oczywi?cie Domy?lam si? jak to zrobi?, chcia?bym tylko ma?? pomoc
Wysłany: 2012-12-02, 17:16
Combacior
Wiek: 29 Na forum: 5796 dni Posty: 1516
Piwa : 2161
Tutaj masz kod, kt?rzy czyni pojazd prywatnym do kt?rego mo?e wej?? tylko jedna osoba
Kod: new veh[50], is_priv[MAX_VEHICLES];
//tworzenie prywatnego pojazdu
veh[playerid] = AddStaticVehicle(...);
is_priv[veh[playerid]] = 1;
//OnPlayerStateChange
if(newstate == PLAYER_STATE_DRIVER)
{
new vehicleid = GetPlayerVehicleID(playerid);
if(is_priv[vehicleid])
{
if(veh[playerid] != veh[vehicleid])
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, -1, "To jest nie twoje auto!");
}
}
}
Nie testowane, pisane na szybkiego. Dane sobie podstaw ju? sam.
Wysłany: 2012-12-02, 20:09
Retris
Wiek: 29 Na forum: 5023 dni Posty: 11
Piwa : 5
"CombaT" napisał/a :Tutaj masz kod, kt?rzy czyni pojazd prywatnym do kt?rego mo?e wej?? tylko jedna osoba
Kod: new veh[50], is_priv[MAX_VEHICLES];
//tworzenie prywatnego pojazdu
veh[playerid] = AddStaticVehicle(...);
is_priv[veh[playerid]] = 1;
//OnPlayerStateChange
if(newstate == PLAYER_STATE_DRIVER)
{
new vehicleid = GetPlayerVehicleID(playerid);
if(is_priv[vehicleid])
{
if(veh[playerid] != veh[vehicleid])
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, -1, "To jest nie twoje auto!");
}
}
}
Nie testowane, pisane na szybkiego. Dane sobie podstaw ju? sam.
Ta funkcja, kt?r? mi da?e? wywala z samochodu tego, kt?ry kupi? pojazd, niestety nie mog? sobie z tym poradzi?.
Tagi: prywatne :: samochody
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: