Jump to content

Warp (i s autem)


Guest Justin Bieber

Recommended Posts

Obvykle se warp dělá takto:

 

Do příkazu např.

SetPlayerPos(playerid, X, Y, Z);

 


Zjištění Souřadnic

AddPlayerClass(248,2082.9631,2426.3242,10.8203,3.4093,0,0,0,0,0,0);

X

Y

Z


 

Ale my chceme aby se hráč warpnul i s vozidlem (pokud ho má)

 

OnPlayerCommandText

		if(strcmp(cmdtext, "/show", true) == 0) // Příkaz
{
	 if(IsPlayerConnected(playerid)) // pokud je hráč připojen
  		 {
   	 new car = GetPlayerVehicleID(playerid); // vytvoří proměnu pro hráčovo auto

     if(!IsPlayerInAnyVehicle(playerid)) // pokud není v žádném autě stane se...
		 {
   	 SetPlayerPos(playerid,-1978.8470,262.2692,35.1719); // SetPlayerPos
   	 SendClientMessage(playerid, BARVA, "Teleportovan na Tuning Show."); // zpráva
   	 SetPlayerInterior(playerid, 0); // pro jistotu, Nastaví interier na 0.
   	 }else{ // nebo, pokud je v autě stane se
   	 SetVehiclePos(car,-1978.8470,262.2692,35.1719); // Nastaví-Pozici-Autu
   	 SendClientMessage(playerid, ORANZOVA, "Teleportovan na Tuning Show."); // zpráva s autem
   	 SetPlayerInterior(playerid, 0);
		 }
     	 }
		 return 1;
	}

 

Portnutí postavy

SetPlayerPos

 

Portnutí vozidla

SetVecihlePos

 


Wiki:

http://wiki.sa-mp.com/wiki/SetPlayerPos

Link to comment
Share on other sites

A nemusi tam byt jeste v tom warpu PutPlayerInVehicle????Nevim ale to tak mam ve vsech warpech jako ty, akorat jeste s PutPlayerInVehicle.

Ale nevim jestly musi...jen se ptam. :)

Link to comment
Share on other sites

SetVecihlePos funguje na principu SetPlayerPos akorat to nastavi pozici autu, s tim PutPlayerInVecihle by si musel zvlast nastavit hracovy pozici, zvlast autu a pak to spojit, takhle je to proste jednodusi :d

Link to comment
Share on other sites

:d Koukej takto to mam ja:

 

if(IsPlayerInVehicle(playerid,car))
   {
       SetVehiclePos(car,sX,sY,sZ);
       PutPlayerInVehicle(playerid,car,0);
       SendClientMessageToAll(COLOR_ZLUTA,tms);
}
   if(!IsPlayerInVehicle(playerid,car))
{
       SetPlayerPos(playerid,sX,sY,sZ);
       SendClientMessageToAll(COLOR_ZLUTA,tms);
   }

 

 

Takze to PutPlayerInVehicle tam byt nemusi??? :)

 

Diiky moc...dobry TUT, pomohl my :d

Link to comment
Share on other sites

já mam v modu:

stock Warp(playerid, Float:X, Float:Y, Float:Z, interior){
if(IsPlayerConnected(playerid)){
if(IsPlayerInAnyVehicle(playerid)){
SetPlayerInterior(playerid, interior);
LinkVehicleToInterior(GetPlayerVehicleID(playerid), interior);
SetVehiclePos(GetPlayerVehicleID(playerid), X,Y,Z);
}else{
SetPlayerInterior(playerid, interior);
SetPlayerPos(playerid, X,Y,Z);
}
}
}

a pak jen Warp(playerid, X,Y,Z, interior); a je tam třeba i z autem :d (toto sem psal z hlavy sem línej otevírat pawno)

Link to comment
Share on other sites

Dobré...já mam jen toto:

 

stock WarpPlayerL(playerid,Float:x,Float:y,Float:z,interier,Float:uhel)
{
SetPlayerPos(playerid,x,y,z);
SetPlayerInterior(playerid,interier);
if(uhel > 359 || uhel < 0) uhel = 0;
SetPlayerFacingAngle(playerid,uhel);
SetCameraBehindPlayer(playerid);
}

 

asi si to jeste poupravim podle teba... :-D

Link to comment
Share on other sites

OnPlayerCommandText

if(strcmp(cmdtext, "/show", true) == 0) // Příkaz
{
     if(IsPlayerConnected(playerid)) // pokud je hráč připojen
     {
           new car = GetPlayerVehicleID(playerid); // vytvoří proměnu pro hráčovo auto

           if(!IsPlayerInAnyVehicle(playerid)) // pokud není v žádném autě stane se...
           {
                 SetPlayerPos(playerid,-1978.8470,262.2692,35.1719); // SetPlayerPos
                 SendClientMessage(playerid, BARVA, "Teleportovan na Tuning Show."); // zpráva
                 SetPlayerInterior(playerid, 0); // pro jistotu, Nastaví interier na 0.
           }else{ // nebo, pokud je v autě stane se
                 SetVehiclePos(car,-1978.8470,262.2692,35.1719); // Nastaví-Pozici-Autu
                 SendClientMessage(playerid, ORANZOVA, "Teleportovan na Tuning Show."); // zpráva s autem
                 SetPlayerInterior(playerid, 0);
           }
     }
     return 1;
}

