Jump to content

script Park system


Ewwe

Recommended Posts

  • Administrátor

Co to vlastně je je to parkovací system založený na tom ze si nekde v emeste ulozite pozici kde bude parkovac misto a potom ingame prijdete k mistu a pres dialog si to misto koupite muzete si k nemu ulozit jakekoli auto vcetne tuningu muzete mit jen jedno samozrejme.

PS:QWERe a ostatní nepopírám ze to pro server bude náročný jako svine :d ale tak pšt :d

PS2:includ 1123581321 je klasicke dudb :d

Zbytek informací si odvoďte ze scritpu nebudu zde nic vysvetlovat ani vám pomáhat na skype takže to ani nezkoušejte

DOWNLOAD

 

 

Ani se nehodlám nijak zvlášt vyjadrovat k tomu :d

Link to comment
Share on other sites

Nie su to tieto errory :

 

 

168 : error 017: undefined symbol "AddMapIcon"
225 & 475 : error 017: undefined symbol "IsPlayerInSphere"
281 & 282 & 507 :error 017: undefined symbol "PlayerName"

 

Undefined Symbol PlayerName :

 

stock PlayerName(playerid)
{
new pName[MAX_PLAYER_NAME];
if(IsPlayerConnected(playerid))
{
if(!IsPlayerNPC(playerid))
{
GetPlayerName(playerid, pName, sizeof(pName));
}
}
return pName;
}

 

Undefined symbol IsPlayerInSphere :

 

IsPlayerInSphere(playerid,Float:x,Float:y,Float:z,radius)
{
  if(GetPlayerDistanceToPointEx(playerid,x,y,z) < radius){
  return true;
}
  return false;
}

 

 

Undefined symbol GetPlayerDistanceToPointEx

 

stock GetPlayerDistanceToPointEx(playerid,Float:x,Float:y,Float:z)
{
new Float:x1,Float:y1,Float:z1,Float:tmpdis;
GetPlayerPos(playerid,x1,y1,z1);
tmpdis = floatsqroot(floatpower(floatabs(floatsub(x,x1)),2)+floatpower(floatabs(floatsub(y,y1)),2)+floatpower(floatabs(floatsub(z,z1)),2));
return floatround(tmpdis);
}

 

a ten mapicon sa mi opravovat nechce :d

Link to comment
Share on other sites

  • Administrátor

 

#define MAX_MAPICON 800

new MapIcoCount = 0;

enum MAPICO_DATA

{

Float:mpi_X,

Float:mpi_Y,

Float:mpi_Z,

mpi_TYP

};

new MapIcoInfo[MAX_MAPICON][MAPICO_DATA];

new ShowMapIcon[MAX_PLAYERS];

forward AddMapIcon(Float:mpiX, Float:mpiY, Float:mpiZ, mpiTYP);

forward IconsList();

forward SetMapIcon(playerid, Float:x, Float:y, Float:iconx, Float:icony, Float:iconz, iconm);

forward mapiconstreamer();

public mapiconstreamer()

{

SetTimer("IconsList",2000,1);

return 1;

}

 

public AddMapIcon(Float:mpiX, Float:mpiY, Float:mpiZ, mpiTYP)

{

if(MapIcoCount

{

MapIcoInfo[MapIcoCount][mpi_X] = mpiX;

MapIcoInfo[MapIcoCount][mpi_Y] = mpiY;

MapIcoInfo[MapIcoCount][mpi_Z] = mpiZ;

MapIcoInfo[MapIcoCount][mpi_TYP] = mpiTYP;

MapIcoCount++;

}

else

{

print(" __ Kapacita AddMapIcon prekrocena, mapicona nebyla vytvorena. __ ");

}

return 1;

}

public SetMapIcon(playerid, Float:x, Float:y, Float:iconx, Float:icony, Float:iconz, iconm)

{

if(floatround(floatsqroot(floatpower(floatabs(floatsub(x,iconx)),2)+floatpower(floatabs(floatsub(y,icony)),2)))

{

SetPlayerMapIcon(playerid, ShowMapIcon[playerid], iconx, icony, iconz, iconm, 0xFFFFFFAA);

ShowMapIcon[playerid]++;

if(ShowMapIcon[playerid] > 32) ShowMapIcon[playerid] = 0;

}

}

public IconsList()

{

for(new i = 0; i

{

if(IsPlayerConnected(i))

{

new Float:dataX, Float:dataY, Float:dataZ;

GetPlayerPos(i, dataX, dataY, dataZ);

for(new c = 0; c

{

SetMapIcon(i, dataX, dataY, MapIcoInfo[c][mpi_X], MapIcoInfo[c][mpi_Y], MapIcoInfo[c][mpi_Z], MapIcoInfo[c][mpi_TYP]);

}

}

}

return 1;

}

 

Link to comment
Share on other sites

Inac mohol si tu predsalen dat riklad pouzitia...Vecsina ludi si to z .pwn neodvodi :d

 

EDIT: //

Objavil som jeden problem , neviem ci to robi aj vam :d

 

Ked kompilujem mod , vsetko v pohode..No ako spustim server , hned sa vypne.

Riesil som to formou includu (ten parking system) , a vzdycky mi to nacita gamemode iba po riadok kde vyvolavam

 

public Addpark(parkid,Float:x, Float:y, Float:z, p_cost,Float:carx,Float:cary,Float:carz,Float:carRot)

 

Moj riadok vyzera takto :

 

Addpark(1,-2129.5042,-2442.0083,30.6250,5000,-2129.5042,-2442.0083,30.6250,0);

Link to comment
Share on other sites

  • Administrátor

Jo promin musis si vytvorit dve slozky ve script files myslel jsem si ze si ten script aspon prostudujete nez to hodite na server bohuzel jsem se mylil

Složky :

majitelepark

autapark

Link to comment
Share on other sites

Ide sa na chyby ktorých je jak číňanov

for(new p = 0; p < parkCount; p ++)
{

new string1[256];
format(string1,sizeof(string1),"autapark/park%d.cfg",park[p][park_ID]);

if((newkeys==KEY_FIRE)&&(IsPlayerInAnyVehicle(playerid))&&(GetPlayerState(playerid)==PLAYER_STATE_DRIVER)&&(IsPlayerInSphere(playerid,dini_Float(string1,"carX"),dini_Float(string1,"carY"),dini_Float(string1,"carZ"),7)))
{
if(park_Majitel[playerid] != park[p][park_ID]) return SendClientMessage(playerid, 0xFFFFFFFF, "Tento parkong nevlastníš !");
if (!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xFFFFFFFF, "[ ! ] Nesedíš v žádném vozidle");
ShowPlayerDialog(playerid,CARP_DIALOG1,DIALOG_STYLE_MSGBOX,"Uložení vozu","Chcete tenhle vuz uložit na parkovací místo?","Ano","Ne");
}


if(newkeys == KEY_WALK)
{

if(IsPlayerConnected(playerid))
{
if(!IsPlayerInAnyVehicle(playerid))
{
if(IsPlayerInRangeOfPoint(playerid, 2, park[p][PosX],park[p][PosY],park[p][PosZ]))
{
if(parkActivePickup[playerid] == true) return 0;
ShowPlayerDialog(playerid,park_DIALOG,DIALOG_STYLE_LIST,"Parkovací místo","Koupit parkovací místo\nProdat parkovací místo\nInformace o parkovacím místě\nRespawn vozidla","Použít","Nic");
parkActivePickup[playerid] = true;
}
}
}

}}

EHM Zmenil by som poradie

if(newkeys == KEY_WALK){

cyklus

isplayerinrangeofpoint

 

else if(newkeys == KEY_FIRE)

cyklus

isplayerinrangeofpoint

Lebo takto to vyvolá cyklus pri každom stlačení klávesy :d skús mať na servery 10 hráčov a uvidíš čo to zo serverom a hrou spraví xD

 

forward p_OnVehicleSpawn(vehicleid);
public p_OnVehicleSpawn(vehicleid)
{
for(new p = 0; p < parkCount; p ++)
{
new string1[256];
format(string1,sizeof(string1),"autapark/park%d.cfg",park[p][park_ID]);

AddVehicleComponent(Autopark[p],dini_Int(string1,"comp"));
AddVehicleComponent(Autopark[p],dini_Int(string1,"comp1"));
AddVehicleComponent(Autopark[p],dini_Int(string1,"comp2"));
AddVehicleComponent(Autopark[p],dini_Int(string1,"comp3"));
AddVehicleComponent(Autopark[p],dini_Int(string1,"comp4"));
AddVehicleComponent(Autopark[p],dini_Int(string1,"comp5"));
AddVehicleComponent(Autopark[p],dini_Int(string1,"comp6"));
AddVehicleComponent(Autopark[p],dini_Int(string1,"comp7"));
AddVehicleComponent(Autopark[p],dini_Int(string1,"comp8"));
AddVehicleComponent(Autopark[p],dini_Int(string1,"comp9"));
AddVehicleComponent(Autopark[p],dini_Int(string1,"comp10"));
AddVehicleComponent(Autopark[p],dini_Int(string1,"comp11"));
AddVehicleComponent(Autopark[p],dini_Int(string1,"comp12"));
AddVehicleComponent(Autopark[p],dini_Int(string1,"comp13"));
ChangeVehiclePaintjob(Autopark[p],dini_Int(string1,"paintjob"));

}
return 1;
}

není podmienka

if(vehicleid == Autopark[p])

 

BTW Niekedy používaš IsPlayerInShere a niekedy IsPlayerInRangeOfPoint btw pawn funkcia "IsPlayerInShere" je asi 5x pomalšia ako funkcia v samp IsPlayerInRangeOfPoint...

 

(IsPlayerInSphere(playerid,dini_Float(string1,"carX"),dini_Float(string1,"carY"),dini_Float(string1,"carZ"),7)))

aaaaaaaaaaaaaa čo to tu robíš ? wtf ? toto my vysvetli...

 

a ešte niečo

(IsPlayerInAnyVehicle(playerid))&&(GetPlayerState(playerid)==PLAYER_STATE_DRIVER

ehm... tak nestačilo if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) ?

 

new park_In = IsPlayerInPickuppark(playerid);
Number_Of_park[playerid] = park_In;

fuu tak toto je iný skill :d keď chceš použiť playerid (btw na lokálnej premene netreba) si mal spraviť

Number_Of_park[playerid] = IsPlayerInPickuppark(playerid);

 

BTW Aj tak si ďalej používal

park[park_In][Cenapark]

park_In

if(strcmp(dini_Get(stringurl, "Koupeny"), "0", true) == 0) {

if(dini_Int(stringurl,"Kopueny") != 0){

 

GetPlayerVehicleID(playerid),CARMODTYPE_SPOILER);
component1 = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid),CARMODTYPE_HOOD);
component2 = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid),CARMODTYPE_ROOF);
component3 = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid),CARMODTYPE_SIDESKIRT);
component4 = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid),CARMODTYPE_LAMPS);
component5 = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid),CARMODTYPE_NITRO);

