Szerző Téma: Jármû mentés / betöltés  (Megtekintve 3187 alkalommal)

Nem elérhető Live

  • 507
    • Profil megtekintése
Jármû mentés / betöltés
« Dátum: 2013. október 26. - 17:59:39 »
+12 Show voters
Szép estét.
Elkészítettem egy jármû mentés / betöltéses szkriptet.
Amit ment a jármûvön:
 
  • Színek

  • Festõmunka

  • Rendszám

  • Pozíció ahol elmentetted

  • Komponensek (pl. kerék, szélterelõ stb..)


Ha le spawnolsz akkor automatikusan betölti a jármûvedet ott ahol elmentetted.
Parancsok:
    - /createvehicle - FONTOS!!! Ha azt akarod, hogy a színek, festõmunka, rendszám is mentõdjön ezzel a paranccsal kell létrehoznod jármûvet!
    - /savevehicle - Ha kocsiban ülsz eltudod menteni azt
    - /loadvehicle - Jármû betöltése ott ahol vagy (automatikusan belerak a jármûbe)
 

#include   a_samp
#include    zcmd
#include    sscanf2
#include    dini
#define     File(%1)    format(vehfile, sizeof(vehfile), \"VehSystem/%s.ini\", GetName(%1))
enum vehicle {
Color1,
Color2,
Paintjob,
NumberPlate[9]
}
new VEHICLE[MAX_VEHICLES][vehicle],
vehfile[128];
public OnPlayerSpawn(playerid) {
File(playerid);
if(dini_Exists(vehfile)) {
       new Float: Pos[4], vehid, color1, color2, paintjob, numplate[9], tunes[128];
vehid = dini_Int(vehfile, \"Model\");
color1 = dini_Int(vehfile, \"Color1\");
color2 = dini_Int(vehfile, \"Color2\");
paintjob = dini_Int(vehfile, \"Paintjob\");
Pos[0] = dini_Float(vehfile, \"VehX\");
Pos[1] = dini_Float(vehfile, \"VehY\");
Pos[2] = dini_Float(vehfile, \"VehZ\");
Pos[3] = dini_Float(vehfile, \"VehA\");
format(numplate, sizeof(numplate), \"%s\", dini_Get(vehfile, \"Numberplate\"));
    new vehicleid = CreateVehicle(vehid, Pos[0], Pos[1], Pos[2], Pos[3], color1, color2, -1);
SetPVarInt(playerid, \"MyVehicle\", vehicleid);
SetVehicleNumberPlate(vehicleid, numplate);
    SetVehicleVirtualWorld(GetPVarInt(playerid, \"MyVehicle\"), GetPlayerVirtualWorld(playerid));
    LinkVehicleToInterior(GetPVarInt(playerid, \"MyVehicle\"), GetPlayerInterior(playerid));
for(new i; i < 14; i++) {
    format(tunes, 32, \"Tune%i\", i);
    AddVehicleComponent(vehicleid, dini_Int(vehfile, tunes));
}
ChangeVehiclePaintjob(vehicleid, paintjob);
}
return 1;
}
CMD:createvehicle(playerid, params[]) {
new model, color1, color2, paintjob, numplate[9], mycar, Float: Pos[4];
if(sscanf(params, \"iiiis[9]\", model, color1, color2, paintjob, numplate)) return SendClientMessage(playerid, -1, \"Használat: /createvehicle [Model ID] [szín 1] [szín 2] [Festõmunka] [Rendszám]\");
if(strlen(numplate) > 8) return SendClientMessage(playerid, 0xFF4646AA, \"-- A rendszám maximum 8 karakterbõl állhat!\");
   if(color1 > 255) return SendClientMessage(playerid, 0xFF4646AA, \"-- A szín1 maximum 255-ig terjedhet!\");
   if(color2 > 255) return SendClientMessage(playerid, 0xFF4646AA, \"-- A szín2 maximum 255-ig terjedhet!\");
   if(paintjob > 6) return SendClientMessage(playerid, 0xFF4646AA, \"-- A festõmunka maximum 5-ig terjedhet!\");
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
GetPlayerFacingAngle(playerid, Pos[3]);
if(GetPVarInt(playerid, \"MyVehicle\") != INVALID_VEHICLE_ID)  {
if(IsPlayerInAnyVehicle(playerid) && GetPlayerVehicleID(playerid) == GetPVarInt(playerid, \"MyVehicle\")) RemovePlayerFromVehicle(playerid);
DestroyVehicle(GetPVarInt(playerid, \"MyVehicle\"));
}
SetPVarInt(playerid, \"MyVehicle\", CreateVehicle(model, Pos[0] + 2.5, Pos[1], Pos[2] + 2.5, Pos[3], color1, color2, -1));
   SetVehicleNumberPlate(GetPVarInt(playerid, \"MyVehicle\"), numplate);
ChangeVehiclePaintjob(GetPVarInt(playerid, \"MyVehicle\"), paintjob);
PutPlayerInVehicle(playerid, GetPVarInt(playerid, \"MyVehicle\"), 0);
SetVehicleVirtualWorld(GetPVarInt(playerid, \"MyVehicle\"), GetPlayerVirtualWorld(playerid));
LinkVehicleToInterior(GetPVarInt(playerid, \"MyVehicle\"), GetPlayerInterior(playerid));
mycar = GetPlayerVehicleID(playerid);
VEHICLE[mycar][Color1] = color1;
VEHICLE[mycar][Color2] = color2;
VEHICLE[mycar][Paintjob] = paintjob;
VEHICLE[mycar][NumberPlate] = numplate;
return 1;
}
CMD:savevehicle(playerid, params[]) {
new vehicleid = GetPlayerVehicleID(playerid), tunes[128], Float: Pos[4];
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
GetPlayerFacingAngle(playerid, Pos[3]);
File(playerid);
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, 0xFF4646AA, \"-- Nem ülsz jármûben!\");
if(!dini_Exists(vehfile)) {
dini_Create(vehfile);
dini_IntSet(vehfile, \"Model\", GetVehicleModel(vehicleid));
dini_IntSet(vehfile, \"Color1\", VEHICLE[vehicleid][Color1]);
dini_IntSet(vehfile, \"Color2\", VEHICLE[vehicleid][Color2]);
dini_IntSet(vehfile, \"Paintjob\", VEHICLE[vehicleid][Paintjob]);
dini_Set(vehfile, \"NumberPlate\", VEHICLE[vehicleid][NumberPlate]);
dini_FloatSet(vehfile, \"VehX\", Pos[0]);
dini_FloatSet(vehfile, \"VehY\", Pos[1]);
dini_FloatSet(vehfile, \"VehZ\", Pos[2]);
dini_FloatSet(vehfile, \"VehA\", Pos[3]);
for(new i; i < 14; i++) {
   format(tunes, 32, \"Tune%i\", i);
   dini_IntSet(vehfile, tunes, GetVehicleComponentInSlot(vehicleid, i));
}
} else {
    dini_IntSet(vehfile, \"Model\", GetVehicleModel(vehicleid));
dini_IntSet(vehfile, \"Color1\", VEHICLE[vehicleid][Color1]);
dini_IntSet(vehfile, \"Color2\", VEHICLE[vehicleid][Color2]);
dini_IntSet(vehfile, \"Paintjob\", VEHICLE[vehicleid][Paintjob]);
dini_Set(vehfile, \"NumberPlate\", VEHICLE[vehicleid][NumberPlate]);
dini_FloatSet(vehfile, \"VehX\", Pos[0]);
dini_FloatSet(vehfile, \"VehY\", Pos[1]);
dini_FloatSet(vehfile, \"VehZ\", Pos[2]);
dini_FloatSet(vehfile, \"VehA\", Pos[3]);
for(new i; i < 14; i++) {
   format(tunes, 32, \"Tune%i\", i);
   dini_IntSet(vehfile, tunes, GetVehicleComponentInSlot(vehicleid, i));
}
}
SendClientMessage(playerid, 0xFFFF99AA, \"* Jármûved sikeresen elmentve!\");
return 1;
}
CMD:loadvehicle(playerid, params[]) {
File(playerid);
if(!dini_Exists(vehfile)) return SendClientMessage(playerid, 0xFF4646AA, \"-- Neked nincs mentett jármûved!\");
new Float: Pos[4], vehid, color1, color2, paintjob, numplate[9], tunes[128];
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
GetPlayerFacingAngle(playerid, Pos[3]);
vehid = dini_Int(vehfile, \"Model\");
color1 = dini_Int(vehfile, \"Color1\");
color2 = dini_Int(vehfile, \"Color2\");
paintjob = dini_Int(vehfile, \"Paintjob\");
format(numplate, sizeof(numplate), \"%s\", dini_Get(vehfile, \"Numberplate\"));
if(GetPVarInt(playerid, \"MyVehicle\") != INVALID_VEHICLE_ID)  {
      if(IsPlayerInAnyVehicle(playerid) && GetPlayerVehicleID(playerid) == GetPVarInt(playerid, \"MyVehicle\")) RemovePlayerFromVehicle(playerid);
       DestroyVehicle(GetPVarInt(playerid, \"MyVehicle\"));
   }
   new vehicleid = CreateVehicle(vehid, Pos[0], Pos[1], Pos[2], Pos[3], color1, color2, -1);
   SetPVarInt(playerid, \"MyVehicle\", vehicleid);
   SetVehicleNumberPlate(vehicleid, numplate);
   PutPlayerInVehicle(playerid, GetPVarInt(playerid, \"MyVehicle\"), 0);
   SetVehicleVirtualWorld(GetPVarInt(playerid, \"MyVehicle\"), GetPlayerVirtualWorld(playerid));
   LinkVehicleToInterior(GetPVarInt(playerid, \"MyVehicle\"), GetPlayerInterior(playerid));
for(new i; i < 14; i++) {
    format(tunes, 32, \"Tune%i\", i);
    AddVehicleComponent(vehicleid, dini_Int(vehfile, tunes));
}
ChangeVehiclePaintjob(vehicleid, paintjob);
SendClientMessage(playerid, 0xFFFF99AA, \"* Mentett jármûved sikeresen betöltve!\");
return 1;
}
stock GetName(playerid) {
new name[24+1];
GetPlayerName(playerid, name, sizeof(name));
return name;
}

Nem elérhető BoOy

  • 3209
  • 2013-as év szkriptere
    • Profil megtekintése
Jármû mentés / betöltés
« Válasz #1 Dátum: 2013. október 27. - 01:07:30 »
0 Show voters
Szép lett. Gratulálok ;)

Jármû mentés / betöltés
« Válasz #2 Dátum: 2013. október 28. - 18:05:35 »
0 Show voters
Ez de jó , Föleg a Rendszám mentése tetszik.

Nem elérhető Live

  • 507
    • Profil megtekintése
Jármû mentés / betöltés
« Válasz #3 Dátum: 2013. október 29. - 15:54:01 »
0 Show voters
@BoOy: köszönöm


@.Ex@Mpl3.: XDDDDDDDD

Jármû mentés / betöltés
« Válasz #4 Dátum: 2013. október 29. - 19:53:11 »
0 Show voters
Szép lett
Felhasználom
\"+\"

Nem elérhető Live

  • 507
    • Profil megtekintése
Jármû mentés / betöltés
« Válasz #5 Dátum: 2013. október 29. - 19:55:41 »
0 Show voters
Rendben :D

Jármû mentés / betöltés
« Válasz #6 Dátum: 2014. január 23. - 16:48:41 »
0 Show voters
BnK\' Tudnál segíteni tuning mentésben?  :crazy:

Jármû mentés / betöltés
« Válasz #7 Dátum: 2014. május 03. - 21:42:52 »
0 Show voters
küldj egy letöltõ linket! mer beírtam azt nem megy! :(

Nem elérhető Live

  • 507
    • Profil megtekintése
Jármû mentés / betöltés
« Válasz #8 Dátum: 2014. május 03. - 21:55:15 »
0 Show voters
Elég régi téma, de amúgy sem foglalkozom már SAMP scripteléssel, csak MTA-val.

Jármû mentés / betöltés
« Válasz #9 Dátum: 2014. május 03. - 22:03:55 »
0 Show voters
és nincs meg a fájl?? :(

Jármû mentés / betöltés
« Válasz #10 Dátum: 2014. május 03. - 21:42:52 »
0 Show voters
küldj egy letöltõ linket! mer beírtam azt nem megy! :(

Nem elérhető Live

  • 507
    • Profil megtekintése
Jármû mentés / betöltés
« Válasz #11 Dátum: 2014. május 03. - 21:55:15 »
0 Show voters
Elég régi téma, de amúgy sem foglalkozom már SAMP scripteléssel, csak MTA-val.

Jármû mentés / betöltés
« Válasz #12 Dátum: 2014. május 03. - 22:03:55 »
0 Show voters
és nincs meg a fájl?? :(

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal