Szerző Téma: Bója  (Megtekintve 1132 alkalommal)

Nem elérhető Sanyko

  • 324
    • Profil megtekintése
Bója
« Dátum: 2016. november 24. - 16:51:09 »
0 Show voters
Sziasztok! Valaki küldene egy bója rendszert?
Az lenne a lényeg hogy, rendőr kocsi hátsó részénél lehetne kivenni a bóját és le lehetne rakni és fel venni is.

Nem elérhető whadez

  • 719
  • DEFEATER
    • Profil megtekintése
Bója
« Válasz #1 Dátum: 2016. november 24. - 17:15:18 »
+1 Show voters
Szia, ha írással nem is, mert nem írok scriptet csak \"úgy\" a 1016Ft-os SMS-ért, elmagyarázom a lényegét.
Sok dolgot szemügyre kell venni, milyen módot használsz? Valószínűleg Goudlyne/See között kell választanunk, ha itt keresel segítséget, a bójákat milyen kocsiból akarod kivenni? Ki tudja csak kivenni a bójákat? Sok dologtól függ a rendszer korrekt működése, amikre választ kell adnod annak függvényében hogy neked ESETLEG bárki is megírjon egy ehhez hasonló scriptet.  :wave:

Bója
« Válasz #2 Dátum: 2016. november 25. - 10:44:51 »
0 Show voters
1016 Ft ért ELMAGYARÁZOD XDDD


a lényeg hogy te se érted, azért elég pénz éhes vagy.... hogy képes lennél lehúzni egy gyereket...
 
Rendőr kocsikból akarja kivenni gyanítás szerint LSPD-s ből.
Valószínűleg a rendőrök fognak majd kivenni bóját tehát az illegális maffia nem hiszem...
Ezen kívül amennyiben kell sanyko én szívesem megírom neked a lerakás felrakás egyszerű a kocsi háta mögött lenni az kicsit nehezebb nem.
Privátba írd le pontosan mit szeretnél és akkor megírom neked.
Üdv. Hiroshi

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
Bója
« Válasz #3 Dátum: 2016. november 25. - 13:23:09 »
+1 Show voters
[gmod]Egy segítségkéréses témában is veszekedni kell a magánügyekről. Így van...[/gmod]

Bója
« Válasz #4 Dátum: 2016. november 30. - 21:27:40 »
+1 Show voters
Szia.
Ha beírod a /boja parancsot, akkor 3 paraméter közül választhatsz majd, de ezeket látod a kódban majd.
Ha valamit nem értesz a kódban, írj nyugodtan, de próbáltam mindent megmagyarázni :D
Ahhoz, hogy működjön az egész, szükséges egy ZCMD include, illetve egy sscanf2 plugin.
#define RENDOR 1#define MAX_BOJA 10 //Maximum ennyi bóját tudsz majd létrehozni.#include <a_samp>#include <zcmd>#include <sscanf2>enum pInfo { //Enum a változóknak (ezesetben a frakció)pFaction};new PlayerInfo[MAX_PLAYERS][pInfo]; //Eltároljuk a pInfo enumot a PlayerInfo nevű arraybeenum bInfo { //Enum a bójáknak, ebben tárolja a pozíciójukat, illetve az object id-jüketFloat:X,Float:Y,Float:Z,Object};new BojaInfo[MAX_BOJA][bInfo];new OsszesBoja; //A létrehozott bóják számanew BojaSzam[MAX_PLAYERS]; //Egy játékosnál levő bójáknak a számaCMD:boja(playerid,params[]){if(PlayerInfo[playerid][pFaction] == RENDOR) //Ha az illető rendőr (pFaction == 1){    new parameter[32];    if(sscanf(params,\"s[32]\",parameter)) return  SendClientMessage(playerid,-1,\"Használat: /boja < kivesz, lerak, felszed >\");    if(!strcmp(parameter,\"kivesz\",true)) //Ha a /boja parancs után beírt paraméter egyezik a \'kivesz\'-szel    {       new vehicleid = GetClosestVehicle(playerid); //A vehicleid változóba lekérjük a legközelebbi jármű ID-jét       if(vehicleid != INVALID_VEHICLE_ID && GetVehicleModel(vehicleid) == 598) //Ha ez rendőrautó, akkor folytatja       {           BojaSzam[playerid]++; //A játékosnál levő bóják száma megnő 1-el           SendClientMessage(playerid,-1,\"Kivettél egy bóját!\");       }       else SendClientMessage(playerid,-1,\"Nincs a közeledben rendőrautó!\");   }   else if(!strcmp(parameter,\"lerak\",true))   {       if(BojaSzam[playerid] != 0) //Ha a játékosnál levő bóják száma nem egyenlő 0-val, tehát már beírta a /boja kivesz parancsot legalább egyszer,       {           new Float:pPos[3];           GetPlayerPos(playerid,pPos[0],pPos[1],pPos[2]); //Lekérjük a játékos pozícióját                      OsszesBoja++; //A szerveren lerakott bóják számát megnöveljük 1-el           BojaSzam[playerid]--; //A játékosnál levő bóják számából elveszünk 1-et, ha leteszi.           BojaInfo[OsszesBoja][X] = pPos[0]; //Pozíció mentése enumba           BojaInfo[OsszesBoja][Y] = pPos[1];           BojaInfo[OsszesBoja][Z] = pPos[2]-0.5;           BojaInfo[OsszesBoja][Object] = CreateObject(1238,pPos[0],pPos[1],pPos[2]-0.5,0.0,0.0,0.0); //és az object létrehozása -> a BojaInfo[OsszesBoja][Object] egyenlő lesz a létrehozott object ID-jével                      SendClientMessage(playerid,-1,\"Bója sikeresen létrehozva!\");       }       else SendClientMessage(playerid,-1,\"Nincsen nálad bója!\");   }   else if(!strcmp(parameter,\"felszed\",true))   {       new bojaid;       for(bojaid = 0; bojaid < MAX_BOJA; bojaid++) //Végigmegyünk az összes bóján (10 db)       {           if(IsPlayerInRangeOfPoint(playerid,1.5,BojaInfo[bojaid][X],BojaInfo[bojaid][Y],BojaInfo[bojaid][Z])) //Ha a bojaid (mindig növekszik a for ciklusnak köszönhetően) számú sorba levő pozíciók közelében van a player, akkor folytatódik.           {               break; //Lezárja a ciklust, nem fut tovább.           }       }              BojaInfo[bojaid][X] = -1000.0; //Megadunk egy olyan koordinátát, ahova a játékos nem juthat el.       BojaInfo[bojaid][Y] = -1000.0;       BojaInfo[bojaid][Z] = -1000.0;       DestroyObject(BojaInfo[bojaid][Object]); //Object törlése       SendClientMessage(playerid,-1,\"Bója felszedve!\");   }   else SendClientMessage(playerid,-1,\"Hibás paraméter!\"); //Ha a játékos nem a \'kivesz\', \'lerak\' vagy a \'felszed\' paramétert írta a /boja parancs után, akkor írja ezt ki.}else SendClientMessage(playerid,-1,\"Nem vagy rendőr!\");return 1;}stock GetClosestVehicle(playerid){new vehicleid = INVALID_VEHICLE_ID, Float:vPos[3], Float:distance2, Float:distance = 8.0;for(new i = 0; i < MAX_VEHICLES; i++){   GetVehiclePos(i,vPos[0],vPos[1],vPos[2]);    distance2 = GetPlayerDistanceFromPoint(playerid,vPos[0],vPos[1],vPos[2]);    if(distance2 < distance)    {        vehicleid = i;        distance = distance2;    }}return vehicleid;}

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal