Nazwa serwera IP serwera Sloty
•••PolskiPartyServer™[PPS]®24/7••• @LiveServer.pl graj.server-pps.com:7777 500 Wejdź
Mumble 1.2 server-pps.com 100 Więcej

Problem z teleportacja

Moderator: Mod-Team

Problem z teleportacja

Postprzez Alt3Rn4TivE » 4 gru 2013, o 20:18

Mam tu taki kodzik:
Kod: Zaznacz cały
    #include <a_samp>


    enum DataTele
    {
       Float:PozycjaX, Float:PozycjaY, Float:PozycjaZ,
       Nazwa[43]
    };
    new const Teleporty[7][DataTele] =   //ilość aren tenhp
    {

       {963.418762,2108.292480,1011.030273, "•• Rzeźnia™ ••"},
       {833.269775,10.588416,1004.179687, "•• Bank™ •• "},
       {2169.461181,1618.798339,999.976562, "•• Catigula™ •• "},
       {384.808624,173.804992,1008.382812, "•• Komisariat™ •• "},
       {1412.639892,-1.787510,1000.924377, "•• WH1™ •• "},
       {1302.519897,-1.787510,1001.028259, "•• WH2™ •• "},
       {288.745971,169.350997,1007.171875, "•• Komisariat2™ •• "}
       
    };

    public OnPlayerCommandText(playerid, cmdtext[])
    {
       if(!strcmp("/tenhp", cmdtext, true))
       {
           new string[1024];
             for(new i; i != sizeof Teleporty; i++)
             {
                 format(string, sizeof(string), "%s%s\n", string, Teleporty[i][Nazwa]);
          }
             return ShowPlayerDialog(playerid, 21113, DIALOG_STYLE_LIST, "Wybierz Arene TENHP:", string, "Wybierz", "Anuluj");
       }
       return 0;
    }
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
       if(dialogid == 21113 && response)
       {
           SetPlayerPos(playerid, Teleporty[listitem][PozycjaX], Teleporty[listitem][PozycjaY], Teleporty[listitem][PozycjaZ]);
           return 1;
       }
       return 0;
    }


Noi problem w tym że nie teleportuje mnie na te interiory co chce:
http://weedarr.wikidot.com/interior

Jak temu zaradzić ?
Konto Usuniete ;)
Avatar użytkownika
Alt3Rn4TivE
User
 
Posty: 46
Dołączył(a): 3 kwi 2013, o 16:51
Polubionych : 1 raz
Otrzymał polubień: 1 raz

Re: Problem z teleportacja

Postprzez adam. » 4 gru 2013, o 20:35

Kod: Zaznacz cały
    #include <a_samp>


    enum DataTele
    {
       Float:PozycjaX, Float:PozycjaY, Float:PozycjaZ, Float:Internior
       Nazwa[43]
    };
    new const Teleporty[7][DataTele] =   //ilość aren tenhp
    {

       {963.418762,2108.292480,1011.030273, "•• Rzeźnia™ ••"},
       {833.269775,10.588416,1004.179687, "•• Bank™ •• "},
       {2169.461181,1618.798339,999.976562, "•• Catigula™ •• "},
       {384.808624,173.804992,1008.382812, "•• Komisariat™ •• "},
       {1412.639892,-1.787510,1000.924377, "•• WH1™ •• "},
       {1302.519897,-1.787510,1001.028259, "•• WH2™ •• "},
       {288.745971,169.350997,1007.171875, "•• Komisariat2™ •• "}
       
    };

    public OnPlayerCommandText(playerid, cmdtext[])
    {
       if(!strcmp("/tenhp", cmdtext, true))
       {
           new string[1024];
             for(new i; i != sizeof Teleporty; i++)
             {
                 format(string, sizeof(string), "%s%s\n", string, Teleporty[i][Nazwa]);
          }
             return ShowPlayerDialog(playerid, 21113, DIALOG_STYLE_LIST, "Wybierz Arene TENHP:", string, "Wybierz", "Anuluj");
       }
       return 0;
    }
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
       if(dialogid == 21113 && response)
       {
           SetPlayerPos(playerid, Teleporty[listitem][PozycjaX], Teleporty[listitem][PozycjaY], Teleporty[listitem][PozycjaZ]);
           SetPlayerInternior(playerid, Teleporty[listitem][Interior]);
           return 1;
       }
       return 0;
    }



