Szerző Téma: Death Mach Zóna spawn hiba  (Megtekintve 868 alkalommal)

Nem elérhető lusta19

  • 9084
  • £u$taÐi$znó
    • Profil megtekintése
Death Mach Zóna spawn hiba
« Dátum: 2012. február 26. - 19:36:55 »
0 Show voters
Hy
Eps leírása alapján megcsináltam a dm zónákat
Annyi baj van vele hogy nem a dm zónába spawnol  ha pl: beírom /dm1 .  (a dm-et fs-be csináltam nem a módban van )
A módomban  random spawn van és azokra a helyekre rak le
Ez Eps leírásából van .... Csak példának hozom fel
 
public OnPlayerSpawn(playerid)
{
   switch(dmid[playerid])
   {
       case 0: // 0-ás azonosítószámú dm zónához tartozó tevékenységek
       {
           SetPlayerPos(playerid,0.0,0.0,3.5); // Elhelyezés a dMben. Itt akár véletlenszeru spawnot is írhatunk, de az átláthatóság kedvéért maradjunk ennél
           SetPlayerFacingAngle(playerid,90.0); // Játékos írányba állítása; elforgatás
         ResetPlayerWeapons(playerid); // fegyverek elvétele <- FONTOS
         GivePlayerWeapon(playerid,4,1); // Felfegyverzés
         GivePlayerWeapon(playerid,34,10); // Felfegyverzés
         SetPlayerVirtualWorld(playerid,dmid[playerid]); // áthelyezés mási VW-be
      }
        case 1: // 1-es azonosítószámú dm zónához tartozó tevékenységek
       {
           SetPlayerPos(playerid,-1379.3,428.2,30.0); // Elhelyezés a dMben. Itt akár véletlenszeru spawnot is írhatunk, de az átláthatóság kedvéért maradjunk ennél
           SetPlayerFacingAngle(playerid,180.0); // Játékos írányba állítása; elforgatás
         ResetPlayerWeapons(playerid); // fegyverek elvétele <- FONTOS
         GivePlayerWeapon(playerid,24,100); // Felfegyverzés
         GivePlayerWeapon(playerid,34,10); // Felfegyverzés
         SetPlayerVirtualWorld(playerid,dmid[playerid]); // áthelyezés mási VW-be
      }
         case 2: // 2-es azonosítószámú dm zónához tartozó tevékenységek
       {
           SetPlayerPos(playerid,1379.3,-28.2,30.0); // Elhelyezés a dMben. Itt akár véletlenszeru spawnot is írhatunk, de az átláthatóság kedvéért maradjunk ennél
           SetPlayerFacingAngle(playerid,110.0); // Játékos írányba állítása; elforgatás
         ResetPlayerWeapons(playerid); // fegyverek elvétele <- FONTOS
         GivePlayerWeapon(playerid,20,100); // Felfegyverzés
         GivePlayerWeapon(playerid,32,10); // Felfegyverzés
         SetPlayerVirtualWorld(playerid,dmid[playerid]); // áthelyezés mási VW-be
      }
      default: // Alap spawn funkciók. Amikor a játékos NINCS DM-BEN ÉS ÚGY SPAWNOL
      {// Ide kell írni ami alap ból az OnPlayerSpawnnál volt
          GivePlayerMoney(playerid,100);
          GivePlayerWeapon(playerid,1,1);
          SetPlayerVirtualWorld(playerid,0); // Vissz*rakás az alap VW-be FONTOS
      }
   }
   return 1;
}

 
Úgy is próbáltam hogy kivettem a
public OnPlayerSpawn(playerid) részt
És átraktam a cuccokat
public OnPlayerCommandText(playerid, cmdtext[]) alá
 
           SetPlayerPos(playerid,1379.3,-28.2,30.0); // Elhelyezés a dMben. Itt akár véletlenszeru spawnot is írhatunk, de az átláthatóság kedvéért maradjunk ennél
           SetPlayerFacingAngle(playerid,110.0); // Játékos írányba állítása; elforgatás
         ResetPlayerWeapons(playerid); // fegyverek elvétele <- FONTOS
         GivePlayerWeapon(playerid,20,100); // Felfegyverzés
         GivePlayerWeapon(playerid,32,10); // Felfegyverzés
         SetPlayerVirtualWorld(playerid,dmid[playerid]); // áthelyezés mási VW-be

 
De így sem volt jó, ismét random spawnol
Minden más tökéletesen mûködik
Valami ötlet?

Nem elérhető CANNONN

  • 2139
    • Profil megtekintése
Death Mach Zóna spawn hiba
« Válasz #1 Dátum: 2012. február 26. - 19:39:56 »
0 Show voters
Nem nagyon értelek, ahol elküldi a random spawnokhoz azt a részt beillesztenéd?

Death Mach Zóna spawn hiba
« Válasz #2 Dátum: 2012. február 26. - 19:48:02 »
+1 Show voters
a változó [pawn]new dm[MAX_PLAYERS];[/pawn]
 
   if(dm[playerid]==1)
{
SetPlayerPos(playerid,2649.1123046875,-2503.9345703125,13.4921875); //dm1
SendClientMessage(playerid,-1,\"{FFFF00}Dm Visszaspawn: {FF0606}Visszakerültél a DM zónába Kilépés /ExitDm\");
GivePlayerWeapon(playerid, 26, 3000);
     SetPlayerArmour(playerid, 100.0);
     SetPlayerHealth(playerid, 100);
    return 1;
}
if(dm[playerid]==2)
{
SetPlayerPos(playerid,2791.1076660156,-2417.3090820313,13.632853507996);//dm2
    SendClientMessage(playerid,-1,\"{FFFF00}Dm Visszaspawn: {FF0606}Visszakerültél a DM zónába Kilépés /ExitDm\");
         GivePlayerWeapon(playerid, 26, 3000);
     SetPlayerArmour(playerid, 100.0);
     SetPlayerHealth(playerid, 100);
    return 1;
}
if(dm[playerid]==3)
{
SetPlayerPos(playerid,-8.2703,1530.8982,12.7500);//dm3
SendClientMessage(playerid,-1,\"{FFFF00}Dm Visszaspawn: {FF0606}Visszakerültél a DM zónába Kilépés /ExitDm\");
         GivePlayerWeapon(playerid, 26, 3000);
     SetPlayerArmour(playerid, 100.0);
     SetPlayerHealth(playerid, 100);
    return 1;
}
if(dm[playerid]==4)
{
SetPlayerPos(playerid,-530.8275,2602.8733,53.4232);//dm4
    SendClientMessage(playerid,-1,\"{FFFF00}Dm Visszaspawn: {FF0606}Visszakerültél a DM zónába Kilépés /ExitDm\");
         GivePlayerWeapon(playerid, 26, 3000);
     SetPlayerArmour(playerid, 100.0);
     SetPlayerHealth(playerid, 100);
    return 1;
}
if(dm[playerid]==5)
{
SetPlayerPos(playerid,21.5741,2245.2517,126.7183);//dm5
    SendClientMessage(playerid,-1,\"{FFFF00}Dm Visszaspawn: {FF0606}Visszakerültél a DM zónába Kilépés /ExitDm\");
         GivePlayerWeapon(playerid, 26, 3000);
     SetPlayerArmour(playerid, 100.0);
     SetPlayerHealth(playerid, 100);
    return 1;
}
    if(dm[playerid]==6)
{
SetPlayerPos(playerid,2628.3442,2760.7800,23.8222);//dm6
    SendClientMessage(playerid,-1,\"{FFFF00}Dm Visszaspawn: {FF0606}Visszakerültél a DM zónába Kilépés /ExitDm\");
    GivePlayerWeapon(playerid, 38, 3000);
     SetPlayerArmour(playerid, 100.0);
     SetPlayerHealth(playerid, 100);
return 1;
}
    if(dm[playerid]==7)
{
SetPlayerPos(playerid,-975.975708,1060.983032,1345.671875);//dm7
    SendClientMessage(playerid,-1,\"{FFFF00}Dm Visszaspawn: {FF0606}Visszakerültél a DM zónába Kilépés /ExitDm\");
SetPlayerInterior(playerid, 10);
   
     SetPlayerHealth(playerid, 100);
return 1;
}

 
Nekem így van a Módba + Random Spawn és annyi...   megy

Nem elérhető lusta19

  • 9084
  • £u$taÐi$znó
    • Profil megtekintése
Death Mach Zóna spawn hiba
« Válasz #3 Dátum: 2012. február 26. - 19:53:15 »
0 Show voters
Ide most nem szeretném kirakni az fs-t  :) Esetleg pü-be ha megbízhatok benned  :)
A lényeg az volna hogy beírod hogy /dm1 és nem a dm zónába rak le pedig megvan adva a koordináta
Ebbe a dm-es fs-ben nincs random spawnolás
Egyedül a módba van belépéskor random spawn
ja itt a tut  ha segít :  http://sampforum.hu/index.php?topic=3967.0

Nem elérhető CANNONN

  • 2139
    • Profil megtekintése
Death Mach Zóna spawn hiba
« Válasz #4 Dátum: 2012. február 26. - 19:54:29 »
0 Show voters
Hát ez elég érdekes lesz, de megoldjuk, a módban van OnPlayerSpawn?

Nem elérhető lusta19

  • 9084
  • £u$taÐi$znó
    • Profil megtekintése
Death Mach Zóna spawn hiba
« Válasz #5 Dátum: 2012. február 26. - 19:58:43 »
0 Show voters
Idézetet írta: Cannonn date=1330282469\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"17611\" data-ipsquote-contentclass=\"forums_Topic
Hát ez elég érdekes lesz, de megoldjuk, a módban van OnPlayerSpawn?
 
Igen van

Nem elérhető CANNONN

  • 2139
    • Profil megtekintése
Death Mach Zóna spawn hiba
« Válasz #6 Dátum: 2012. február 26. - 19:59:06 »
0 Show voters
Tartalmát beillesztenéd?

Nem elérhető lusta19

  • 9084
  • £u$taÐi$znó
    • Profil megtekintése
Death Mach Zóna spawn hiba
« Válasz #7 Dátum: 2012. február 26. - 20:02:10 »
0 Show voters
public OnPlayerSpawn(playerid)
{
    TogglePlayerControllable(playerid, false);
SetTimerEx(\"skoff\", 3000, 0,\"i\",playerid);
GameTextForPlayer(playerid, \"~r~SK ~b~V¾delem\", 3000,6);
    SetPlayerTime ( playerid, 12, 00 );
    GivePlayerWeapon(playerid,28,1000);
SetPlayerInterior(playerid,0);
SetPlayerColor( playerid, ( random( 0xFF ) << 24 | random( 0xFF ) << 16 |  random( 0xFF ) << 8 | 0xFF ) );
SetCameraBehindPlayer(playerid);
//////////////////////////
{
    new rand = random(sizeof(RandomSpawn));
    SetPlayerPos(playerid, RandomSpawn[rand][0], RandomSpawn[rand][1],RandomSpawn[rand][2]);
    SetPlayerFacingAngle(playerid, RandomSpawn[rand][3]);
}
////////////////////////
return 1;
}
stock GetDistanceToLastPoint(vehicleid)
{
new Float:x2, Float:y2, Float:z2, Float:output;
GetVehiclePos(vehicleid, x2, y2, z2);
output = floatsqroot(floatpower(floatabs(floatsub(x2, sVehicle_X[vehicleid])), 2)+floatpower(floatabs(floatsub(y2, sVehicle_Y[vehicleid])), 2)+floatpower(floatabs(floatsub(z2, sVehicle_Z[vehicleid])), 2));
return floatround(output);
}
stock SaveLastPosition(vehicleid)
{
    new Float:SaveCoord_X, Float:SaveCoord_Y, Float:SaveCoord_Z;
    GetVehiclePos(vehicleid, SaveCoord_X, SaveCoord_Y, SaveCoord_Z);
sVehicle_X[vehicleid]=SaveCoord_X;
sVehicle_Y[vehicleid]=SaveCoord_Y;
sVehicle_Z[vehicleid]=SaveCoord_Z;
}

Nem elérhető CANNONN

  • 2139
    • Profil megtekintése
Death Mach Zóna spawn hiba
« Válasz #8 Dátum: 2012. február 26. - 20:06:57 »
0 Show voters
Ezt bele kell rakni a scriptbe, amikor nincs dm-ben, és úgy spawnol.
 
{
    new rand = random(sizeof(RandomSpawn));
    SetPlayerPos(playerid, RandomSpawn[rand][0], RandomSpawn[rand][1],RandomSpawn[rand][2]);
    SetPlayerFacingAngle(playerid, RandomSpawn[rand][3]);
}

 
Mivel így, mindig lefut.
Tehát így kell belerakni a scriptbe:
 
default:
      {
          GivePlayerMoney(playerid,100);
          GivePlayerWeapon(playerid,1,1);
          SetPlayerVirtualWorld(playerid,0);
          new rand = random(sizeof(RandomSpawn));
          SetPlayerPos(playerid, RandomSpawn[rand][0], RandomSpawn[rand][1],RandomSpawn[rand][2]);
          SetPlayerFacingAngle(playerid, RandomSpawn[rand][3]);
      }

 
Ez így még nem lessz jó, mivel a scriptben nincsenek meg a \"RandomSpawn\"-ok.
Tehát ajánlom, hogy a scriptet rakd bele a módba.
« Utoljára szerkesztve: 2012. február 26. - 20:09:30 írta Cannonn »

Nem elérhető lusta19

  • 9084
  • £u$taÐi$znó
    • Profil megtekintése
Death Mach Zóna spawn hiba
« Válasz #9 Dátum: 2012. február 26. - 20:21:22 »
0 Show voters
igen beleraktam
 
default:
      {
          GivePlayerMoney(playerid,100);
          GivePlayerWeapon(playerid,1,1);
          SetPlayerVirtualWorld(playerid,0);
          new rand = random(sizeof(RandomSpawn));
          SetPlayerPos(playerid, RandomSpawn[rand][0], RandomSpawn[rand][1],RandomSpawn[rand][2]);
          SetPlayerFacingAngle(playerid, RandomSpawn[rand][3]);
      }

 
De hibát jelzett, de beleraktam az fs-be  még ezt a részt és hibátlan csak az a kérdés hogy mûködik e
 
new Float:RandomSpawn[][4] =
{
    // Positions, (X, Y, Z and Facing Angle)
    {2474.7786,-1673.6320,13.3367,192.3574},
    {1767.2745,-1896.3469,13.5634,91.9049},
    {1567.3792,-1891.2318,13.5592,353.2927},
    {1545.0319,-1675.1691,13.5596,89.4639},
    {409.4924,-1542.8479,32.2734,214.3074},
    {-1955.8209,265.9108,35.4688,82.9950},
    {-2638.7854,604.3943,14.4531,214.8815},
    {7535.4121,-1545.9310,2.0750,313.4377},
    {-2986.5923,-213.7827,10.5819,97.6418},
    {1764.9670,2777.3879,10.8359,351.4096},
    {-3083.8711,834.5369,14.0331,358.0022},
    {1903.5410,-1444.5981,13.4986,23.1139},
    {-1277.5017,-469.5341,14.1484,307.8322},
    {1606.8804,-1814.8848,13.8186,186.7973}
};

 
Én nem tudom megnézni nincs videó kártyám , és jelenleg nem tudok senkinek szólni hogy megnézze

Nem elérhető CANNONN

  • 2139
    • Profil megtekintése
Death Mach Zóna spawn hiba
« Válasz #10 Dátum: 2012. február 26. - 20:22:54 »
0 Show voters
Még hogy \"senkinek\". Figyelj, szerver ip-t püben és megnézem. ;)
Felugrok bf-re és jövök.
« Utoljára szerkesztve: 2012. február 26. - 20:30:08 írta Cannonn »

Nem elérhető lusta19

  • 9084
  • £u$taÐi$znó
    • Profil megtekintése
Death Mach Zóna spawn hiba
« Válasz #11 Dátum: 2012. február 26. - 20:33:55 »
0 Show voters
Idézetet írta: Cannonn date=1330284174\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"17611\" data-ipsquote-contentclass=\"forums_Topic
Még hogy \"senkinek\". Figyelj, szerver ip-t püben és megnézem. ;)
Felugrok bf-re és jövök.
 
Jól van nem vagyunk olyan viszonyban hogy még ezt is megnézd nekem  :D
Mindjárt dobok egy pü-t
Megoldva zárok! Kösz Cannonn
« Utoljára szerkesztve: 2012. február 26. - 22:20:27 írta <[Lu$ta]> »

Death Mach Zóna spawn hiba
« Válasz #12 Dátum: 2012. február 26. - 22:49:34 »
0 Show voters
Én annyit fûznék hozzá hogy az OnPlayerSpawn visszahívás úgy ahogy van rossz, nem lehet leállítani a többi visszahívást.
(normális esetben ha pl.. return 0; a visszatérési érték, akkor a még meg nem hívott többi OnPlayerSpawn nem kerül meghívásra, mint a többi visszahívásoknál.
Ha több filterscriptben használod és a módban is, akkor akadhatnak gondok.
Ígéret már volt a javításra de még kell egy fél év mire lesz belõle valami.
Javaslat: old meg egyetlen egy OnPlayerSpawn visszahívással az összes számodra fontos dolgot a legelsõ filterscriptben, a többiben ne alkalmazd az OnPlayerSpawn visszahívást.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal