Szerző Téma: [TELEPORT]Catapult  (Megtekintve 2138 alkalommal)

[TELEPORT]Catapult
« Dátum: 2010. Május 23. - 10:38:13 »
0
Hy all készítettem egy catapult telét mely hasznos lehet ha éppen nem tudsz megálni és ktáznod kell magad
Nos:
if(strcmp(cmdtext, \"/catapult\", true) == 0) {
if(IsPlayerInAnyVehicle(playerid)) {
new Float:X;
new Float:Y;
new Float:Z;
new VehicleID;
GetPlayerPos(playerid, X, Y, Z);
VehicleID = GetPlayerVehicleID(playerid);
SetVehiclePos(VehicleID, X, Y, Z + 800.00);
GivePlayerWeapon(playerid,46,1);
} else {
new Float:X;
new Float:Y;
new Float:Z;
GetPlayerPos(playerid, X, Y, Z);
SetPlayerPos(playerid, X, Y, Z + 800.00);
GivePlayerWeapon(playerid,46,1);
Bárhol vagy, beírod /catapult kilo.
By:D@nee
Üdv!
« Utoljára szerkesztve: 2011. November 22. - 19:48:10 írta APC »

Nem elérhető Depi

  • 2259
  • Még mindig TrYp. :)
    • Profil megtekintése
[TELEPORT]Catapult
« Válasz #1 Dátum: 2010. Május 23. - 10:57:36 »
0
1 . Látszik baszol elolvasni bármien szabályzatot...
2 . Ez nem tartozik ebbe a fórum részbe... hisz meg se magyarázól semmit , hogy mi mire jó..
3 . Elkéne olvasni a szabályzatot
4 . Sokkal egyszerubben is meg lehetet volna oldani sztem.
Inkább töröld ezt a témát..

[TELEPORT]Catapult
« Válasz #2 Dátum: 2010. Május 23. - 11:09:37 »
0
Miért kell bele kötnöd mindíg belém??:) :-[ :-[ :-[ ??? ??? ??? ??? ??? :dodge: :dodge: :dodge:

Nem elérhető Depi

  • 2259
  • Még mindig TrYp. :)
    • Profil megtekintése
[TELEPORT]Catapult
« Válasz #3 Dátum: 2010. Május 23. - 11:28:24 »
0
Nem kötekedek de amit leírtál az csak egy parancs,nem egy leírás.. semmit nem magyarázól el hogy mire jó..igy akkor mi értelme van ? + A szabályzatot is meg sérted.

Nem elérhető Lömpi

  • 1257
    • Profil megtekintése
[TELEPORT]Catapult
« Válasz #4 Dátum: 2010. Május 23. - 12:02:41 »
0
1. Nem te írtad :O
2. [*code] [*/code] tag-ek használata  * nélkül
3. Ez mióta leírás?:O
4. Ezt az egészet megehetett volna oldani 4 sorban..
5. Olvasd el a szabályzatot.. az össze forumrészben..

Nem elérhető Csabesz

  • 7827
    • Profil megtekintése
[TELEPORT]Catapult
« Válasz #5 Dátum: 2010. Május 23. - 13:09:28 »
0
Viccelsz ?  :dead:
 

if(strcmp(cmdtext, \"/catapult\", true) == 0)
{
   new Float:X, Float:Y, Float:Z; // Lebegopontos változók ( Pozíció tárolására )
   GetPlayerPos ( playerid, X, Y, Z ); // Pozíció légkérdezése
   if ( !IsPlayerInAnyVehicle ( playerid ) ) return SetPlayerPos ( playerid, X, Y, Z+800 ); // Lekérdezzük hogy a játékos jármuben van-e vagy nincs, ha nincs akkor visszatérünk a játékos magasságának növelésével
   {
       GetVehiclePos ( GetPlayerVehicleID ( playerid ), X, Y, Z ); // Jármu pozíciójának lekérdezése
       SetVehiclePos ( GetPlayerVehicleID ( playerid ), X, Y, Z+800 ); // Ha a játékos jármuben van, akkor a jármu magasságát növeljük
   }
    GivePlayerWeapon ( playerid, 46, 1 ); // Ejtoernyo
   return 1; // Visszatérünk \'Igaz\' értékkel.
}
« Utoljára szerkesztve: 2010. Május 23. - 13:13:42 írta Csabesz »

Nem elérhető krisk

  • 2380
    • Profil megtekintése
[TELEPORT]Catapult
« Válasz #6 Dátum: 2010. Május 23. - 18:20:12 »
0
Az egyetlen jó dolog, amit csináltál a scriptedben az az, hogy változóban tároltad a GetPlayerVehicleID függvényt, aminek köszönhetoen memóriát takarítottál meg. Ám ez sem tökéletes, ugyanis nem intergert csinálunk, hanem tömböt (aka stringet) ezért a bokkok mennyiségét kell adni, valahogy így:
 
new vehid[MAX_VEHICLES] = GetPlayerVehicleID(playerid);

 
Másrészrol folosleges a scriptedet azzal olvashatatlanná tenni, hogy a vektorokat tároló változókat (X,Y,Z) minden egyes IF-nél külön deklarálod. Elég lenne 1x, a parancs elején, és az használható egészen a parancs végéig.
Harmadrészrol identítás befigyel, normálisan nézzen már ki a scripted, ha belerakod a tutba.
« Utoljára szerkesztve: 2010. Május 23. - 18:27:32 írta krisk »

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
[TELEPORT]Catapult
« Válasz #7 Dátum: 2010. Május 23. - 20:06:44 »
0
Idézetet írta: Csabesz date=1274612968\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"1722\" data-ipsquote-contentclass=\"forums_Topic
Viccelsz ?  :dead:
 

if(strcmp(cmdtext, \"/catapult\", true) == 0)
{
   new Float:X, Float:Y, Float:Z; // Lebegopontos változók ( Pozíció tárolására )
   GetPlayerPos ( playerid, X, Y, Z ); // Pozíció légkérdezése
   if ( !IsPlayerInAnyVehicle ( playerid ) ) return SetPlayerPos ( playerid, X, Y, Z+800 ); // Lekérdezzük hogy a játékos jármuben van-e vagy nincs, ha nincs akkor visszatérünk a játékos magasságának növelésével
   {
       GetVehiclePos ( GetPlayerVehicleID ( playerid ), X, Y, Z ); // Jármu pozíciójának lekérdezése
       SetVehiclePos ( GetPlayerVehicleID ( playerid ), X, Y, Z+800 ); // Ha a játékos jármuben van, akkor a jármu magasságát növeljük
   }
   GivePlayerWeapon ( playerid, 46, 1 ); // Ejtoernyo
   return 1; // Visszatérünk \'Igaz\' értékkel.
}

 

Ha jól néztem, akkor amikor a játékos gyalog van nem kap ejtoernyot. Mert azzal tér vissza, hogy feldobja. Ha nem akkor bocs.

Nem elérhető krisk

  • 2380
    • Profil megtekintése
[TELEPORT]Catapult
« Válasz #8 Dátum: 2010. Május 23. - 21:16:34 »
0
Rosszul nézed. Az if statementen kívüli dolgok mindenhogy lefutnak, szóval az is, hogy kap 1 ernyot.

Nem elérhető hpeter94

  • 1450
  • Fórum fenntartó
    • Profil megtekintése
[TELEPORT]Catapult
« Válasz #9 Dátum: 2010. Május 24. - 08:57:13 »
0
Hát ez rohadtul rossz helyen van....

Nem elérhető Iceaac

  • 2187
    • Profil megtekintése
[TELEPORT]Catapult
« Válasz #10 Dátum: 2010. Május 24. - 10:16:09 »
0
Idézetet írta: dns date=1274608961\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"1722\" data-ipsquote-contentclass=\"forums_Topic
4. Ezt az egészet megehetett volna oldani 4 sorban..
 
4 sorban, de milyen átlátható lesz akkor? =) Bár igaz, hogy jóval kevesebb \"sorral\" is meg lehetne írni és még átláthatóbb is lenne.

Nem elérhető Shadow

  • 238
  • DaeMoN
    • Profil megtekintése
[TELEPORT]Catapult
« Válasz #11 Dátum: 2010. Május 25. - 17:30:31 »
0
Lehet te írtad de khm. :
 
#include <a_samp>
new catapulttimer;
forward Catapult(playerid);
new warning[MAX_PLAYERS] = 0;
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_LIGHTRED 0xED0321AA
public OnFilterScriptInit()
{
catapulttimer = SetTimer(\"Catapult\",1000,1);
return 1;
}
public OnFilterScriptExit()
{
KillTimer(catapulttimer);
return 1;
}
public Catapult(playerid)
{
if(IsPlayerInAnyVehicle(playerid))
{
new Float:health;
GetVehicleHealth(GetPlayerVehicleID(playerid),health);
new ember[MAX_PLAYER_NAME];
new string[256];
GetPlayerName(playerid, ember, sizeof(ember));
if(health <= 249 && warning[playerid] == 0)
{
    SendClientMessage(playerid,COLOR_YELLOW, \"Ugorj ki a kocsiból a /ugras paranccsal! !\");
    format(string, sizeof(string), \"%s -nek ég a jármuve !\",ember);
    SendClientMessageToAll(COLOR_YELLOW,string);
    warning[playerid] = 1;
}
}
return 1;
}
public OnPlayerConnect(playerid)
{
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, \"/ugras\",true) == 0)
{
if(IsPlayerInAnyVehicle(playerid))
{
   new Float:X;
   new Float:Y;
   new Float:Z;
   GetPlayerPos(playerid,X,Y,Z);
   SetPlayerPos(playerid,X,Y,Z+500);
   GivePlayerWeapon(playerid, 46, 1);
   SendClientMessage(playerid, COLOR_YELLOW, \"Katapultáltál !!!\");
   return 1;
}
else
{
    SendClientMessage(playerid, COLOR_LIGHTRED, \"HIBA: Nem ülsz kocsiban !\");
    return 1;
}
}
return 0;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
warning[playerid] = 0;
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
warning[playerid] = 0;
return 1;
}
 

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal