Szerző Téma: [Leírás] Jármû egy adott személy számára  (Megtekintve 3419 alkalommal)

Nem elérhető Y2K

  • 488
    • Profil megtekintése
[Leírás] Jármû egy adott személy számára
« Dátum: 2011. Március 15. - 19:40:55 »
+6
JÁRMÛ EGY ADOTT SZEMÉLY SZÁMÁRA
 
Íme még egy TuT, melyben bemutatom, hogyan kell jármûvet készíteni, kizárólag egy adott személy számára.
Elõször is, egy változót kell létrehoznunk a szkript elején:
 
new Daniel; // a megnevezés nem számít, bármi lehet, de késõbb is azt használd

 
A második lépés a jármû lerakása a játékmódba. Keressétek meg az OnGameModeInit()-et és azon belül a meglévõ AddStaticVehicle(...)-ek alá (ha vannak) rakjátok be a jármûvet:
 
Daniel= AddStaticVehicle(...)

 
hogy a szerver tudja, ez az a jármû, melybe csak az adott személy szállhat bele. Ha nem ismeritek az AddStaticVehicle(...)-ot, látogassatok el ide: http://wiki.sa-mp.com/wiki/AddStaticVehicle
 
Daniel = AddStaticVehicle(451,1890.1632,1989.1708,13.4920,179.9223,6,6); // ez egy Turismo lesz az LV parkolóban

 
Most jön az összetettebb rész, OnPlayerStateChange használtával ellenõrizzük, hogy a játékos beült-e a jármûbe:
 
public OnPlayerStateChange(playerid, newstate, oldstate) {
    new PlayerName[24];
    GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
    if(newstate == PLAYER_STATE_DRIVER) {
        new Vehicle = GetPlayerVehicleID(playerid);
        if(Vehicle == Daniel) {
            if(strcmp(PlayerName,\"Daniel_Klaic\",true)){ // ellenõrizzük, hogy a játékos neve az-e, mint akinek a jármûvet készítettük
                RemovePlayerFromVehicle(playerid); // ha nem õ az, kidobjuk a jármûbõl
                SendClientMessage(playerid, 0x33AA33AA, \"Ez a jármû Daniel_Klaic tulajdona!\"); // üzenetet dobunk neki
           }
        }
    } 
    return 1;
}

 
Ez lenne az egész! Ha minden úgy csináltatok, mint én, a jármûvet csak Daniel_Klaic vezetheti. Itt van, hogyan kéne, hogy kinézzen:
 
//a szkript elején:
new Daniel;
//az OnGameModeInit()-en vagy az OnFilterScriptInit()-en belül:
Daniel = AddStaticVehicle(451,1890.1632,1989.1708,13.4920,179.9223,6,6);
//OnPlayerStateChange
public OnPlayerStateChange(playerid, newstate, oldstate) {
    new PlayerName[24];
    GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
    if(newstate == PLAYER_STATE_DRIVER) {
        new Vehicle = GetPlayerVehicleID(playerid);
        if(Vehicle == Daniel) {
            if(strcmp(PlayerName,\"Daniel_Klaic\",true)){ // ellenõrizzük, hogy a játékos neve az-e, mint akinek a jármûvet készítettük
                RemovePlayerFromVehicle(playerid); // ha nem õ az, kidobjuk a jármûbõl
                SendClientMessage(playerid, 0x33AA33AA, \"Ez a jármû Daniel_Klaic tulajdona!\"); // üzenetet dobunk neki
           }
        }
    } 
    return 1;
}

 
Remélem segítettem, ha valamit nem értetek, kérdezzetek lent!
Írta: [WebeR]SoaD123 (http://balkan-samp.com/forum/index.php?topic=8137.0)

Fordította: Y2K (2010. augusztus 1.)
« Utoljára szerkesztve: 2011. Október 06. - 21:58:59 írta 0xC01DFACE »

[Leírás] Jármû egy adott személy számára
« Válasz #1 Dátum: 2011. Szeptember 21. - 17:30:29 »
0
Faxa grt xd

Nem elérhető Benceee

  • 4785
    • Profil megtekintése
[Leírás] Jármû egy adott személy számára
« Válasz #2 Dátum: 2011. Október 08. - 20:46:08 »
0
Szép. Nagyon jól jöhet sokaknak, mint nekem is. :)

Nem elérhető Mike.

  • 720
    • Profil megtekintése
[Leírás] Jármû egy adott személy számára
« Válasz #3 Dátum: 2011. Október 08. - 23:15:24 »
0
Szép lett
Megy a lájk

[Leírás] Jármû egy adott személy számára
« Válasz #4 Dátum: 2012. November 03. - 00:22:36 »
0
Lenne egy kérdésem! Hogy kell megcsinálni több ilyet egy módba?
Úgy értem hogy lenne egy kocsi nekem [Hardy kocsija]
meg pl legye [Anonym kocsija] az h ne csak 1 névre szóló kocsi legyen hanem több is..
Na ezt jól megfogalmaztam xd Magyarul tömören: Hogy lehet több névre szóló kocsit létrehozni?

[Leírás] Jármû egy adott személy számára
« Válasz #5 Dátum: 2012. November 03. - 01:55:06 »
0
if(strcmp(PlayerName, \"Hardy\", true) || strcmp(PlayerName, \"Freddy\", true) || strcmp(PlayerName, \"Cookie\", true))

 


-> Ha a neved nem Hardy vagy Freddy vagy Cookie.

[Leírás] Jármû egy adott személy számára
« Válasz #6 Dátum: 2012. November 03. - 10:09:47 »
0
Nem úgy gondoltam hogy 1 jármûre...
Jelen pillanatban így néz ki, de szerveren nem mûködik.:
 

public OnGameModeInit()
{
//Admin cars
Hardy = SetVehicleNumberPlate(AddStaticVehicle(562,2351.9514,1405.0309,42.4802,89.4359,0,0), \"HaRdY =]\");
Maxi = SetVehicleNumberPlate(AddStaticVehicle(562,2351.8137,1412.0685,42.4790,88.3261,2,2), \"Maxi =]\");
ReXxX = SetVehicleNumberPlate(AddStaticVehicle(562,2352.0625,1408.6031,42.4797,90.5892,1,1), \"ReXxX =]\");
public OnPlayerStateChange(playerid, newstate, oldstate) {
new PlayerName[24];
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
if(newstate == PLAYER_STATE_DRIVER) {
new Vehicle = GetPlayerVehicleID(playerid);
if(Vehicle == Hardy) {
if(strcmp(PlayerName,\"e[X]tazy.HaRdY=]\",true)){ // ellenõrizzük, hogy a játékos neve az-e
RemovePlayerFromVehicle(playerid); // ha nem õ az, kidobjuk a jármûbõl
SendClientMessage(playerid, 0x33AA33AA, \"Ezt a jármûvet csak HaRdY vezetheti!\");
}
}
return 1;
}
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
if(newstate == PLAYER_STATE_DRIVER) {
new Vehicle = GetPlayerVehicleID(playerid);
if(Vehicle == Maxi) {
if(strcmp(PlayerName,\"e[X]tazy.Maxi=]\",true)){ // ellenõrizzük, hogy a játékos neve az-e
RemovePlayerFromVehicle(playerid); // ha nem õ az, kidobjuk a jármûbõl
SendClientMessage(playerid, 0x33AA33AA, \"Ezt a jármûvet csak Maxi vezetheti!\");
}
}
return 1;
}
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
if(newstate == PLAYER_STATE_DRIVER) {
new Vehicle = GetPlayerVehicleID(playerid);
if(Vehicle == Durex) {
if(strcmp(PlayerName,\"e[X]tazy.duReXxX=]\",true)){ // ellenõrizzük, hogy a játékos neve az-e
RemovePlayerFromVehicle(playerid); // ha nem õ az, kidobjuk a jármûbõl
SendClientMessage(playerid, 0x33AA33AA, \"Ezt a jármûvet csak duReXxX vezetheti!\");
}
}
}
return 1;
}

 
E: A rendszámok mûködnek, csak az nem hogy hiába nem én vagyok Maxi vagy ReXxX ugyan úgy tudom vezetni..
« Utoljára szerkesztve: 2012. November 03. - 10:13:40 írta ƘϟƵƷƧΤϟЯ »

[Leírás] Jármû egy adott személy számára
« Válasz #7 Dátum: 2012. November 03. - 16:10:29 »
0
Idézetet írta: ƘϟƵƷƧΤϟЯ date=1351933787\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"6853\" data-ipsquote-contentclass=\"forums_Topic
Nem úgy gondoltam hogy 1 jármûre...
Jelen pillanatban így néz ki, de szerveren nem mûködik.:
 

public OnGameModeInit()
{
//Admin cars
Hardy = SetVehicleNumberPlate(AddStaticVehicle(562,2351.9514,1405.0309,42.4802,89.4359,0,0), \"HaRdY =]\");
Maxi = SetVehicleNumberPlate(AddStaticVehicle(562,2351.8137,1412.0685,42.4790,88.3261,2,2), \"Maxi =]\");
ReXxX = SetVehicleNumberPlate(AddStaticVehicle(562,2352.0625,1408.6031,42.4797,90.5892,1,1), \"ReXxX =]\");
public OnPlayerStateChange(playerid, newstate, oldstate) {
new PlayerName[24];
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
if(newstate == PLAYER_STATE_DRIVER) {
new Vehicle = GetPlayerVehicleID(playerid);
if(Vehicle == Hardy) {
if(strcmp(PlayerName,\"e[X]tazy.HaRdY=]\",true)){ // ellenõrizzük, hogy a játékos neve az-e
RemovePlayerFromVehicle(playerid); // ha nem õ az, kidobjuk a jármûbõl
SendClientMessage(playerid, 0x33AA33AA, \"Ezt a jármûvet csak HaRdY vezetheti!\");
}
}
return 1;
}
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
if(newstate == PLAYER_STATE_DRIVER) {
new Vehicle = GetPlayerVehicleID(playerid);
if(Vehicle == Maxi) {
if(strcmp(PlayerName,\"e[X]tazy.Maxi=]\",true)){ // ellenõrizzük, hogy a játékos neve az-e
RemovePlayerFromVehicle(playerid); // ha nem õ az, kidobjuk a jármûbõl
SendClientMessage(playerid, 0x33AA33AA, \"Ezt a jármûvet csak Maxi vezetheti!\");
}
}
return 1;
}
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
if(newstate == PLAYER_STATE_DRIVER) {
new Vehicle = GetPlayerVehicleID(playerid);
if(Vehicle == Durex) {
if(strcmp(PlayerName,\"e[X]tazy.duReXxX=]\",true)){ // ellenõrizzük, hogy a játékos neve az-e
RemovePlayerFromVehicle(playerid); // ha nem õ az, kidobjuk a jármûbõl
SendClientMessage(playerid, 0x33AA33AA, \"Ezt a jármûvet csak duReXxX vezetheti!\");
}
}
}
return 1;
}

 
E: A rendszámok mûködnek, csak az nem hogy hiába nem én vagyok Maxi vagy ReXxX ugyan úgy tudom vezetni..
 


Mód elejére:

 

new Hardy;
new Maxi;
new ReXxX;

 
OnGameModeInit alá:
 

Hardy = AddStaticVehicle(562,2351.9514,1405.0309,42.4802,89.4359,0,0);
Maxi = AddStaticVehicle(562,2351.8137,1412.0685,42.4790,88.3261,2,2);
ReXxX = AddStaticVehicle(562,2352.0625,1408.6031,42.4797,90.5892,1,1);

 
Majd:
 

public OnPlayerStateChange(playerid, newstate, oldstate)
{
    new pName[24];
    GetPlayerName(playerid, pName, 24);
    if(newstate == PLAYER_STATE_DRIVER)
    {
        if(GetPlayerVehicleID(playerid) == Hardy)
        {
            if(strcmp(pName, \"Hardy\", true))
            {
                RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, -1, \"Nem a tiéd az autó\");
    }
}
else if(GetPlayerVehicleID(playerid) == Maxi)
{
    if(strcmp(pName, \"Maxi\", true))
    {
        RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, -1, \"Nem a tiéd az autó\");
    }
}
else if(GetPlayerVehicleID(playerid) == ReXxX)
{
    if(strcmp(pName, \"ReXxX\", true))
    {
        RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, -1, \"Nem a tiéd az autó\");
    }
}
    }
    return 1;
}

Nem elérhető pisti525

  • 906
  • One Shot, One Kill
    • Profil megtekintése
[Leírás] Jármû egy adott személy számára
« Válasz #8 Dátum: 2012. November 13. - 10:34:42 »
0
fajin lett!Grat.

Nem elérhető scripter01

  • 1035
  • Ex Moderálisan Globális
    • Profil megtekintése
[Leírás] Jármû egy adott személy számára
« Válasz #9 Dátum: 2012. December 09. - 11:54:31 »
0
Jó lett

[Leírás] Jármû egy adott személy számára
« Válasz #10 Dátum: 2012. December 23. - 19:29:42 »
0
Tökéletes, nekem is segített, hibátlan! Gratulálok  :)!

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal