GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => A témát indította: narancs741 - 2013. Július 13. - 15:00:43

Cím: Jogsi rendszer
Írta: narancs741 - 2013. Július 13. - 15:00:43
Sziasztok elkészítettem az elsõ szkriptemet a ti segítségetekkel és nagy részben SnooP segítségével.Köszönöm nektek.

A Filterszkrip egy jogosítvány rendszer.


A Lényege hogy le spawnolsz és amíg nem teszed le a jogsit nem tudsz vezetni.


Amint be írod a parancsot és elkezded a feladatot kapsz egy ideéglenes vezetési jogot amivel be szállhatsz egy autóba és neki indulhatsz a checkpointoknak amint végig vitted az összes cp-t kapsz egy végleges vezetési jogot amit
Dinivel ment.
http://data.hu/get/6738981/jogsim.pwn
 
//1. Szkriptem kicsit myers de használható csak eg Jogsik mapát kell étre hozni.
#include <a_samp>
#include <zcmd>
#include <dini>
#include <sscanf>
#include <fixchars>
#include <streamer>
new gTeam[MAX_PLAYERS];
#define FILTERSCRIPT
new dinicreate[64];
#define PIROS 0xff0000AA
#define KEK 0x002bffAA
#define CITROM 0xf7ff00AA
#define CIAN 0x0affffAA
#define NEON 0x0afa1eAA
#define ZOLD 0x0c8a17AA
#define BARNA 0x945613AA
#define LILA 0xa61996AA
#define ROZSASZIN 0xf503d9AA
#define UZEM SendClientMessage
#define green 0x00ff00
#define orange 0xffbb00
#define CIVIL 0
#define JOG 1
#define VEG 2
#define O 3
#define OO 4
#define OOO 5
public OnPlayerSpawn(playerid)
{
    new name[MAX_PLAYER_NAME];
 
    GetPlayerName(playerid, name, sizeof(name));
    format(dinicreate, sizeof(dinicreate), \"Jogsik/%s.ini\", name);
if(dini_Exists(dinicreate))
  {
    if(dini_Int(dinicreate, \"Jogsik\") == 1)
      {
      gTeam[playerid] = JOG;
      SendClientMessage(playerid,LILA,\"JOG\");
      }
else
          {
          gTeam[playerid] = CIVIL;
          }
   }
    return 1;
}
CMD:jhelp(playerid,params[])
{
SendClientMessage(playerid,PIROS,\"/Jogsi /jogsikezd /exitjogsi\");
return 1;
}
CMD:jogsi(playerid,params[])
{
if(dini_Int(dinicreate, \"Jogsik\") == 1)
{
gTeam[playerid] = JOG;
}
if(gTeam[playerid] == CIVIL)
{
SendClientMessage(playerid,NEON,\"Menny el a kijelölt helyre.(MAP ICON)\");
SetPlayerMapIcon( playerid, 7, 1070.0339,1271.2404,10.8203, 41, 0,  MAPICON_GLOBAL_CHECKPOINT );
CreatePlayer3DTextLabel(playerid,\"JOGSI!! /Jogsikezd\",NEON,1070.0339,1271.2404,10.8203,40.0);//
SetPlayerPos(playerid,1067.5829,1361.8705,10.6817);
gTeam[playerid] = JOG;
SendClientMessage(playerid,PIROS,\"Szálj be egy autóba és ne szálj ki mig nem ér véget!\");
}
else SendClientMessage(playerid,LILA,\"Már van Jogsid...\");
return 1;
}
CMD:jogsikezd(playerid,params[])
{
RemovePlayerMapIcon( playerid, 7 );
SendClientMessage(playerid,orange,\"Menny a kijelölt cp hez!\");
if(IsPlayerInRangeOfPoint(playerid, 5, 1070.0339,1271.2404,10.8203)){ RemovePlayerMapIcon( playerid, 1 );
GivePlayerMoney(playerid,-10000);
gTeam[playerid] = JOG;
gTeam[playerid] = O;
SetPlayerCheckpoint(playerid,-299.9197,1532.0665,75.3594, 3.0); //Ki adja a check pointot
}
else SendClientMessage(playerid,NEON,\"Nem vagy a megfelelõ helyen!\");
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
     if(gTeam[playerid] == O)
     {
     gTeam[playerid] = OO;
     DisablePlayerCheckpoint(playerid);
     SendClientMessage(playerid,NEON,\"Ide értél meny tovább!\");
     SetPlayerCheckpoint(playerid, -2266.6472,2342.5251,4.8125,3.0);
 }
 else if(gTeam[playerid] == OO)
 {
 gTeam[playerid] = OOO;
     DisablePlayerCheckpoint(playerid);
 SendClientMessage(playerid,NEON,\"Ide értél meny tovább!\");
 SetPlayerCheckpoint(playerid, -1705.9812,395.3453,7.1797,3.0);
     }
     else if(gTeam[playerid] == OOO)
 {
 SendClientMessage(playerid,NEON,\"Sikeresen letetted a jogsid! Ird be hogy /Vegeztem\");
 gTeam[playerid] = VEG;
 DisablePlayerCheckpoint(playerid);
 }
 return 1;
     }
CMD:vegeztem(playerid,params[])
{
if(gTeam[playerid] == VEG)
{
SendClientMessage(playerid,NEON,\"SikeR!!!Végre van jogositványod már vezetheted saját autódat!(Vagy Másét :)\");
gTeam[playerid] = JOG;
new name[MAX_PLAYER_NAME];// Egy olyan tömb aminek értéke a játékos nevének maximum hosszának az értéke(magyarán a tömb mértéke 24 mivel a felett nem lehet játékos név)
GetPlayerName(playerid, name, sizeof(name)); // Lekérdezed a játékos nevét és ennek a függvénynek a visszatérési értéke a fent lévõ változóban fog eltárolódni, értéke annyi amennyi karakterbõl áll a játékos neve (ugye nem feltétlen kell 24 karakterbõl állni)
format(dinicreate, sizeof(dinicreate), \"Jogsik/%s.ini\", name); // Megadod a fájlod mentéséhez szükséges elérhetõséget és belerakod a játékos nevének értékét
if(!dini_Exists(dinicreate))
{
dini_Create(dinicreate);
dini_IntSet(dinicreate, \"Jogsik\", 1);
}
else
{
if(dini_Int(dinicreate, \"Jogsik\") == 1)
{
SendClientMessage(playerid, -1, \"Neked már van jogosítványod így nem kaphatsz újjat\");
}
}
}
return 1;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
// Lekérdeztük a paramétereit az autónak
if(gTeam[playerid] == JOG)
{
SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors , bonnet, boot, objective);//  Ha a parancs igaz akkor beállítjuk az ajtókat 1-re (vagyis ki lehet õket nyitni
}
else
{
SendClientMessage(playerid, PIROS, \"Neked nincs jogosítványod! Menj és vegyél egyet! /jogsi\");
ClearAnimations(playerid);
SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors , bonnet, boot, objective);
}
return 1;
}
CMD:exitjogsi(playerid,params[])
{
gTeam[playerid] = CIVIL;
SendClientMessage(playerid,NEON,\"Ird be ujra hogy /jogsi\");
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
if(gTeam[playerid] == O)
{
SendClientMessage(playerid,PIROS,\"Kiszáltál! Ird be hogy /exitjogsi\");
}
return 1;
}
Cím: Jogsi rendszer
Írta: Peter1481048284 - 2013. Július 13. - 15:05:25
Kezdõ script? Mert akkor nagyon jó. De a letöltési linket url be tehetnéd!
Ment a + így tovább!
Cím: Jogsi rendszer
Írta: narancs741 - 2013. Július 13. - 15:06:44
Köszönöm.
Cím: Jogsi rendszer
Írta: EnterR - 2013. Július 13. - 15:47:17
Elsõ szkriptnek nagyon jó, grat :)
Cím: Jogsi rendszer
Írta: gbr333 - 2013. Július 13. - 16:21:06
Fasza lett!
Cím: Jogsi rendszer
Írta: Nátha - 2013. Július 13. - 16:24:57
Szép munka  ;)
Cím: Jogsi rendszer
Írta: narancs741 - 2013. Július 13. - 17:25:37
Köszönöm csak nem tudom mi legyen a következõ.
Cím: Jogsi rendszer
Írta: xD1999 - 2013. Július 13. - 17:27:47
Szép munka :) ment a +
OFF:Már értem hogy a segitségkérésbe miért irtad ki naponta 5-6 szor a segitséget :D
De szerintem SnooP nem azért segítet hogy te publikáld de nem szólok bele :)
Cím: Jogsi rendszer
Írta: Nátha - 2013. Július 13. - 18:06:33
Idézetet írta: xD1999 date=1373729267\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"39711\" data-ipsquote-contentclass=\"forums_Topic
De szerintem SnooP nem azért segítet hogy te publikáld de nem szólok bele :)
 
Miért ne publikálhatná ? Kiírta nagy kék betûkel hogy nagyrészt SnooP segített neki. Akkor lett volna érdekes ha nem tünteti fel és azt írja hogy õ csinálta az egészet.
Cím: Jogsi rendszer
Írta: Dron2013 - 2013. Július 16. - 10:16:35
Elsõ scriptnek nem rosz.Repül a + :)
Cím: Jogsi rendszer
Írta: narancs741 - 2013. Július 16. - 10:41:00
Köszönöm
Cím: Jogsi rendszer
Írta: SnooP - 2013. Július 16. - 10:52:32
Hohó gyerekek, én nem azért segítek másoknak, hogy aztán ne kezdje azt a munkájával amit szeretne. Mindenkinek szíve joga azt kezdeni az ötletével amit csak szeretne, és ha publikálta egészségére én csak hozzásegítettem a folyamathoz :)


Nem rossz kezdetnek, a közeljövõben talán törölhetnéd a megjegyzéseket amit még anno írtam, hogy mi mit jelent, és a team változókról áttérhetnél a SetPlayerTeam-re meg a GetPlayerTeam-re. De ezt majd csak Updatnek (persze ha akarod)
Cím: Jogsi rendszer
Írta: CANNONN - 2013. Július 17. - 21:03:16
Hát a SetPlayerTeam-et nem ajánlom, mert utána bajlódni fog egy darabig.
Ja és a gTeam helyett lehet akármi a változó neve. Ezt azért írom le, mert sokan nem tudják. :angel:
Cím: Jogsi rendszer
Írta: narancs741 - 2013. Július 18. - 09:21:43
Rendben.És köszönöm az ötleteket meg fogadom!
Cím: Jogsi rendszer
Írta: narancs741 - 2013. Július 26. - 10:16:35
Van benne egy hiba azt amint otthon leszek javítom.
Cím: Jogsi rendszer
Írta: raptamas - 2013. Augusztus 01. - 20:54:11
köszönöm!
Cím: Jogsi rendszer
Írta: Hitman5223 - 2013. Augusztus 03. - 14:46:10
Nagyon szép 1-õ scriptnek nagyon jó!
Cím: Jogsi rendszer
Írta: Cappsy - 2013. Augusztus 03. - 15:12:33
Szép lett így tovább!
Cím: Jogsi rendszer
Írta: citromhun - 2013. Augusztus 04. - 22:33:19
Jó lett
Cím: Jogsi rendszer
Írta: narancs741 - 2013. Augusztus 06. - 10:55:34
Köszönöm nektek :) Igyekszem :)
Cím: Jogsi rendszer
Írta: N1tRoGeN - 2013. Augusztus 07. - 13:08:50
Jó lett! Ment a +  ;)
Cím: Jogsi rendszer
Írta: narancs741 - 2013. Augusztus 08. - 07:43:43
Köszönöm :)
Cím: Jogsi rendszer
Írta: vargakrisztianozd - 2013. Augusztus 22. - 08:25:32
C:\\DOCUME~1\\kurci\\LOCALS~1\\Temp\\jogsim.pwn(8) : fatal error 100: cannot read from file: \"fixchars\"
Compilation aborted.Pawn compiler 3.2.3664           Copyright © 1997-2006, ITB CompuPhase
1 Error.
Ezt miért írja ki?
Cím: Jogsi rendszer
Írta: Peter1481048284 - 2013. Augusztus 22. - 08:40:01
Frissítsd a fixchars includot! Nekem jól mûködik a rendszer.
Cím: Jogsi rendszer
Írta: narancs741 - 2013. Augusztus 27. - 19:23:52
Töldzs le innen:http://sampforum.hu/index.php?topic=15558.0 És illeszd be a pawno inculed mapájába.
Cím: Jogsi rendszer
Írta: Dante Sanders - 2013. Augusztus 27. - 19:28:18
Ez király...ahoz képes hogy kezdõ scripter vagy ment \"+\"!
Cím: Jogsi rendszer
Írta: narancs741 - 2013. Augusztus 28. - 07:35:16
Köszönöm
Cím: Jogsi rendszer
Írta: Andreas_James - 2013. Szeptember 05. - 14:24:45
Szép Munka! Grat :)
Cím: Jogsi rendszer
Írta: Bloody44 - 2013. Szeptember 05. - 18:23:36


Idézetet írta: narancs741 date=1373720443\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"39711\" data-ipsquote-contentclass=\"forums_Topic
Sziasztok elkészítettem az elsõ szkriptemet a ti segítségetekkel és nagy részben SnooP segítségével.Köszönöm nektek.

A Filterszkrip egy jogosítvány rendszer.


A Lényege hogy le spawnolsz és amíg nem teszed le a jogsit nem tudsz vezetni.


Amint be írod a parancsot és elkezded a feladatot kapsz egy ideéglenes vezetési jogot amivel be szállhatsz egy autóba és neki indulhatsz a checkpointoknak amint végig vitted az összes cp-t kapsz egy végleges vezetési jogot amit
Dinivel ment.
http://data.hu/get/6738981/jogsim.pwn
 
//1. Szkriptem kicsit myers de használható csak eg Jogsik mapát kell étre hozni.
#include <a_samp>
#include <zcmd>
#include <dini>
#include <sscanf>
#include <fixchars>
#include <streamer>
new gTeam[MAX_PLAYERS];
#define FILTERSCRIPT
new dinicreate[64];
#define PIROS 0xff0000AA
#define KEK 0x002bffAA
#define CITROM 0xf7ff00AA
#define CIAN 0x0affffAA
#define NEON 0x0afa1eAA
#define ZOLD 0x0c8a17AA
#define BARNA 0x945613AA
#define LILA 0xa61996AA
#define ROZSASZIN 0xf503d9AA
#define UZEM SendClientMessage
#define green 0x00ff00
#define orange 0xffbb00
#define CIVIL 0
#define JOG 1
#define VEG 2
#define O 3
#define OO 4
#define OOO 5
public OnPlayerSpawn(playerid)
{
    new name[MAX_PLAYER_NAME];
 
    GetPlayerName(playerid, name, sizeof(name));
    format(dinicreate, sizeof(dinicreate), \"Jogsik/%s.ini\", name);
if(dini_Exists(dinicreate))
  {
    if(dini_Int(dinicreate, \"Jogsik\") == 1)
      {
      gTeam[playerid] = JOG;
      SendClientMessage(playerid,LILA,\"JOG\");
      }
else
          {
          gTeam[playerid] = CIVIL;
          }
   }
    return 1;
}
CMD:jhelp(playerid,params[])
{
SendClientMessage(playerid,PIROS,\"/Jogsi /jogsikezd /exitjogsi\");
return 1;
}
CMD:jogsi(playerid,params[])
{
if(dini_Int(dinicreate, \"Jogsik\") == 1)
{
gTeam[playerid] = JOG;
}
if(gTeam[playerid] == CIVIL)
{
SendClientMessage(playerid,NEON,\"Menny el a kijelölt helyre.(MAP ICON)\");
SetPlayerMapIcon( playerid, 7, 1070.0339,1271.2404,10.8203, 41, 0,  MAPICON_GLOBAL_CHECKPOINT );
CreatePlayer3DTextLabel(playerid,\"JOGSI!! /Jogsikezd\",NEON,1070.0339,1271.2404,10.8203,40.0);//
SetPlayerPos(playerid,1067.5829,1361.8705,10.6817);
gTeam[playerid] = JOG;
SendClientMessage(playerid,PIROS,\"Szálj be egy autóba és ne szálj ki mig nem ér véget!\");
}
else SendClientMessage(playerid,LILA,\"Már van Jogsid...\");
return 1;
}
CMD:jogsikezd(playerid,params[])
{
RemovePlayerMapIcon( playerid, 7 );
SendClientMessage(playerid,orange,\"Menny a kijelölt cp hez!\");
if(IsPlayerInRangeOfPoint(playerid, 5, 1070.0339,1271.2404,10.8203)){ RemovePlayerMapIcon( playerid, 1 );
GivePlayerMoney(playerid,-10000);
gTeam[playerid] = JOG;
gTeam[playerid] = O;
SetPlayerCheckpoint(playerid,-299.9197,1532.0665,75.3594, 3.0); //Ki adja a check pointot
}
else SendClientMessage(playerid,NEON,\"Nem vagy a megfelelõ helyen!\");
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
     if(gTeam[playerid] == O)
     {
     gTeam[playerid] = OO;
     DisablePlayerCheckpoint(playerid);
     SendClientMessage(playerid,NEON,\"Ide értél meny tovább!\");
     SetPlayerCheckpoint(playerid, -2266.6472,2342.5251,4.8125,3.0);
 }
 else if(gTeam[playerid] == OO)
 {
 gTeam[playerid] = OOO;
     DisablePlayerCheckpoint(playerid);
 SendClientMessage(playerid,NEON,\"Ide értél meny tovább!\");
 SetPlayerCheckpoint(playerid, -1705.9812,395.3453,7.1797,3.0);
     }
     else if(gTeam[playerid] == OOO)
 {
 SendClientMessage(playerid,NEON,\"Sikeresen letetted a jogsid! Ird be hogy /Vegeztem\");
 gTeam[playerid] = VEG;
 DisablePlayerCheckpoint(playerid);
 }
 return 1;
     }
CMD:vegeztem(playerid,params[])
{
if(gTeam[playerid] == VEG)
{
SendClientMessage(playerid,NEON,\"SikeR!!!Végre van jogositványod már vezetheted saját autódat!(Vagy Másét :)\");
gTeam[playerid] = JOG;
new name[MAX_PLAYER_NAME];// Egy olyan tömb aminek értéke a játékos nevének maximum hosszának az értéke(magyarán a tömb mértéke 24 mivel a felett nem lehet játékos név)
GetPlayerName(playerid, name, sizeof(name)); // Lekérdezed a játékos nevét és ennek a függvénynek a visszatérési értéke a fent lévõ változóban fog eltárolódni, értéke annyi amennyi karakterbõl áll a játékos neve (ugye nem feltétlen kell 24 karakterbõl állni)
format(dinicreate, sizeof(dinicreate), \"Jogsik/%s.ini\", name); // Megadod a fájlod mentéséhez szükséges elérhetõséget és belerakod a játékos nevének értékét
if(!dini_Exists(dinicreate))
{
dini_Create(dinicreate);
dini_IntSet(dinicreate, \"Jogsik\", 1);
}
else
{
if(dini_Int(dinicreate, \"Jogsik\") == 1)
{
SendClientMessage(playerid, -1, \"Neked már van jogosítványod így nem kaphatsz újjat\");
}
}
}
return 1;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
// Lekérdeztük a paramétereit az autónak
if(gTeam[playerid] == JOG)
{
SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors , bonnet, boot, objective);//  Ha a parancs igaz akkor beállítjuk az ajtókat 1-re (vagyis ki lehet õket nyitni
}
else
{
SendClientMessage(playerid, PIROS, \"Neked nincs jogosítványod! Menj és vegyél egyet! /jogsi\");
ClearAnimations(playerid);
SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors , bonnet, boot, objective);
}
return 1;
}
CMD:exitjogsi(playerid,params[])
{
gTeam[playerid] = CIVIL;
SendClientMessage(playerid,NEON,\"Ird be ujra hogy /jogsi\");
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
if(gTeam[playerid] == O)
{
SendClientMessage(playerid,PIROS,\"Kiszáltál! Ird be hogy /exitjogsi\");
}
return 1;
}

 


Szép script, csak sok benne a helyesírási hiba:DD
Cím: Jogsi rendszer
Írta: narancs741 - 2013. Szeptember 06. - 07:56:40
Köszi hát a helyes írás nem az erõségem akár hány éves is vagyok ez sajnos betegség :)
Cím: Jogsi rendszer
Írta: Reqiem - 2016. Február 07. - 21:39:55
Nekem nem müködik amikor beírom pwn be és megnyomom a nyilat nem csinál .amx fájlt ez miért van?
Cím: Jogsi rendszer
Írta: skyLine - 2016. Február 08. - 23:40:26
Milyen hibát ír ki?