Uchovávať už raz získanú hodnotu nič nehovorí ?

lepšie spravíš než toto a stále je to lepšie než nevyužitých 113 premien

new Number_Of_park[MAX_PLAYERS_EX];

 

no strach a hrôza

 

btw 3/25 za snahu

Link to comment
Share on other sites

Jo promin musis si vytvorit dve slozky ve script files myslel jsem si ze si ten script aspon prostudujete nez to hodite na server bohuzel jsem se mylil

Složky :

majitelepark

autapark

 

 

Myslel som si... :d

Link to comment
Share on other sites

  • 5 months later...

Nemas INC ten co ti to pise ale nazacatku psali ze tento INC je klasicky dudb tak si tam misto tech cisel napis dudb a jestli ho nemas tak si ho stahni ;)

Link to comment
Share on other sites

  • Administrátor
2 složky ? omfg to je hrozné...

No jo taky je to script starej jak metuzalem sem rad ze sem to vubec nejak dal dohromady ted bych to resil uplne diametrálně odlišným způsobem

Link to comment
Share on other sites

2 složky ? omfg to je hrozné...

No jo taky je to script starej jak metuzalem sem rad ze sem to vubec nejak dal dohromady ted bych to resil uplne diametrálně odlišným způsobem

tiež som to písal strašne dávno ;)

Link to comment
Share on other sites

C:\Users\Radek\Desktop\Somer\Parking.pwn(168) : error 017: undefined symbol "AddMapIcon"

C:\Users\Radek\Desktop\Somer\Parking.pwn(225) : error 017: undefined symbol "IsPlayerInSphere"

C:\Users\Radek\Desktop\Somer\Parking.pwn(281) : error 017: undefined symbol "PlayerName"

C:\Users\Radek\Desktop\Somer\Parking.pwn(282) : error 017: undefined symbol "PlayerName"

C:\Users\Radek\Desktop\Somer\Parking.pwn(475) : error 017: undefined symbol "IsPlayerInSphere"

C:\Users\Radek\Desktop\Somer\Parking.pwn(507) : error 017: undefined symbol "PlayerName"

C:\Users\Radek\Desktop\Somer\Parking.pwn(537) : warning 203: symbol is never used: "strtok"

 

 

 

tohle mi udělalo když to přejmenoval na dudb

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...