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

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Szkript kérések => A témát indította: Soveny94 - 2013. Február 05. - 20:02:49

Cím: Pénz elvevõ kapút szeretnék
Írta: Soveny94 - 2013. Február 05. - 20:02:49
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
Cím: Pénz elvevõ kapút szeretnék
Írta: BackUP - 2013. Február 06. - 13:56:55
Utána nézek neked. Ilyet még nem csináltam, de próba szerencse. :D
Cím: Pénz elvevõ kapút szeretnék
Írta: esvtaz - 2013. Február 14. - 21:04:00
láthatatlan markerrel megcsinálod és kész, vagy ha az nem megy akkor láthatóval
Cím: Pénz elvevõ kapút szeretnék
Írta: CANNONN - 2013. Február 14. - 21:49:17
http://wiki.sa-mp.com/wiki/IsPlayerInRangeOfPoint
Cím: Pénz elvevõ kapút szeretnék
Írta: Fool - 2013. Február 14. - 22:05:51
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:
\"width=500http://kepfeltoltes.hu/130214/128285003gallery4_www.kepfeltoltes.hu_.jpg[/img]
Cím: Pénz elvevõ kapút szeretnék
Írta: Soveny94 - 2013. Február 15. - 17:32:51
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.
Cím: Pénz elvevõ kapút szeretnék
Írta: Fool - 2013. Február 15. - 18:02:02
Nem találja az include filet. Szedd le valahonnan és tedd be a pwno/include mappába
Cím: Pénz elvevõ kapút szeretnék
Írta: Soveny94 - 2013. Február 17. - 01:55:25
Tudnál egy letöltési linket adni mert nem találom?!
Cím: Pénz elvevõ kapút szeretnék
Írta: Beckham - 2013. Február 20. - 23:01:21
http://www.solidfiles.com/d/7138/ tessék
Cím: Pénz elvevõ kapút szeretnék
Írta: Soveny94 - 2013. Február 23. - 00:46:45
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????
Cím: Pénz elvevõ kapút szeretnék
Írta: jana4 - 2013. Március 05. - 20:09:58
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.) )
Cím: Pénz elvevõ kapút szeretnék
Írta: Andris2120 - 2013. Március 17. - 01:22:15
É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 :)
Cím: Pénz elvevõ kapút szeretnék
Írta: Soveny94 - 2013. Március 20. - 00:25:27
Idézetet írta: Andris2120 date=1363479735\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"33470\" data-ipsquote-contentclass=\"forums_Topic
É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 + :)
Cím: Pénz elvevõ kapút szeretnék
Írta: Andris2120 - 2013. Március 28. - 03:09:43
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