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

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => A témát indította: Lömpi - 2013. október 14. - 19:54:42

Cím: Tömbös Teleport Rendszer
Írta: Lömpi - 2013. október 14. - 19:54:42
Sziasztok.

Ma épp egy ilyen teleport rendszert kerestem itt fórumon a készülõ játékmódomhoz, és mivel nem találtam ilyet vagy ehhez hasonlót itt..


... ezért úgy gondoltam megírok egyet és megosztom veletek. Annyiban különbözik ez pár itt található rendszertõl, hogy


itt csak egy megadott tömbben kell megadni a koordinátákat, és a teleport nevét, és az magától a dialógusba helyezi!


Ha már valaki fel is használná, és mivel hiába kérném, hogy a nevem írja oda nem fogja, legalább egy pluszt dobjatok, ha már mást nem is írtok oda!


Szükséges függvénykönyvtárak: ZCMD


Itt egy kép:





\"sa_mp_001.png\"
 

FIGYELEM AZ ITTENI SCRIPT NEM TARTALMAZZA A KÉPEN TALÁLHATÓ TELEPORT KOORDINÁTÁKAT.


SAJÁT KEZÛLEG KELL MEGÍRNOTOK AMIRE SZÜKSÉGETEK VAN!


Itt Megtaláljátok a Scriptet: ( Lejjebb a példát a teleport hozzáadásához )



 
#include 
#include
#define COLOR_PURPLE 0xC790EEFF
#define DIALOG_TELE 7000
#pragma tabsize 0
enum TP      {
   Float: tX,    Float: tY,    Float: tZ,    Float: tZA,
   Int,    SCMTA[128]};