Teraz tutaj:
Kod: Zaznacz cały
    new const Teleporty[7][DataTele] =   //ilość aren tenhp
    {

       {963.418762,2108.292480,1011.030273, "•• Rzeźnia™ ••"},
       {833.269775,10.588416,1004.179687, "•• Bank™ •• "},
       {2169.461181,1618.798339,999.976562, "•• Catigula™ •• "},
       {384.808624,173.804992,1008.382812, "•• Komisariat™ •• "},
       {1412.639892,-1.787510,1000.924377, "•• WH1™ •• "},
       {1302.519897,-1.787510,1001.028259, "•• WH2™ •• "},
       {288.745971,169.350997,1007.171875, "•• Komisariat2™ •• "}
       
    };


Dodajesz id interioru, po pozycji gracza.
Czyli.
Z:
Kod: Zaznacz cały
{963.418762,2108.292480,1011.030273, "•• Rzeźnia™ ••"},

Na: {963.418762,2108.292480,1011.030273, 1, "•• Rzeźnia™ ••"},
Avatar użytkownika
adam.
User
 
Posty: 502
Dołączył(a): 6 lip 2011, o 08:51
Polubionych : 0 raz
Otrzymał polubień: 141 razy

Re: Problem z teleportacja

Postprzez Alt3Rn4TivE » 4 gru 2013, o 20:57

Tak do wszystkich ?

-- 2013-12-04, 20:59 --

Tak do wszystkich ?

-- 2013-12-04, 21:09 --

A jak zrobić że gracz po wpisaniu /tenhp będzie dostawał de 999 amo oraz zostaje mu 10hp i po zginięciu będzie się nadal spawnil się na arenie i jak zmieni arenę żeby było tak samo dopuki nie wpisze /tenhp i wybierze Opuść ?

-- 2013-12-05, 16:28 --

No dałem tak jak pokazałeś:

Kod: Zaznacz cały
    #include <a_samp>


    enum DataTele
    {
       Float:PozycjaX, Float:PozycjaY, Float:PozycjaZ,
       Nazwa[43]
    };
    new const Teleporty[7][DataTele] =   //ilość aren TENHP
    {

       {963.418762,2108.292480,1011.030273,1, "•• Rzeźnia™ ••"},
       {833.269775,10.588416,1004.179687,1, "•• Bank™ •• "},
       {2169.461181,1618.798339,999.976562,1, "•• Catigula™ •• "},
       {384.808624,173.804992,1008.382812,1, "•• Komisariat™ •• "},
       {1412.639892,-1.787510,1000.924377,1, "•• WH1™ •• "},
       {1302.519897,-1.787510,1001.028259,1, "•• WH2™ •• "},
       {288.745971,169.350997,1007.171875,1, "•• Komisariat2™ •• "}
       
    };

    public OnPlayerCommandText(playerid, cmdtext[])
    {
       if(!strcmp("/tenhp", cmdtext, true))
       {
           new string[1024];
             for(new i; i != sizeof Teleporty; i++)
             {
                 format(string, sizeof(string), "%s%s\n", string, Teleporty[i][Nazwa]);
          }
             return ShowPlayerDialog(playerid, 21113, DIALOG_STYLE_LIST, "Wybierz Arene TENHP:", string, "Wybierz", "Anuluj");
       }
       return 0;
    }
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
       if(dialogid == 21113 && response)
       {
           SetPlayerPos(playerid, Teleporty[listitem][PozycjaX], Teleporty[listitem][PozycjaY], Teleporty[listitem][PozycjaZ]);
           return 1;
       }
       return 0;
    }


