Szerző Téma: Taxi Munka 1.1[Javitva]  (Megtekintve 2751 alkalommal)

Nem elérhető Mokus

  • 608
    • Profil megtekintése
Taxi Munka 1.1[Javitva]
« Dátum: 2012. november 13. - 23:50:57 »
0 Show voters
Sziasztok megint scripteltem a fórum számára hogy tanuljak a hibáimból hátha ejtek de tuti ejtettem csak nem sikerült 100%-ig tesztelnem mert egyedül teszteltem nem volt teszt társam úgyhogy lehet van benne hiba de át nézegettem nem észleltem hibát vagy csak figyelmetlen voltam
Ez egy taxi rendszer nem nagy durranás ezt csak úgy irtam ezt persze át fogják írni ahogy õk szeretnék pickup,dialog stb... ez engem már nem érdekel én csak meg írtam az alapját hát akkor itt is a kód:
 

#include  <a_samp>
#include  <zcmd>
#include  <sscanf2>
#include  <dini>
#define COLOR_RED 0xff0000AA
new CPStatus[MAX_PLAYERS];
enum TaxiCars
{
taxi1,
taxi2
};
new Taxi[TaxiCars];
public OnFilterScriptInit()
{
Taxi[taxi1] = CreateVehicle(420,-209.7638,2608.5227,62.4824,359.4272,6,1,600000);
Taxi[taxi2] = CreateVehicle(420,-213.1385,2608.4824,62.4899,0.2146,6,1,600000);
return 0;
}
 
