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;
}