Ale mam errory przy kompilowaniu:
Kod: Zaznacz cały
G:\PawN\pawno\ProjectsPendrive\tenhp.pwn(12) : warning 227: more initiallers than enum fields
G:\PawN\pawno\ProjectsPendrive\tenhp.pwn(12) : error 018: initialization data exceeds declared size
G:\PawN\pawno\ProjectsPendrive\tenhp.pwn(27) : warning 217: loose indentation
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase


1 Error.


Jak to naprawić ?
Konto Usuniete ;)
Avatar użytkownika
Alt3Rn4TivE
User
 
Posty: 46
Dołączył(a): 3 kwi 2013, o 16:51
Polubionych : 1 raz
Otrzymał polubień: 1 raz

Re: Problem z teleportacja

Postprzez adam. » 5 gru 2013, o 17:05

Czytaj cały post..
Kod: Zaznacz cały
#include <a_samp>


enum DataTele
{
   Float:PozycjaX, Float:PozycjaY, Float:PozycjaZ, Float:Interior,
   Nazwa[43]
};
new const Teleporty[7][DataTele] =   //ilość aren TENHP
{

   {963.418762,2108.292480,1011.030273, 1, "•• Rzeźnia™ ••"},
   {833.269775,10.588416,1004.179687, 2, "•• Bank™ •• "},
   {2169.461181,1618.798339,999.976562, 3, "•• Catigula™ •• "},
   {384.808624,173.804992,1008.382812, 4, "•• Komisariat™ •• "},
   {1412.639892,-1.787510,1000.924377, 5, "•• WH1™ •• "},
   {1302.519897,-1.787510,1001.028259, 6, "•• WH2™ •• "},
   {288.745971,169.350997,1007.171875, 7, "•• Komisariat2™ •• "}

};

public OnPlayerCommandText(playerid, cmdtext[])
{
   if(!strcmp("/tenhp", cmdtext, true))
   {
      new string[1024];
      for(new i; i != sizeof Teleporty; i++)
      {
         format(string, sizeof(string), "%s%s\n", string, Teleporty[i][Nazwa]);
      }
      return ShowPlayerDialog(playerid, 21113, DIALOG_STYLE_LIST, "Wybierz Arene TENHP:", string, "Wybierz", "Anuluj");
   }
   return 0;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
   if(dialogid == 21113 && response)
   {
      SetPlayerPos(playerid, Teleporty[listitem][PozycjaX], Teleporty[listitem][PozycjaY], Teleporty[listitem][PozycjaZ]);
      SetPlayerInterior(playerid, Teleporty[listitem][Interior]);
      return 1;
   }
   return 0;
}

Interior ustaw, a nie wszędzie 1.
Avatar użytkownika
adam.
User
 
Posty: 502
Dołączył(a): 6 lip 2011, o 08:51
Polubionych : 0 raz
Otrzymał polubień: 141 razy

Re: Problem z teleportacja

Postprzez CEDZIOR » 8 gru 2013, o 11:52

Alt3Rn4TivE napisał(a):
-- 2013-12-04, 21:09 --

A jak zrobić że gracz po wpisaniu /tenhp będzie dostawał de 999 amo oraz zostaje mu 10hp i po zginięciu będzie się nadal spawnil się na arenie i jak zmieni arenę żeby było tak samo dopuki nie wpisze /tenhp i wybierze Opuść ?



Robisz np:
Kod: Zaznacz cały
public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/arena", cmdtext, true, 10) == 0)
    {
        SetPlayerPos(playerid, 1649.1993, 703.0113, 11.8493);
        GameTextForPlayer(playerid,"Witamy na ~r~/arena",2500,3);
        ResetPlayerWeapons(playerid);
        SetPlayerArmour(playerid,100);
   SetPlayerHealth(playerid,100);
   GivePlayerWeapon(playerid, 24, 999);
   GivePlayerWeapon(playerid, 25, 999);
PAPA ŻEGNAJCIE!
Avatar użytkownika
CEDZIOR
User
 
Posty: 2745
Dołączył(a): 4 cze 2010, o 20:59
Lokalizacja: zlokalizowana
Polubionych : 159 razy
Otrzymał polubień: 65 razy


Powrót do Pomoc

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 gości

cron