-
Nos ez a kapu olyan lenne, hogy Pl: egy parkingba szeretnék beparkolni és amikor odaérek a parking kapújához akkor automatikusan kinyilna és elvenne pár $-t!!! De csak a kapu jármûre reagáljon Ha lehetséges mert ha netán atulaj odasétálna a kocsijához akkor ne nyiljon ki a parking kapú mert akkor ugy is venne el tõlle pénzt! Elõre is köszönöm anak akki elkésziti 15 + érte
-
Utána nézek neked. Ilyet még nem csináltam, de próba szerencse. :D
-
láthatatlan markerrel megcsinálod és kész, vagy ha az nem megy akkor láthatóval
-
http://wiki.sa-mp.com/wiki/IsPlayerInRangeOfPoint
-
Hali,
Hova szeretnéd a parkolót?
Dupla hozzászólás automatikusan összefûzve. ( 2013. február 14. - 22:35:04 )
Ühm bár régi téma kicsit,
Gondoltam megcsinálom. Lsben van egy parkoló ott ahol ált a rendõrség van. na amögött ottvan a kapu. csak 300$ fejében nyílik ki és ha kocsiban vagy. Autómatikusan bezáródik egy kis idõ után
#include <a_samp>
#include \"../include/gl_common.inc\"
forward PosUp(playerid);
forward Bezar();
new Kapu;
new nyitva;
new bez;
public OnFilterScriptInit()
{
print(\"\\n-Kapu Script-\\n\");
Kapu = CreateObject(980, 1643.5, -1715.19995, 16.4, 0, 0, 90);
return 1;
}
public OnPlayerSpawn(playerid)
{
SetTimerEx(\"PosUp\", 3000, true, \"i\", playerid);
}
public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[256];
new idx;
cmd = strtok(cmdtext, idx);
if(strcmp(\"/parkolohelp\", cmd, true) == 0)
{
SendClientMessage(playerid,-1,\"Parkoló: Állj oda a kocsival az ajtó elé, ha van pénzed kinyílik\");
}
return 0;
}
public PosUp(playerid)
{
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid,x,y,z);
if(IsPlayerInRangeOfPoint(playerid,6.0,1643.5, -1715.19995, 16.4))
{
if(nyitva == 1) return 0;
if(!IsPlayerInAnyVehicle(playerid)) return 0;
if(GetPlayerMoney(playerid) >= 300)
{
MoveObject(Kapu,1643.5, -1715.19995, 6.4,3);
GivePlayerMoney(playerid,-300);
nyitva = 1;
bez = SetTimerEx(\"Bezar\", 7000, true, \"i\");
SendClientMessage(playerid,-1,\"Parkold le az autódat de ne a kapu mellé\");
}
else return SendClientMessage(playerid,-1,\"300$ Kell a kinyitásához\");
}
return 1;
}
public Bezar()
{
MoveObject(Kapu,1643.5, -1715.19995, 16.4,3);
KillTimer(bez);
nyitva = 0;
return 1;
}
Kép:
http://kepfeltoltes.hu/130214/128285003gallery4_www.kepfeltoltes.hu_.jpg[/img]
-
Hiba!!!!
C:\\Users\\robi\\Desktop\\vae.pwn(3) : fatal error 100: cannot read from file: \"../include/gl_common.inc\"
Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
1 Error.
-
Nem találja az include filet. Szedd le valahonnan és tedd be a pwno/include mappába
-
Tudnál egy letöltési linket adni mert nem találom?!
-
http://www.solidfiles.com/d/7138/ tessék
-
Amikor odaérek a kapuhoz és kikellene, hogy nyiljon helyete a szerver Restartingol és az a fekete kis ablak amin a szerver elindul ki X-eli magát!!!!!
Milehet a hiba akkor????
-
Nem tudom, hogy megoldódott-e, bocs a bumpért, de itt van a javított.
#include a_samp
new Kapu, nyitva = 0, bez;
public OnFilterScriptInit()
{
Kapu = CreateObject(980, 1643.5, -1715.19995, 16.4, 0.0, 0.0, 0.0, 90);
return 1;
}
public OnFilterScriptExit()
{
DestroyObject(Kapu);
nyitva = 0;
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(\"/parkolohelp\", cmdtext, true)) return SendClientMessage(playerid, -1, \"Parkoló: Állj oda a kocsival az ajtó elé, ha van pénzed kinyílik!\");
return 0;
}
public OnPlayerUpdate(playerid)
{
new Float: p[3];
GetPlayerPos(playerid, p[0], p[1], p[2]);
if(IsPlayerInRangeOfPoint(playerid, 6.0, 1643.5, -1715.19995, 16.4))
{
if(!IsPlayerInAnyVehicle(playerid)) return 0;
if(nyitva == 1) return 0;
if(GetPlayerMoney(playerid) >= 300)
{
MoveObject(Kapu, 1643.5, -1715.19995, 6.4, 3.0);
GivePlayerMoney(playerid, GetPlayerMoney(playerid) - 300);
nyitva = 1;
bez = SetTimer(\"Bezar\", 7000, false);
SendClientMessage(playerid, -1, \"Parkold le az autódat, de ne a kapu mellé!\");
}
else SendClientMessage(playerid, -1, \"300$ Kell a kinyitásához\");
}
return 1;
}
public Bezar();
public Bezar()
{
MoveObject(Kapu, 1643.5, -1715.19995, 16.4, 3.0);
KillTimer(bez);
nyitva = 0;
return 1;
}
(Bár nem tudom, hogy az OnPlayerUpdatenál ha hamis a visszatérés, akkor nem zavarja-e össze a játékot. (Pl.: nem látjátok egymást a szerveren, ezért nem ártana tesztelni.) )
-
Én azt mondom hogy az egészet tedd be úgy hogy a SPACE gomb megnyomásával kinyíljon a kapu
tehát:
forward Close();
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(PRESSED(KEY_HANDBRAKE))
{
if(IsPlayerInRangeOfPoint(sugár, x,y,z))
{
if(IsPlayerInAnyVehicle(playerid))
{
new penz;
penz = GetPlayerMoney(playerid);
if(penz>=[szám]) return SendClientMessage(playerid, 0xFFFFFF, \"Nincs elég pénzed.\");
{
MoveObject(objectid, x, y, z, sebesség,x(forgás),y(forgás),z(forgás));
SetTimer(\"Close\", [idõ], false);
SendClientMessage(playerid, 0xFFFFFF, \"Üdv. a parkolóban!\");
}
}
}
}
return 1;
}
public Close()
{
MoveObject(objectid, x, y, z, sebesség,x(forgás),y(forgás),z(forgás));
return 1;
}
És egy gyalogos command mert a \"KEY_HANDBRAKE\" csak kocsiban mûködik:
CMD:open(playerid, params[])
{
if(IsPlayerInRangeOfPoint(sugár, x,y,z))
{
MoveObject(objectid, x, y, z, sebesség,x(forgás),y(forgás),z(forgás));
SetTimer(\"Close\", [idõ], false);
SendClientMessage(playerid, 0xFFFFFF, \"Üdv. a parkolóban!\");
}
return 1;
}
Nem teljesen önmûködõ de legalább az OnPlayerUpdate bizonytalanságát kikerültük :)
-
Én azt mondom hogy az egészet tedd be úgy hogy a SPACE gomb megnyomásával kinyíljon a kapu
tehát:
forward Close();
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(PRESSED(KEY_HANDBRAKE))
{
if(IsPlayerInRangeOfPoint(sugár, x,y,z))
{
if(IsPlayerInAnyVehicle(playerid))
{
new penz;
penz = GetPlayerMoney(playerid);
if(penz>=[szám]) return SendClientMessage(playerid, 0xFFFFFF, \"Nincs elég pénzed.\");
{
MoveObject(objectid, x, y, z, sebesség,x(forgás),y(forgás),z(forgás));
SetTimer(\"Close\", [idõ], false);
SendClientMessage(playerid, 0xFFFFFF, \"Üdv. a parkolóban!\");
}
}
}
}
return 1;
}
public Close()
{
MoveObject(objectid, x, y, z, sebesség,x(forgás),y(forgás),z(forgás));
return 1;
}
És egy gyalogos command mert a \"KEY_HANDBRAKE\" csak kocsiban mûködik:
CMD:open(playerid, params[])
{
if(IsPlayerInRangeOfPoint(sugár, x,y,z))
{
MoveObject(objectid, x, y, z, sebesség,x(forgás),y(forgás),z(forgás));
SetTimer(\"Close\", [idõ], false);
SendClientMessage(playerid, 0xFFFFFF, \"Üdv. a parkolóban!\");
}
return 1;
}
Nem teljesen önmûködõ de legalább az OnPlayerUpdate bizonytalanságát kikerültük :)
Müködik is?
Ha igen amikor otthol leszek akkor kiprobálom és ha jó akkor meg a + :)
-
Biztos müködik de ez csak egy sablon, igazitsd a saját parkolódhoz és tökéletea lesz...
A [idõ], [szám] és hasonlóknál a zárójelet töröld ki