Zbytečně zabírá řádky... já bych to udělal takto

if(strcmp(cmdtext, "/show", true) == 0) // Příkaz
{
     if(IsPlayerConnected(playerid)) // pokud je hráč připojen
     {
           new car = GetPlayerVehicleID(playerid); // vytvoří proměnu pro hráčovo auto
           if(!IsPlayerInAnyVehicle(playerid))
           {
                 SetPlayerPos(playerid,-1978.8470,262.2692,35.1719);
           }else{
                 SetVehiclePos(car,-1978.8470,262.2692,35.1719);
           }
           SendClientMessage(playerid, ORANZOVA, "Teleportovan na Tuning Show."); // zpráva s autem
           SetPlayerInterior(playerid, 0);
     }
     return 1;
}

 

Ale jinak dobrý...

Link to comment
Share on other sites

 

OnPlayerCommandText

if(strcmp(cmdtext, "/show", true) == 0) // Příkaz
{
     if(IsPlayerConnected(playerid)) // pokud je hráč připojen
     {
           new car = GetPlayerVehicleID(playerid); // vytvoří proměnu pro hráčovo auto

           if(!IsPlayerInAnyVehicle(playerid)) // pokud není v žádném autě stane se...
           {
                 SetPlayerPos(playerid,-1978.8470,262.2692,35.1719); // SetPlayerPos
                 SendClientMessage(playerid, BARVA, "Teleportovan na Tuning Show."); // zpráva
                 SetPlayerInterior(playerid, 0); // pro jistotu, Nastaví interier na 0.
           }else{ // nebo, pokud je v autě stane se
                 SetVehiclePos(car,-1978.8470,262.2692,35.1719); // Nastaví-Pozici-Autu
                 SendClientMessage(playerid, ORANZOVA, "Teleportovan na Tuning Show."); // zpráva s autem
                 SetPlayerInterior(playerid, 0);
           }
     }
     return 1;
}

Zbytečně zabírá řádky... já bych to udělal takto

if(strcmp(cmdtext, "/show", true) == 0) // Příkaz
{
     if(IsPlayerConnected(playerid)) // pokud je hráč připojen
     {
           new car = GetPlayerVehicleID(playerid); // vytvoří proměnu pro hráčovo auto
           if(!IsPlayerInAnyVehicle(playerid))
           {
                 SetPlayerPos(playerid,-1978.8470,262.2692,35.1719);
           }else{
                 SetVehiclePos(car,-1978.8470,262.2692,35.1719);
           }
           SendClientMessage(playerid, ORANZOVA, "Teleportovan na Tuning Show."); // zpráva s autem
           SetPlayerInterior(playerid, 0);
     }
     return 1;
}

a já:

if(strcmp(cmdtext, "/show", true) == 0) // Příkaz
{
     if(IsPlayerConnected(playerid)) // pokud je hráč připojen
     {
           if(!IsPlayerInAnyVehicle(playerid)) SetPlayerPos(playerid,-1978.8470,262.2692,35.1719);
           else SetVehiclePos(GetPlayerVehicleID(playerid),-1978.8470,262.2692,35.1719);
           SendClientMessage(playerid, ORANZOVA, "Teleportovan na Tuning Show."); // zpráva s autem
           SetPlayerInterior(playerid, 0);
     }
     return 1;
}

 

Link to comment
Share on other sites

A vis co umim dokonce i ja ?

if(strcmp(cmdtext, "/show", true) == 0){if(IsPlayerConnected(playerid)){if(!IsPlayerInAnyVehicle(playerid))SetPlayerPos(playerid,-1978.8470,262.2692,35.1719);else SetVehiclePos(GetPlayerVehicleID(playerid),-1978.8470,262.2692,35.1719);SendClientMessage(playerid, ORANZOVA, "Teleportovan na Tuning Show.");SetPlayerInterior(playerid, 0);}return 1;}

Hustý co v jednom řádku. Tamto bylo hlavně pro přehlednost a pro to, aby se do obou nemusela davat stejna funkce ;)

Link to comment
Share on other sites

  • 4 months later...

Mam jednu otazku. Musi tam byt aj if(IsPlayerConnected(playerid)) // pokud je hráč připojen ved ak hrac neni pripojen tak ten prikaz asi nenapise.

Link to comment
Share on other sites

ved nemusi...

IsPlayerConnected sa používa pri publicoch aby to napríklad nedalo health tým ktorý niesu pripojený alebo ako

