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: Zsoma - 2010. április 11. - 17:38:07

Cím: Ha a karakter...
Írta: Zsoma - 2010. április 11. - 17:38:07
Sziasztok!
Új vagyok még a fúrumon, remélem sok segíto szándékúval találkozom itt...
Kezdeném is elso kérésemme...
0-ról írok egy módot és interiorokat készítem most.
Nos, olyat csináltam, hogy van egy pickup, amit ha felvesz az ember, akkor berakja pl.:boltba, kocsmába...
Az addig meg is van, kimenetel is sikerül...
Nos, én olyat szeretnék, hogy CSAK AKKOR mehessen be, ha beírja az /enter, illetve /exit parancsot...
Bocsi, ha túl egyszeru és én nemtudom megcsinálni, de még kezdo vagyok  :)
Köszönöm elore is!
bye Zsoma
Cím: Ha a karakter...
Írta: Depi - 2010. április 11. - 17:47:31
Hát akkor egy parancsba rakod a pickup felaladát pl :
 
SetPlayerPos(playerid,X,Y,Z);
SetPlayerInterior(playerid,InteriodID);

 
És a pickupból kiveszed ezt,és pl egy üzenetet raksz helyette hogy :
 
SendClientMessage(playerid,színkód,\"Ha beakarsz menni akkor /enter\");

 
Remélem érted mire gondolok.  :D
Cím: Ha a karakter...
Írta: ALIEN - 2010. április 11. - 17:53:43
new be;
public OnGameModeInit()
{
   be = CreatePickup(pickupid, 2, x, y, z);
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
   if(pickupid == be)
  {
  SendClientMessage(playerid, 0xFF3366FF, \"Belépés: /enter\");
  }
return 1;
}
public OnPlayerCommandText( playerid, cmdtext[ ] )
{
if(!strcmp(\"/enter\", cmdtext, true) )
{
SetPlayerInterior(playerid,InteriorID);
       return 1;
}
return 0;
}

 
És így meg kell csinálni a kimenetélnél is.
Cím: Ha a karakter...
Írta: Zsoma - 2010. április 11. - 17:55:20
DE az akkor azért nem jó mert akkor pl a város másik végébol beirja h enter és akkor is oda rakja be nem?
valami ilyesmi lehet h ifplayerpos x y z lehet h nincs ilyen de érted mit akarok kihozni belole? :D
Cím: Ha a karakter...
Írta: Depi - 2010. április 11. - 17:56:16
Idézetet írta: ALIEN date=1271001223\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"1334\" data-ipsquote-contentclass=\"forums_Topic

new be;
public OnGameModeInit()
{
   be = CreatePickup(pickupid, 2, x, y, z);
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
   if(pickupid == be)
  {
  SendClientMessage(playerid, 0xFF3366FF, \"Belépés: /enter\");
  }
return 1;
}
public OnPlayerCommandText( playerid, cmdtext[ ] )
{
if(!strcmp(\"/enter\", cmdtext, true) )
{
SetPlayerPos(playerid,x,y,z);
       return 1;
}
return 0;
}

 
És így meg kell csinálni a kimenetélnél is.
 
Ugyan ezt mondtam,de jónagy hülye vagy ha interiorba akar menni akk nem elég a SetPlayerPos...,mert akk csak a semmibol fog zuhanni,kell a SetPlayerInterior(playerid,InteriorID); Na pacsi.
Szerk.:
 

DE az akkor azért nem jó mert akkor pl a város másik végébol beirja h enter és akkor is oda rakja be nem?
valami ilyesmi lehet h ifplayerpos x y z lehet h nincs ilyen de érted mit akarok kihozni belole? :D
 
[/quote]
PlayerToPoint.
Cím: Ha a karakter...
Írta: ALIEN - 2010. április 11. - 17:57:26
Idézetet írta: Hell date=1271001376\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"1334\" data-ipsquote-contentclass=\"forums_Topic


 
new be;
public OnGameModeInit()
{
   be = CreatePickup(pickupid, 2, x, y, z);
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
   if(pickupid == be)
  {
  SendClientMessage(playerid, 0xFF3366FF, \"Belépés: /enter\");
  }
return 1;
}
public OnPlayerCommandText( playerid, cmdtext[ ] )
{
if(!strcmp(\"/enter\", cmdtext, true) )
{
SetPlayerPos(playerid,x,y,z);
       return 1;
}
return 0;
}

 
És így meg kell csinálni a kimenetélnél is.
 
Ugyan ezt mondtam,de jónagy hülye vagy ha interiorba akar menni akk nem elég a SetPlayerPos...,mert akk csak a semmibol fog zuhanni,kell a SetPlayerInterior(playerid,InteriorID); Na pacsi.
 
[/quote]
Oh bocs elfelejtettem hogy intibe kell. Amúgy meg nem láttam hogy te is írtál.
Bocs javítom.
Cím: Ha a karakter...
Írta: Zsoma - 2010. április 11. - 17:58:23
Idézetet írta: ALIEN date=1271001223\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"1334\" data-ipsquote-contentclass=\"forums_Topic

new be;
public OnGameModeInit()
{
    be = CreatePickup(pickupid, 2, x, y, z);
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
    if(pickupid == be)
   {
   SendClientMessage(playerid, 0xFF3366FF, \"Belépés: /enter\");
   }
return 1;
}
public OnPlayerCommandText( playerid, cmdtext[ ] )
{
if(!strcmp(\"/enter\", cmdtext, true) )
{
SetPlayerPos(playerid,x,y,z);
        return 1;
}
return 0;
}

 
És így meg kell csinálni a kimenetélnél is.
 
Nagyon köszönöm, mindjárt mengézem....
Cím: Ha a karakter...
Írta: Depi - 2010. április 11. - 18:01:47
Idézetet írta: Zsoma date=1271001503\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"1334\" data-ipsquote-contentclass=\"forums_Topic


 
new be;
public OnGameModeInit()
{
    be = CreatePickup(pickupid, 2, x, y, z);
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
    if(pickupid == be)
   {
   SendClientMessage(playerid, 0xFF3366FF, \"Belépés: /enter\");
   }
return 1;
}
public OnPlayerCommandText( playerid, cmdtext[ ] )
{
if(!strcmp(\"/enter\", cmdtext, true) )
{
SetPlayerPos(playerid,x,y,z);
        return 1;
}
return 0;
}

 
És így meg kell csinálni a kimenetélnél is.
 
Nagyon köszönöm, mindjárt mengézem....
 
[/quote]
Ha otthon leszek,leíróm neked h csak a pickup közelébol tudja beírni  :D Mármint a PlayerToPoint-ot  :D
Cím: Ha a karakter...
Írta: maark - 2010. április 11. - 18:14:00
#include <a_samp>
new be;
new bool:in[MAX_PLAYERS];
public OnGameModeInit()
{
    be = CreatePickup(pickupid, 2, 323, 32, 32);
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
      if(pickupid == be)
      {
         SendClientMessage(playerid, 0xFF3366FF, \"Belépés: /enter\");
         in[playerid] = true;
      }
      else
      {
          in[playerid] = false;
}
return 1;
}
public OnPlayerCommandText( playerid, cmdtext[ ] )
{
if(!strcmp(\"/enter\", cmdtext, true) )
{
        if (in[playerid] == false) return SendClientMessage(playerid,0, \"nem vagy az ajtónál\");
   SetPlayerPos(playerid,x,y,z);
   SetPlayerInterior(playerid, intid);
        return 1;
}
return 0;
}
public OnPlayerSpawn(playerid)
{
in[playerid] = false;
return 1;
}

 
Nem biztos hogy jó de mazért megpróbáltam :P
Cím: Ha a karakter...
Írta: Zsoma - 2010. április 11. - 18:16:12
Hell rendben, várom... :) :D
Cím: Ha a karakter...
Írta: maark - 2010. április 11. - 18:26:12
am meg IsPlayerRangeOfPoint-al vagy Areassal is megtudnád csinálni
Cím: Ha a karakter...
Írta: kurta999 - 2010. április 11. - 18:39:51
Nem kell ahhoz változó...
Cím: Ha a karakter...
Írta: Epsilon - 2010. április 11. - 18:47:56
http://users.atw.hu/hun-sa-mp-forum/index.php?topic=3954.0
Minden pickupra létrehozol még egy láthatatlan checkpointot is és az /enter (vagy akár az /exitnél is) parancsnál feltételt állítasz fel, hogy csak kakor tegye be ha a láthatatlan checkpointban van azaz a pickupnál.
Cím: Ha a karakter...
Írta: Zsoma - 2010. április 11. - 19:01:31
hú, ez már bonyi nekem...
azért köszi Epsilon.
Megvárom Hell válaszát!
DE tényleg köszi ::|
Cím: Ha a karakter...
Írta: Zsoma - 2010. április 11. - 21:16:11
8 ora elmult hell  :D ;D ;D ;) ;)
Cím: Ha a karakter...
Írta: Vampesz - 2010. április 11. - 23:37:00
Idézetet írta: ALIEN date=1271001223\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"1334\" data-ipsquote-contentclass=\"forums_Topic

new be;
public OnGameModeInit()
{
   be = CreatePickup(pickupid, 2, x, y, z);
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
   if(pickupid == be)
  {
  SendClientMessage(playerid, 0xFF3366FF, \"Belépés: /enter\");
  }
return 1;
}
public OnPlayerCommandText( playerid, cmdtext[ ] )
{
if(!strcmp(\"/enter\", cmdtext, true) )
{
SetPlayerInterior(playerid,InteriorID);
       return 1;
}
return 0;
}

 
És így meg kell csinálni a kimenetélnél is.
 
ALIEN Egyre jobb...-.-\" ez meg csak interiort változtat de pos-t nem...-.-\" most is a semmibol fog zuhanni!

Zsoma Nyugi sztem holnapra meglesz :) Lehet, h a liga feladatot csinálja :)
Cím: Ha a karakter...
Írta: Zsoma - 2010. április 12. - 07:09:19
okés köszi...
olvastam a ligáról.
a gyoztes mit kap? :) :D
Cím: Ha a karakter...
Írta: Stray - 2010. április 12. - 16:08:02
Semmit..
Na de szerintem leírom én neked..
 

OnPlayerCommandText(playerid, cmdtext[])
{
  if(!strcmp(\"/enter\", cmdtext, true))
  {
   if(IsPlayerInRangeOfPoint(playerid, hatótáv, x koordi, y koordi, z koordi)) //Ahol lennie kell
   {
     SetPlayerPos(playerid, X, Y, Z); // Megváltoztatja a pozicioját
     SetPlayerInterior(playerid, interior); // Beállítja a játékos interiorját
     return 1;
   }
  }
}

 
Remélem ebböl megérted
Edit: kicsit átjavítottam  ;)
Cím: Ha a karakter...
Írta: Zsoma - 2010. április 12. - 16:13:51
csak ennyi?
:D
Cím: Ha a karakter...
Írta: jana4 - 2010. április 12. - 16:27:45
igen  ;) ha kell még valami írj nekünk
Cím: Ha a karakter...
Írta: Zsoma - 2010. április 12. - 16:31:50
Hú hát nem is tudom, hogyan köszönjem meg, tudom ez nektek semmiség, de ez engem most feldobott..
egy warningot ir:
 
public OnPlayerCommandText(playerid, cmdtext[])
{
   if(strcmp(cmdtext, \"/enter\", true) == 0){
if(IsPlayerInRangeOfPoint(playerid, 7.0,1836.2031,-1682.4124,13.3578)) //Ahol lennie kell
       {
            SetPlayerPos(playerid, 384.808624,173.804992,1008.382812); // Megváltoztatja a pozicioját
            SetPlayerInterior(playerid, 3); // Beállítja a játékos interiorját
            return 1;
   }
   }
return 0;
}

 
ez amit irtál és eztirjaki:
 
C:\\Users\\Zsombi\\Desktop\\[HUN]NeoRPG\\gamemodes\\Neo.pwn(269) : warning 217: loose indentation
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase
 
1 Warning.
Cím: Ha a karakter...
Írta: Stray - 2010. április 12. - 16:51:43
Huhh vagy a mode eljére \"pragma tabsize 0\" vagy rendbe rakod a \"}\" jeleket hogy ne össze-vissza legyenek.. :D
pl
 

{
{
  {
  }
}
}
Cím: Ha a karakter...
Írta: Zsoma - 2010. április 12. - 17:08:03
Muködik köszönöm szépen!!! ;D :D
DE azt a beigért dialogos boltscriptet is várom még :D ;)
Cím: Ha a karakter...
Írta: SnicK - 2010. április 12. - 19:07:33

public OnPlayerCommandText(playerid, cmdtext[])
{
   if(strcmp(cmdtext, \"/enter\", true) == 0){
   {
if(IsPlayerInRangeOfPoint(playerid, 7.0,1836.2031,-1682.4124,13.3578)) //Ahol lennie kell
       {
            SetPlayerPos(playerid, 384.808624,173.804992,1008.382812); // Megváltoztatja a pozicioját
            SetPlayerInterior(playerid, 3); // Beállítja a játékos interiorját
            return 1;
}
return 0;
}

 
Ez szerintem inkább így helyes.
Cím: Ha a karakter...
Írta: krisk - 2010. április 24. - 06:49:50
Idézetet írta: SnicK date=1271092053\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"1334\" data-ipsquote-contentclass=\"forums_Topic


public OnPlayerCommandText(playerid, cmdtext[])
{
   if(strcmp(cmdtext, \"/enter\", true) == 0){
   {
if(IsPlayerInRangeOfPoint(playerid, 7.0,1836.2031,-1682.4124,13.3578)) //Ahol lennie kell
       {
            SetPlayerPos(playerid, 384.808624,173.804992,1008.382812); // Megváltoztatja a pozicioját
            SetPlayerInterior(playerid, 3); // Beállítja a játékos interiorját
            return 1;
}
return 0;
}

 
Ez szerintem inkább így helyes.
 
Igazad van,. de ezzel nem fog több pickupba is belemenni, csak egybe :)
 

public OnPlayerCommandText(playerid, cmdtext[])
{
   if(strcmp(cmdtext, \"/enter\", true) == 0){
   {
if(IsPlayerInRangeOfPoint(playerid, 7.0,1836.2031,-1682.4124,13.3578)) /CBA
       {
            SetPlayerPos(playerid, 384.808624,173.804992,1008.382812); // Megváltoztatja a pozicioját
            SetPlayerInterior(playerid, 3); // Beállítja a játékos interiorját
            return 1;
} else if if(IsPlayerInRangeOfPoint(playerid, 7.0,600.2031,-1682.4124,13.3578)) // TESCO
            SetPlayerPos(playerid, 384.808624,173.804992,1008.382812); // Megváltoztatja a pozicioját
            SetPlayerInterior(playerid, 3); // Beállítja a játékos interiorját
            return 1;
} else if if(IsPlayerInRangeOfPoint(playerid, 7.0,800.2031,-1682.4124,13.3578)) // ALDI (és így lehet folytatni amíg akarod)
            SetPlayerPos(playerid, 384.808624,173.804992,1008.382812); // Megváltoztatja a pozicioját
            SetPlayerInterior(playerid, 3); // Beállítja a játékos interiorját
            return 1;
       }
return 0;
}
Cím: Ha a karakter...
Írta: Zsoma - 2010. május 13. - 14:57:52
na ez nemmegy...
megint ezt a részt kell csinálnom, de ez igy nemjo, errorokat kapok, sokat.
simán else-el nemlehet megoldani? :amazed:
Cím: Ha a karakter...
Írta: Zsoma - 2010. május 13. - 15:13:27
így néz ki
 
   if(strcmp(cmdtext, \"/enter\", true) == 0)//vhbe
{
if(IsPlayerInRangeOfPoint(playerid, 1.0, 1480.9397,-1771.5724,18.7958))
   {
   SetPlayerPos(playerid,384.808624,173.804992,1008.382812);
   SetPlayerInterior(playerid,3);
}
return 1;
}else if(IsPlayerInRangeOfPoint(playerid, 1.0, 1554.9406,-1675.6411,16.1953))
   SetPlayerPos(playerid,246.783996,63.900199,1003.640625);
    SetPlayerInterior(playerid,6);
}
return 1;
}

 
és ezeket kapom:
 
C:\\Users\\Zsombi\\Desktop\\Neo City\\gamemodes\\rpg.pwn(907) : warning 217: loose indentation
C:\\Users\\Zsombi\\Desktop\\Neo City\\gamemodes\\rpg.pwn(908) : warning 209: function \"OnPlayerCommandText\" should return a value
C:\\Users\\Zsombi\\Desktop\\Neo City\\gamemodes\\rpg.pwn(909) : error 010: invalid function or declaration
C:\\Users\\Zsombi\\Desktop\\Neo City\\gamemodes\\rpg.pwn(912) : error 010: invalid function or declaration
C:\\Users\\Zsombi\\Desktop\\Neo City\\gamemodes\\rpg.pwn(914) : error 010: invalid function or declaration
C:\\Users\\Zsombi\\Desktop\\Neo City\\gamemodes\\rpg.pwn(919) : error 010: invalid function or declaration
C:\\Users\\Zsombi\\Desktop\\Neo City\\gamemodes\\rpg.pwn(921) : error 010: invalid function or declaration
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase
 
5 Errors.

 
a 921es sor azmeg már a return 0 az onplayercommandtextnél. más nincs ott. már . lécci segits  :-X
Cím: Ha a karakter...
Írta: ZeRo - 2010. május 13. - 15:20:57
Rossz helyen térsz vissza. A return 1 kifejezés ne a blokkon kívül, hanem belül legyen.
 

if(strcmp(cmdtext, \"/enter\", true) == 0)//vhbe
{
if(IsPlayerInRangeOfPoint(playerid, 1.0, 1480.9397,-1771.5724,18.7958))
   {
   SetPlayerPos(playerid,384.808624,173.804992,1008.382812);
   SetPlayerInterior(playerid,3);
            return 1;
}
}else if(IsPlayerInRangeOfPoint(playerid, 1.0, 1554.9406,-1675.6411,16.1953))
   SetPlayerPos(playerid,246.783996,63.900199,1003.640625);
    SetPlayerInterior(playerid,6);
        return 1;
}
}
Cím: Ha a karakter...
Írta: Zsoma - 2010. május 13. - 15:27:06
:dodge: ugyanazt kapom szinte:
 
C:\\Users\\Zsombi\\Desktop\\Neo City\\gamemodes\\rpg.pwn(904) : warning 217: loose indentation
C:\\Users\\Zsombi\\Desktop\\Neo City\\gamemodes\\rpg.pwn(909) : warning 217: loose indentation
C:\\Users\\Zsombi\\Desktop\\Neo City\\gamemodes\\rpg.pwn(910) : warning 217: loose indentation
C:\\Users\\Zsombi\\Desktop\\Neo City\\gamemodes\\rpg.pwn(912) : error 054: unmatched closing brace (\"}\")
C:\\Users\\Zsombi\\Desktop\\Neo City\\gamemodes\\rpg.pwn(914) : error 010: invalid function or declaration
C:\\Users\\Zsombi\\Desktop\\Neo City\\gamemodes\\rpg.pwn(916) : error 010: invalid function or declaration
C:\\Users\\Zsombi\\Desktop\\Neo City\\gamemodes\\rpg.pwn(921) : error 010: invalid function or declaration
C:\\Users\\Zsombi\\Desktop\\Neo City\\gamemodes\\rpg.pwn(923) : error 010: invalid function or declaration
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase
 
5 Errors.
Cím: Ha a karakter...
Írta: Csabesz - 2010. május 13. - 15:29:19
Csoda, hogy nem venni észre a hibát ?   ::|
Hát átláthatatlan....
De tessék, kijavítottam.:
 

if(strcmp(cmdtext, \"/enter\", true) == 0)//vhbe
{
   if(IsPlayerInRangeOfPoint(playerid, 1.0, 1480.9397,-1771.5724,18.7958))
   {
       SetPlayerPos(playerid,384.808624,173.804992,1008.382812);
       SetPlayerInterior(playerid,3);
   }
   else if(IsPlayerInRangeOfPoint(playerid, 1.0, 1554.9406,-1675.6411,16.1953))
   {
       SetPlayerPos(playerid,246.783996,63.900199,1003.640625);
       SetPlayerInterior(playerid,6);
   }
   return 1;
}
Cím: Ha a karakter...
Írta: Zsoma - 2010. május 13. - 15:38:12
Nagyon szépen köszi Csabesz  ;) :)
Szerk.: bajvan xD /enter-es parnacsok mennek, de az /exitesek nem.. vmit bezártam?
 
   if(strcmp(cmdtext, \"/enter\", true) == 0)//vhbe
{
      if(IsPlayerInRangeOfPoint(playerid, 1.0, 1480.9397,-1771.5724,18.7958))
      {
          SetPlayerPos(playerid,384.808624,173.804992,1008.382812);
          SetPlayerInterior(playerid,3);
      }
      else if(IsPlayerInRangeOfPoint(playerid, 1.0, 1554.9406,-1675.6411,16.1953))//lspdbe
      {
             SetPlayerPos(playerid,246.783996,63.900199,1003.640625);
          SetPlayerInterior(playerid,6);
      }
      else if(IsPlayerInRangeOfPoint(playerid, 1.0, 1352.3049,-1758.8123,13.5078))//bolt1be
      {
             SetPlayerPos(playerid,6.091179,-29.271898,1003.549438);
          SetPlayerInterior(playerid,10);
      }
      return 1;
}
if(strcmp(cmdtext, \"/exit\", true) == 0)//vhki
{
    if(IsPlayerInRangeOfPoint(playerid, 0.1,390.0667,173.7664,1008.3828))
{
        SetPlayerPos(playerid,1480.9397,-1771.5724,18.7958);
   SetPlayerInterior(playerid,0);
}
else if(IsPlayerInRangeOfPoint(playerid,0.1,246.7923,62.9487,1003.6406))//lspdki
{
    SetPlayerPos(playerid,1554.9406,-1675.6411,16.1953);
    SetPlayerInterior(playerid,0);
}
return 1;
}
return 0;
}

 
szerk.: rájöttemmiabaja: nem 0.1 hanem 1.0 xDDDDDD
bocsi..