new Teleportok[][TP] =
{
   { 0.0,0.0,0.0,0.0,0, \"Teleport 1\" }, // Ezt a sort módosítod
   { 0.0,0.0,0.0,0.0,0, \"Teleport 2\"}
};
CMD:t(playerid, params[])
{
new DialogString[1024], rC;
    rC = random(2);
       format( DialogString, 1024 , \"\" );
         switch(rC)
   {
            case 0:
      {
      for( new i; i < sizeof( Teleportok ); i ++ )                 {
            format( DialogString, sizeof( DialogString ), \"%s\\n{F70431}%s\" ,DialogString, Teleportok[ i ][ SCMTA ] );   }
            ShowPlayerDialog( playerid , DIALOG_TELE , DIALOG_STYLE_LIST , \"Teleportok listája\", DialogString , \"Teleport!\" , \"Maradok!\" );
      }   case 1:      {
              for( new i; i < sizeof( Teleportok ); i ++ )                 {
            format( DialogString, sizeof( DialogString ), \"%s\\n{39F704}%s\" ,DialogString, Teleportok[ i ][ SCMTA ] );   }
            ShowPlayerDialog( playerid , DIALOG_TELE , DIALOG_STYLE_LIST , \"Teleportok listája\", DialogString , \"Teleport!\" , \"Maradok!\" );
      }
   }
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
   if(   dialogid == DIALOG_TELE   )     {
if(   response )      {
   new JN[MAX_PLAYER_NAME],
            FSTRING[128];
            GetPlayerName(playerid,JN,sizeof(JN));
           if( GetPlayerState( playerid ) == PLAYER_STATE_DRIVER )      {
               new   idxveh = GetPlayerVehicleID( playerid );
                 SetVehiclePos( idxveh, Teleportok[listitem][tX], Teleportok[listitem][tY], Teleportok[listitem][tZ]);
               SetVehicleZAngle( idxveh, Teleportok[listitem][tZA]);
        }
        else
        {
            SetPlayerPos( playerid,Teleportok[listitem][tX], Teleportok[listitem][tY], Teleportok[listitem][tZ]);
            SetPlayerFacingAngle( playerid, Teleportok[listitem][tZA]);
        }
        format(FSTRING,sizeof(FSTRING), \"[Teleport]: %s elment ide: %s\", JN, Teleportok[listitem][sCMTA]);
        SendClientMessageToAll( COLOR_PURPLE, FSTRING );
       }
   }
return 0;
}

 
Példa a teleport hozzáadásához:
 

{ 0.0,0.0,0.0,0.0,0, \"Teleport 1\" }, <|-- Eredeti sor
Segéd:
{ X POZÍCIÓ,Y POZÍCIÓ,Z POZÍCIÓ,FORDULÁSI SZÖG, INTERIOR, \"Teleport neve\" },
Példa:
{ 1526.0808,-1649.1783,13.0412,180.2365,0,    \"Los Santos\" },
{ 1944.5790,-2252.5217,13.2042,178.1524 ,0,   \"Los Santos Reptér\"},
Cím: Tömbös Teleport Rendszer
Írta: Zsolesszka - 2013. október 14. - 21:28:18
Ez így vicc nem?



                        case 0:
                               {
                               for( new i; i < sizeof( Teleportok ); i ++ )                            {
                           format( DialogString, sizeof( DialogString ), \"%s\\n{F70431}%s\" ,DialogString, Teleportok[ i ][ SCMTA ] );   }
                           ShowPlayerDialog( playerid , DIALOG_TELE , DIALOG_STYLE_LIST , \"Teleportok listája\", DialogString , \"Teleport!\" , \"Maradok!\" );
                               }       case 1:         {
               for( new i; i < sizeof( Teleportok ); i ++ )                            {
                           format( DialogString, sizeof( DialogString ), \"%s\\n{39F704}%s\" ,DialogString, Teleportok[ i ][ SCMTA ] );   }
                           ShowPlayerDialog( playerid , DIALOG_TELE , DIALOG_STYLE_LIST , \"Teleportok listája\", DialogString , \"Teleport!\" , \"Maradok!\" );
                               }

 
 
Csak azért duplán leírni mert a színezés változik véletlenszerûen kettõ szín közt?
 
CMD:t(playerid, params[])
{
new
DialogString[1024],
color[7];
color = (random(2))?(\"F70431\"):(\"39F704\");
for(new i; i < sizeof(Teleportok); i++ )
{
format(DialogString, sizeof DialogString, \"%s\\n{%s}%s\", DialogString, color, Teleportok[sCMTA] );  
}
ShowPlayerDialog(playerid, DIALOG_TELE, DIALOG_STYLE_LIST, \"Teleportok listája\", DialogString, \"Teleport!\", \"Maradok!\");
return 1;
}

 
Edit:
Javítva. :D
Cím: Tömbös Teleport Rendszer
Írta: ZyZu. - 2013. október 14. - 22:03:14
stockot használtam de látom ez is egy jó megoldás.. viszont mySQL adabázisból könyebb a betöltés.. :)
Cím: Tömbös Teleport Rendszer
Írta: Lömpi - 2013. október 15. - 06:01:42

stockot használtam de látom ez is egy jó megoldás.. viszont mySQL adabázisból könyebb a betöltés.. :)
 
[/quote]
Az is egy megoldás. Lehet megcsinálom, ha valakinek szüksége van rá.
Cím: Tömbös Teleport Rendszer
Írta: AnthonyGates - 2013. október 15. - 09:13:21
Fasza lett, felhasználom
Cím: Tömbös Teleport Rendszer
Írta: Lömpi - 2013. október 15. - 15:23:35

f***a lett, felhasználom
 
[/quote]
köszönöm!
Cím: Tömbös Teleport Rendszer
Írta: Zharko - 2013. október 18. - 15:42:55
Jaj ez a dns fiú visszatér :D
Újrakezdésnek jóez :D
Cím: Tömbös Teleport Rendszer
Írta: Lömpi - 2013. október 20. - 10:41:55

Jaj ez a dns fiú visszatér :D
Újrakezdésnek jóez :D
 
[/quote]
puszillak :3