if(IsPlayerConnected(id)) return SCM(playerid,color,"Hrac neni online");

Link to comment
Share on other sites

Mam jednu otazku. Musi tam byt aj if(IsPlayerConnected(playerid)) // pokud je hráč připojen ved ak hrac neni pripojen tak ten prikaz asi nenapise.

Jistota je jistota :d

Link to comment
Share on other sites

  • 1 month later...

pls kde mam chybu

 

 

 

public OnPlayerCommandText(playerid, cmdtext)

 

if(strcmp(cmdtext,"teleport",true)==0)

{

new vehicleid = GetPlayerVehicleID(playerid);

new State = GetPlayerState(playerid);

if(IsPlayerInAnyVehicle(playerid) && State == PLAYER_STATE_DRIVER)

{

LinkVehicleToInterior(vehicleid,1621.2495,1640.5736,10.8203);

SetPlayerInterior(playerid,29,400);

return SetVehiclePos(vehicleid,1621.2495,1640.5736,10.8203);

}

SetPlayerPos(playerid,1621.2495,1640.5736,10.8203);

SetPlayerInterior(playerid,29,400);

return 1;

}

 

 

 

 

pise mi to 2 erory ze zacatku 7 a to jsem stahl na 2 ale uz nwm co by to mohlo delat

Link to comment
Share on other sites

to jsem daval ale bylo este vice eroru ale ted sem tu tunil a vym kde je chba

 

 

public OnPlayerCommandText(playerid)

 

if(strcmp(cmdtext,"/test", true) == 0) // stuntlv Tu je chyba ale nwm jaka v tomto radku

{

new vehicleid = GetPlayerVehicleID(playerid);

new State = GetPlayerState(playerid);

if(IsPlayerInAnyVehicle(playerid) && State == PLAYER_STATE_DRIVER)

{

LinkVehicleToInterior(vehicleid,1621.2495,1640.5736,10.8203);

SetPlayerInterior(playerid,400);

return SetVehiclePos(vehicleid,1621.2495,1640.5736,10.8203);

}

SetPlayerPos(playerid,1621.2495,1640.5736,10.8203);

SetPlayerInterior(playerid,200);

return 1;

}

 

-- pát 10. zář 2010 16:43:54 --

 

-- pát 10. zář 2010 16:53:32 --

 

na konec jsem to udelal takto aby mi to vube slo

 

 

 

 

public OnPlayerCommandText(playerid,cmdtext[])

{

if(!strcmp(cmdtext,"/stuntlv",true))

{

SetPlayerPos(playerid,1621.2495,1640.5736,10.8203);

return 1;

}

return 0;

Link to comment
Share on other sites

Mam jednu otazku. Musi tam byt aj if(IsPlayerConnected(playerid)) // pokud je hráč připojen ved ak hrac neni pripojen tak ten prikaz asi nenapise.

Jistota je jistota :d

 

 

Tato jistota i zatezuje server :) ne moc, ale prece jen :)

 

 

btw, toto tak chvalite a na muj stock jste nadavali. . ach cim to je :) ale jinak, pekny tutorial

Link to comment
Share on other sites

pls poradte udelal sem si tento port

 

 

public OnPlayerCommandText(playerid,cmdtext[])

{

if(!strcmp(cmdtext,"/stuntlv",true))

{

SetPlayerPos(playerid,1621.2495,1640.5736,10.8203);

return 1;

}

return 0;

 

 

 

 

 

ale ja chci este 1 teleport a jak ho tam mam dat ? kdyz ho dam za to hazi to eror

Link to comment
Share on other sites

if(!strcmp(cmdtext,"/stuntlv",true))
{
SetPlayerPos(playerid,1621.2495,1640.5736,10.8203);
return 1;
}

if(!strcmp(cmdtext,"/stuntls",true))
{
SetPlayerPos(playerid,...);
return 1;
}

Link to comment
Share on other sites

public OnPlayerCommandText(playerid,cmdtext[])

{

if(!strcmp(cmdtext,"/stuntlv",true))

{

SetPlayerPos(playerid,1621.2495,1640.5736,10.8203);

return 1;

}

 

{

if(!strcmp(cmdtext,"/stuntls",true))

{

SetPlayerPos(playerid,1625.2495,1640.5736,10.8203);

return 1;

 

tato to mam a haze mi to eroro snad na to vyresim diky ale

 

 

C:\Users\Jiří\Desktop\rivershell.pwn(653) : error 030: compound statement not closed at the end of file (started at line 645)

Link to comment
Share on other sites

public OnPlayerCommandText(playerid,cmdtext[])

{

if(!strcmp(cmdtext,"/stuntlv",true))

{

SetPlayerPos(playerid,1621.2495,1640.5736,10.8203);

return 1;

}

 

if(!strcmp(cmdtext,"/stuntls",true))

{

SetPlayerPos(playerid,1625.2495,1640.5736,10.8203);

return 1;

}

return 0;

}

 

...

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...