Vrste vozila by Kr0s3
Napravio: Kr0s3
Vrijeme izrade: 1 sat
Namjena: Za server
Zasluge: Posto ovo vec postoji neuzimam nikakve zasluge :)
Zapravo i nije tutorial ali nema sekcije skripte pa sam to ovdje stavio :)
Objavio sam ako nekome treba neka si uzme,
znam da ima ovakva skripta vec ali ako je netko
nezna izvuci iz gm-a eto mu je ovdje.
Dole sam objasnio takoder kratko kako se koristi.
Objasnio sam najkrace, a mozete koristiti za stogod
hocete, brzinomjere i sl.
Molim vas susdrzite se [cenzura]ih komentara jer znam
da je ovo jednostavno ali ce nekome biti potrebno ;)
Na vrh dodajte:
forward IsPlayerInCar(playerid);
forward IsPlayerInTruck(playerid);
forward IsPlayerInHeli(playerid);
forward IsPlayerInPlane(playerid);
forward IsPlayerInBoat(playerid);
forward IsPlayerInBike(playerid);
forward IsPlayerInCopCar(playerid);
forward IsPlayerInSWATCar(playerid);
forward IsPlayerInHospitalCar(playerid);
- definiramo funkcije koje cemo dolje koristiti
- ovim cemo funkcijama provjeravati u kojoj je vrsti vozila igrac
Negdje dole dodajte ovo:
public IsPlayerInCar(playerid) {
new m = GetVehicleModel(GetPlayerVehicleID(playerid));
if(m == 400 || m == 401 || m == 402 || m == 404 || m == 405 || m == 409 || m == 410 || m == 411 || m == 412 || m == 415 || m == 418 || m == 419 || m == 420 || m == 421 || m == 422 || m == 424 || m == 426 || m == 429 || m == 434 || m == 436 || m == 438 || m == 439 || m == 441 || m == 442 || m == 444 || m == 445 || m == 451 || m == 457 || m == 458 || m == 464 || m == 465 || m == 466 || m == 467 || m == 470) { return 1; }
if(m == 474 || m == 475 || m == 477 || m == 488 || m == 479 || m == 480 || m == 485 || m == 489 || m == 490 || m == 491 || m == 492 || m == 494 || m == 495 || m == 496 || m == 500 || m == 501 || m == 502 || m == 503 || m == 504 || m == 505 || m == 506 || m == 507 || m == 516 || m == 517 || m == 518 || m == 525 || m == 526 || m == 527 || m == 528 || m == 529 || m == 530 || m == 531 || m == 532 || m == 533) { return 1; }
if(m == 534 || m == 534 || m == 536 || m == 539 || m == 540 || m == 541 || m == 542 || m == 543 || m == 545 || m == 546 || m == 547 || m == 549 || m == 550 || m == 551 || m == 552 || m == 554 || m == 555 || m == 556 || m == 557 || m == 558 || m == 559 || m == 560 || m == 561 || m == 562 || m == 564 || m == 565 || m == 566 || m == 567 || m == 568 || m == 571 || m == 572 || m == 574 || m == 575 || m == 576) { return 1; }
if(m == 579 || m == 580 || m == 583 || m == 585 || m == 587 || m == 589 || m == 594 || m == 596 || m == 597 || m == 598 || m == 599 || m == 600 || m == 602 || m == 603 || m == 604 || m == 605 || m == 606 || m == 607 || m == 608 || m == 610 || m == 611) { return 1; }
return 0; }
//------------------------------------------------------------------------------
public IsPlayerInTruck(playerid) {
new m = GetVehicleModel(GetPlayerVehicleID(playerid));
if(m == 403 || m == 406 || m == 407 || m == 408 || m == 413 || m == 414 || m == 416 || m == 423 || m == 427 || m == 428 || m == 431 || m == 432 || m == 433 || m == 435 || m == 437 || m == 440 || m == 443 || m == 449 || m == 450 || m == 455 || m == 456 || m == 459 || m == 482 || m == 483 || m == 486 || m == 498) { return 1; }
if(m == 499 || m == 508 || m == 514 || m == 515 || m == 524 || m == 537 || m == 538 || m == 544 || m == 569 || m == 570 || m == 573 || m == 578 || m == 582 || m == 584 || m == 588 || m == 590 || m == 591 || m == 601 || m == 609) { return 1; }
return 0; }
//------------------------------------------------------------------------------
public IsPlayerInHeli(playerid) {
new m = GetVehicleModel(GetPlayerVehicleID(playerid));
if(m == 417 || m == 425 || m == 447 || m == 469 || m == 487 || m == 488 || m == 497 || m == 548 || m == 563) { return 1; }
return 0; }
//------------------------------------------------------------------------------
public IsPlayerInBoat(playerid) {
new m = GetVehicleModel(GetPlayerVehicleID(playerid));
if(m == 430 || m == 446 || m == 452 || m == 453 || m == 454 || m == 472 || m == 473 || m == 484 || m == 493 || m == 595) { return 1; }
return 0; }
//------------------------------------------------------------------------------
public IsPlayerInBike(playerid) {
new m = GetVehicleModel(GetPlayerVehicleID(playerid));
if(m == 448 || m == 461 || m == 462 || m == 463 || m == 468 || m == 471 || m == 521 || m == 522 || m == 523 || m == 581 || m == 586) { return 1; }
return 0; }
//------------------------------------------------------------------------------
public IsPlayerInPlane(playerid) {
new m = GetVehicleModel(GetPlayerVehicleID(playerid));
if(m == 460 || m == 476 || m == 511 || m == 512 || m == 513 || m == 519 || m == 520 || m == 553 || m == 577 || m == 592 || m == 593) { return 1; }
return 0; }
//------------------------------------------------------------------------------
public IsPlayerInCopCar(playerid) {
new m = GetVehicleModel(GetPlayerVehicleID(playerid));
if(m == 427 || m == 490 || m == 497 || m == 523 || m == 528 || m == 596 || m == 597 || m == 598 || m == 599 || m == 601) { return 1; }
return 0; }
//------------------------------------------------------------------------------
public IsPlayerInSWATCar(playerid) {
new m = GetVehicleModel(GetPlayerVehicleID(playerid));
if(m == 507 || m == 528 || m == 601 || m == 487 || m == 528 || m == 596 || m == 597 || m == 598 || m == 599 || m == 601) { return 1; }
return 0; }
//------------------------------------------------------------------------------
public IsPlayerInHospitalCar(playerid) {
new m = GetVehicleModel(GetPlayerVehicleID(playerid));
if(m == 416 || m == 563) { return 1; }
return 0; }
- skripta je jednostavna, ako je model vozila u kojem je igrac npr 400, server zna da je usao u auto
- ovdje smo definirali Modele vozila koji su sta
- server nezna koji je obicni auto, avion ili brod i sl.
- znaci po modelu auta ja sam gore definirao koji je auto, brod, avion, motor i ostalo
- jos sam napravio pored toga koji je policijski a koji nije
- policijski auti se pojavljuju dvaput, znaci kao obicni auto i kao policijski
- ja sam napravio ovo za svoj server, jer u nekim gamemodovima ima par auta s kojima se neslazem da su to kamioni i sl.
Koristiti mozete na jednostavan nacin:
public OnPlayerStateChange(playerid, newstate, oldstate) {
if(newstate == PLAYER_STATE_DRIVER) {
if(IsPlayerInCar(playerid)) { SendClientMessage(playerid, 0xFFFFFFFF, "Usli ste u auto !");
}else if(IsPlayerInTruck(playerid)) { SendClientMessage(playerid, 0xFFFFFFFF, "Usli ste u kamion !"); }
//i tako dalje...
return 1; }
return 1; }
- ovo je jednostavna funkcija koja igracu ispise poruku kada ude u auto ili kamion
- mozete je koristiti npr ako igrac ude u policijski auto da ga izbaci i sl
Nadam se da ce vam pomoci :)
ja mislim da ce se pomesati idevi
i da ce biti npr udjes u heli pise da je usao u kamion (primer)
naravno da nece.. ovo ti nema nikakve veze sa idjevima nego sa modelom vozila a model ti je ono sto upises kad spawnas auto npr /veh 555 1 1
odlicno si ovo napravimo mislim da cu cak to koristiti na svome serveru a tako nesta sam mislio napravit ali eto sada nemoram samo cu prepravit ako smijem u ono sto sam ja zamislio xD SVAKA TI CAST CARE
Citat: Lucifer / Louis_Cyphere poslato Januar 20, 2011, 13:18:44 POSLE PODNE
naravno da nece.. ovo ti nema nikakve veze sa idjevima nego sa modelom vozila a model ti je ono sto upises kad spawnas auto npr /veh 555 1 1
odlicno si ovo napravimo mislim da cu cak to koristiti na svome serveru a tako nesta sam mislio napravit ali eto sada nemoram samo cu prepravit ako smijem u ono sto sam ja zamislio xD SVAKA TI CAST CARE
a da zajebo sam se nesto
Lepo
Ali napisao si 'ovo dodajte negde dole' pa vecina nece znati gde
Zapravo mozes dodati di oces ali svi smo navikli na kraju dole na dnu :)
K-A-T-A-S-T-R-O-F-A! KATASTROFA OD tutoriala!
Gledaj ovo....
stock JeNekoVozilo(id)
{
if(id == NEKI_ID)
{
return true;
}
return false;
}
To je cak bolje od ovog tvojeg public...Ali gledaj sta ja preporucujem, ako toliko pricas da si PRO SKRIPTER zasto ucis ljude ovdje sve krivo i sve na los nacin skriptanja, za ovakve male [cenzura]osti >
KORISTIS MACRO FUNKCIJE!npr.
#define IsBike(%1) (GetVehicleModel(%1) == 481 || GetVehicleModel(%1) == 509 || GetVehicleModel(%1) == 510)
I to je puno bolji, pregledniji brzi nacin od tvog...Nauci osnove pa pocni pisati tutoriale, a ne pisati samo da ispadnes pametan a to sta pises je samo realnost tvog PAWN znanja ;)
Zelite napraviti mali fix vehicleid-ova ?
1. Napravit cemo DEFINE vehicleidova na sljedeci nacin ovo ide na vrh skripte
new
Bus[5]
;
2. Ovo ide ispod OnGameModeInit
Bus[1] = CreateVehicle(431,1801.01879883,-1928.17163086,13.63857555,0.00000000,-1,-1,1); //Bus
Bus[2] = CreateVehicle(431,1794.07202148,-1927.80859375,13.63875294,0.00000000,-1,-1,1); //Bus
Bus[3] = CreateVehicle(431,1786.14746094,-1928.43579102,13.63844681,0.00000000,-1,-1,1); //Bus
Bus[4] = CreateVehicle(431,1779.01257324,-1928.08996582,13.63859272,0.00000000,-1,-1,1); //Bus
3. Sada cemo napraviti funkciju kojom cete provjeravati jeli to vozilo "tocno"
stock BusVozila(carid)
{
if(carid == Bus[1] || carid == Bus[2] || carid == Bus[3] || carid == Bus[4])
{
return true;
}
return false;
}
4. Sada cemo provjeriti jeli igrac smije uci u vozilo
public OnPlayerStateChange(playerid,newstate,oldstate)
{
new
vehicleid = GetPlayerVehicleID(playerid)
;
if(newstate == 2) {
if(BusVozila(vehicleid))
{
if(GetPVarInt(playerid,"POSAO") != ID_POSLA_ILI_ORGANIZACIJE) return SendClientMessage(playerid,BOJA,"Nemate kljuceve!"); RemovePlayerFromVehicle(playerid);
return true;
} }
return true;
}
Citat: Lucifer / Louis_Cyphere poslato Januar 20, 2011, 13:18:44 POSLE PODNE
naravno da nece.. ovo ti nema nikakve veze sa idjevima nego sa modelom vozila a model ti je ono sto upises kad spawnas auto npr /veh 555 1 1
odlicno si ovo napravimo mislim da cu cak to koristiti na svome serveru a tako nesta sam mislio napravit ali eto sada nemoram samo cu prepravit ako smijem u ono sto sam ja zamislio xD SVAKA TI CAST CARE
Ti si jos bolji vidim, da ovo ce ti jako usrecit server...
Ovo je jedna velika glupost, slozili ste vi il ne.
A nije bolje koristiti ID busa ?...umjesto nepotrebne Bus[...] funkcije jednostavno staviti...
#define IsInBus(%1) (GetVehicleModel(GetPlayerVehicleID(%1)) == 431)
if(IsInBus(playerid)) {
eh -,-
To je bio primjer, htio ti je pokazat kako se to opcenito radi. JAO!
dobar tut, a jel se to moze napraviti u FSu ili bas mora u skripti ???
i jel treba napraviti .amx ili nesto drugo ???