new szFile[ 40 + 1 ];
public OnPlayerConnect( playerid )
{
CPStatus[playerid] = 0;
format( szFile, sizeof( szFile ), \"Taxi/%s.ini\", szName( playerid ) );
if( dini_Exists( szFile ) )
{
SetPVarInt( playerid, \"Taxi\", dini_Int( szFile, \"Taxi\" ) );
}
else
{
SetPVarInt( playerid, \"Taxi\", 0 );
dini_Create( szFile );
}
return 1;
}
public OnPlayerDisconnect( playerid, reason )
{
format( szFile, sizeof( szFile ), \"Taxi/%s.ini\", szName(playerid));
dini_IntSet( szFile, \"Taxi\", GetPVarInt( playerid, \"Taxi\"));
return 1;
}
stock szName( playerid )
{
static s_szName[ MAX_PLAYER_NAME + 1 ];
GetPlayerName( playerid, s_szName, MAX_PLAYER_NAME );
return s_szName;
}
CMD:dolgozni(playerid,params[])
{
if( GetPVarInt( playerid, \"Taxi\" ) == 1)
{
new pName[MAX_PLAYER_NAME];
new string[250];
GetPlayerName(playerid, pName, sizeof(pName));
format(string, sizeof(string), \"%s taxi szolgálatba állt\", pName);
SendClientMessage(playerid,COLOR_RED, string);
}
else
{
SendClientMessage(playerid,COLOR_RED,\"Hogy akarsz taxi szolgálatba állni ha nem vagy taxis?\");
}
return 1;
}
CMD:taximunka(playerid,params[])
{
if( GetPVarInt( playerid, \"Taxi\" ) == 1) return SendClientMessage(playerid,COLOR_RED,\"Te már taxis vagy\");
SetPVarInt(playerid,\"Taxi\",1);
SendClientMessage(playerid,COLOR_RED,\"Te mostantól taxisként dolgozol kilépéshez felmond\");
return 1;
}
CMD:felmond(playerid,params[])
{
if( GetPVarInt( playerid, \"Taxi\" ) == 1)
{
SetPVarInt(playerid,\"Taxi\",0);
SendClientMessage(playerid,COLOR_RED,\"Mostmár nem dolgozol taxisként\");
}
else
{
SendClientMessage(playerid,COLOR_RED,\"Eddig sem voltál taxis\");
}
return 1;
}
CMD:taxihiv(playerid,params[])
{
if( GetPVarInt( playerid, \"Taxi\" ) == 1)
{
new pName[MAX_PLAYER_NAME];
new string[46];
GetPlayerName(playerid, pName, sizeof(pName));
format(string, sizeof(string), \"%s taxit hívott.\", pName);
SendClientMessageToAll(COLOR_RED, string);
SetPVarInt(playerid,\"Taxihív\",1);
}
return 1;
}
CMD:elfogadtaxi(playerid,params[])
{
if( GetPVarInt( playerid, \"Taxi\" ) == 1)
{
if( GetPVarInt( playerid, \"Taxihív\" ) == 1)
{
new Float:X1,Float:Y1,Float:Z1;
new giveplayerid;
if(sscanf(params, \"u\", giveplayerid)) return SendClientMessage(playerid, COLOR_RED, \"Használat: /elfogadtaxi [Játékos]\");
if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, \"Érvénytelen Játékos ID\");
GetPlayerPos(giveplayerid, X1, Y1, Z1);
SetPlayerCheckpoint(playerid, X1, Y1, Z1, 5);
CPStatus[playerid] = 1;
SetPVarInt(playerid,\"Taxihív\",0);
}
else
{
SendClientMessage(playerid,COLOR_RED,\"A játékos nem hívott taxit\");
}
}
else
{
SendClientMessage(playerid,COLOR_RED,\"Nem vagy taxis\");
}
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER)
{
new CarCheck = GetPlayerVehicleID(playerid);
if(CarCheck == Taxi[taxi1] || CarCheck == Taxi[taxi2])
{
if( GetPVarInt( playerid, \"Taxi\" ) == 1)
{
GameTextForPlayer(playerid, \"~g~Elkezdtel dolgozni!\", 3000, 3);
}
else
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,-1,\"Nem dolgozol taxisként\");
}
}
}
return 0;
}
public OnPlayerEnterCheckpoint(playerid)
{
switch(CPStatus[playerid])
{
case 1:
{
SendClientMessage(playerid,COLOR_RED,\"Kimentél az utashoz ezért kaptál 2000Ft-t\");
DisablePlayerCheckpoint(playerid);
GivePlayerMoney(playerid,2000);
}
}
return 1;
}

 
Újítás:
Ha a játékos nem hív taxit akkor nem tudsz hozzá ki menni és pénzt is ad már.
Javitvás:
Az volt a probléma hogy ha 1 volt a rankja 1 re álította na ezt javítottam
« Utoljára szerkesztve: 2012. november 14. - 15:15:31 írta Mokus »

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Taxi Munka 1.1[Javitva]
« Válasz #1 Dátum: 2012. november 14. - 09:03:50 »
0 Show voters
Tetszik, igényes munka látom szereted rendezni :D Felhasználom adtál egy jó ötletett :D És én is ilyet munkát írtam dinivel de már nincs meg :D

Nem elérhető Depi

  • 2259
  • Még mindig TrYp. :)
    • Profil megtekintése
Taxi Munka 1.1[Javitva]
« Válasz #2 Dátum: 2012. november 14. - 09:24:58 »
0 Show voters
Idézetet írta: ZyZu date=1352880230\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"29828\" data-ipsquote-contentclass=\"forums_Topic
Tetszik, igényes munka látom szereted rendezni :D Felhasználom adtál egy jó ötletett :D És én is ilyet munkát írtam dinivel de már nincs meg :D
 
Szerintem nem is nézted át rendesen a kódot..
 
Taxi[taxi1] = CreateVehicle(420,-209.7638,2608.5227,62.4824,359.4272,6,1,600000);
Taxi[taxi1] = CreateVehicle(420,-213.1385,2608.4824,62.4899,0.2146,6,1,600000);

 
Helyett, talán:
 
Taxi[taxi1] = CreateVehicle(420,-209.7638,2608.5227,62.4824,359.4272,6,1,600000);
Taxi[taxi2] = CreateVehicle(420,-213.1385,2608.4824,62.4899,0.2146,6,1,600000);

 
Ez meg esik a CTRL + C és CTRL + V -s mûveleteknél.

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Taxi Munka 1.1[Javitva]
« Válasz #3 Dátum: 2012. november 14. - 09:43:07 »
0 Show voters
Mi benne a hiba?  :o

Nem elérhető Depi

  • 2259
  • Még mindig TrYp. :)
    • Profil megtekintése
Taxi Munka 1.1[Javitva]
« Válasz #4 Dátum: 2012. november 14. - 09:49:09 »
0 Show voters
Taxi[taxi1] = CreateVehicle(420,-209.7638,2608.5227,62.4824,359.4272,6,1,600000);
Taxi[taxi1] = CreateVehicle(420,-213.1385,2608.4824,62.4899,0.2146,6,1,600000);

 

Taxi[taxi1] = CreateVehicle(420,-209.7638,2608.5227,62.4824,359.4272,6,1,600000);
Taxi[taxi2] = CreateVehicle(420,-213.1385,2608.4824,62.4899,0.2146,6,1,600000);

 
Illetve, sokkal szebben is ki lehetett volna dolgozni, nem jó az ha kezdõ így tanulja meg.
UP: EZ az átkozott nem rakta bele a színeket, taxi1,taxi1 helyett taxi1,taxi2 esetleg, ha már enumerátorban így lett beleírva.

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
Taxi Munka 1.1[Javitva]
« Válasz #5 Dátum: 2012. november 14. - 10:34:23 »
0 Show voters
Idézetet írta: Draven date=1352882949\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"29828\" data-ipsquote-contentclass=\"forums_Topic

Taxi[taxi1] = CreateVehicle(420,-209.7638,2608.5227,62.4824,359.4272,6,1,600000);
Taxi[taxi1] = CreateVehicle(420,-213.1385,2608.4824,62.4899,0.2146,6,1,600000);

 

Taxi[taxi1] = CreateVehicle(420,-209.7638,2608.5227,62.4824,359.4272,6,1,600000);
Taxi[taxi2] = CreateVehicle(420,-213.1385,2608.4824,62.4899,0.2146,6,1,600000);

 
Illetve, sokkal szebben is ki lehetett volna dolgozni, nem jó az ha kezdõ így tanulja meg.
UP: EZ az átkozott nem rakta bele a színeket, taxi1,taxi1 helyett taxi1,taxi2 esetleg, ha már enumerátorban így lett beleírva.
 
én 7 dologra hívtam fel a figyelmét, PM-ben továbbítottam neki, remélhetõleg felrakja hamarosan a javított verziót :)
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

Nem elérhető Mokus

  • 608
    • Profil megtekintése
Taxi Munka 1.1[Javitva]
« Válasz #6 Dátum: 2012. november 14. - 14:46:07 »
0 Show voters
Persze javítom csak nem volt idõm :D köszi az észrevételt nem figyeltem eléggé meg a taxi kocsit gyorsan be raktam mert arra nem volt szükségem csak azért hogy lássák hogy kell :D

Dupla hozzászólás automatikusan összefûzve. ( 2012. november 14. - 15:16:24 )

Na javítva ha még észleltek problémát szoljatok
« Utoljára szerkesztve: 2012. november 14. - 15:16:24 írta Mokus »

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
Taxi Munka 1.1[Javitva]
« Válasz #7 Dátum: 2012. november 14. - 15:35:38 »
0 Show voters
írtál PM-ben ezért leírom az észrevételeimet ahogy kérted :D
 
enum TaxiCars
{
    taxi1,
    taxi2
};
new Taxi[TaxiCars];

 
az enum még mindig nem indokolt számomra :)
 
new szFile[ 40 + 1 ];

 
ezt még mindig lokális változónak raknám...
 
new string[250];
GetPlayerName(playerid, pName, sizeof(pName));
format(string, sizeof(string), \"%s taxi szolgálatba állt\", pName);

 
max szöveg hossz 23+24=47 szóval a 250 cella még mindig ~5x annyi mint amire szükség van :)
 
switch(CPStatus[playerid])
{
    case 1:
    {
        SendClientMessage(playerid,COLOR_RED,\"Kimentél az utashoz ezért kaptál 2000Ft-t\");
        DisablePlayerCheckpoint(playerid);
        GivePlayerMoney(playerid,2000);
    }
}

 
felesleges a switch ha csak 1 case van :)
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

Nem elérhető Mokus

  • 608
    • Profil megtekintése
Taxi Munka 1.1[Javitva]
« Válasz #8 Dátum: 2012. november 14. - 15:46:19 »
0 Show voters
Így tudom így csináltam így tanították és így is fogom alkalmazni enum ugyan ilyen marad meg minden de köszi majd egyszer máshogy lessz :D
Az string meg azért nagyobb mert sok ember az üzenetet át irja és neki ne legyen hiba ha kezdõ és át irja a szöveget

Taxi Munka 1.1[Javitva]
« Válasz #9 Dátum: 2012. november 14. - 16:29:31 »
0 Show voters
Idézetet írta: Mokus date=1352904379\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"29828\" data-ipsquote-contentclass=\"forums_Topic
Így tudom így csináltam így tanították és így is fogom alkalmazni enum ugyan ilyen marad meg minden de köszi majd egyszer máshogy lessz :D
Az string meg azért nagyobb mert sok ember az üzenetet át irja és neki ne legyen hiba ha kezdõ és át irja a szöveget
 
250 cella akkor is felesleges.. Ugyanis ha kivonjuk a 250 bõl a nevet(24) meg a null-t(1) az 225 és 225 karaktert nem fog senki sem beleírni a szkriptbe.

Apróság, viszont ha ezt nem veszed figyelembe és nagyobb módnál/szkriptnél magas cellaszámot használsz azzal csak byte-t veszítesz.

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
Taxi Munka 1.1[Javitva]
« Válasz #10 Dátum: 2012. november 14. - 17:21:09 »
0 Show voters
ennyi erõvel itt is kevés a 7 extra cella :D
 
new string[46];
GetPlayerName(playerid, pName, sizeof(pName));
format(string, sizeof(string), \"%s taxit hívott.\", pName);

 
am itt felesleges az enum :) de ha nem tetszik a szám index akkor alkalmazhatod így is:
 
#define TAXI1 0
#define TAXI2 1
new Taxi[2];
 
Taxi[TAXI1];
Taxi[TAXI2];
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

Nem elérhető Norby

  • 1575
    • Profil megtekintése
Taxi Munka 1.1[Javitva]
« Válasz #11 Dátum: 2012. november 14. - 17:57:45 »
0 Show voters
Ez elég fura szerintem, mert ugyebár kimegy a Taxis belemegy a Checkpointba és meg is kapja a pénzt, de az még nem azt jelenti hogy el is viszi valahova. :D
Ha kicsit valósághûre akarod csinálni akkor szerintem miután az utas kiszállt azután kapja meg a pénzt. ;)

Nem elérhető Mokus

  • 608
    • Profil megtekintése
Taxi Munka 1.1[Javitva]
« Válasz #12 Dátum: 2012. november 14. - 21:26:17 »
0 Show voters
Igaz 1.2 verzióba már meg lessz

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal