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: CRaft - 2014. június 25. - 16:10:29

Cím: Kórházba spawnolás halálkor
Írta: CRaft - 2014. június 25. - 16:10:29
Be szeretném mutatni szerzeményem :)
Ezt a Filterscriptet azoknak ajánlom akik nem tudják megoldani hogyha eghy játékos meghal a kórház elõtt spawnoljon...én így oldottam meg:
#include <a_samp>
#define FILTERSCRIPT
public OnFilterscriptInit(){
print(\"---------------------------------------------------\");
print(\"Respawn in hospital/Újraéledés a kórházban by CRaft\");
print(\"---------------------------------------------------\");
return 1;
}
public OnPlayerDeath(playerid){
SetTimer(\"death\", 4000);
return 1;
}
public death(playerid){
SetPlayerPos(playerid,1178.8407,-1324.4160,14.1400);
return 1;
}
Cím: Kórházba spawnolás halálkor
Írta: Lofoli - 2014. június 25. - 17:55:46
Nem is olyan rossz!
Kezdõ rpg-seknek jól jöhet!
Grat hozzá!
Cím: Kórházba spawnolás halálkor
Írta: KovaNovik - 2014. június 25. - 18:02:24
Ránézésre sem mûködik.
Cím: Kórházba spawnolás halálkor
Írta: Wiliam Levy - 2014. június 25. - 18:21:30
Mûködni mûködhet, csak amíg nem rak a kórház elé, nyugodtan tudsz mászkálni össze vissza.  :)
Cím: Kórházba spawnolás halálkor
Írta: CRaft - 2014. június 25. - 18:22:17
Tesztelve mûködik :D
Én Rp szerver csinálok csak nekem egy másik scriptbe van beépítve!

Dupla hozzászólás automatikusan összefûzve. ( 2014. június 25. - 18:23:05 )

Idézetet írta: CRaft date=1403713337\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"49005\" data-ipsquote-contentclass=\"forums_Topic
Tesztelve mûködik :D
Én Rp szerver csinálok csak nekem egy másik scriptbe van beépítve!
 
4 mp kell hogy a korház elé rakjon halál után
Cím: Kórházba spawnolás halálkor
Írta: balanit - 2014. június 29. - 21:11:48
RPG-nek szerintem tökéletes, jó lett!
Csak egy kis javítás kell neki, de szerintem meglehet oldani nem nagy bibi az,hogy egy kicsit kell várnod!
Cím: Kórházba spawnolás halálkor
Írta: BackUP - 2014. június 29. - 22:07:11
Ennél sokkal praktikusabb, ha készítesz egy változót:
 
new bool:meghalt[MAX_PLAYERS];

 
Amikor meghal a játékos ezt a változót \'true\'(igaz) értékre állítod:
 
meghalt[playerid] = true;

 
Amikor spawnol leellenõrzöd, hogy most elsõ spawn, vagy halál utáni. Egyértelmû, hogyha elsõ spawn akkor a változónk értéke \'false\'
Tehát:
 
public OnPlayerSpawn(playerid)
{
     if(meghalt[playerid] == true)
    {
       // ha meghalt
    } else {
        //ha nem halt meg..
    }
}

 
Így még várni sem kell..
Ez pedig NEM mûködik. Miért?
1. SetTimerEx szükséges, mert így hol adod meg hogy melyik játékost teleportálja? Ha meg mégis \'mûködõképes\' akkor próbáljátok ki ketten.. nem fog menni..
2. \'forward\' lemaradt
3. SetTimernek is kimaradt egy funkciója. Helyesen:
 
SetTimer(\"death\",4000,false);

 
\'false\' tehát nem ismétlõdik.. Aki azt mondta kipróbálta nem kell hazudni.. A 3. pont kihagyása(még a második kihagyása esetén is) esetén a compiler sírni fog, hogy mûködésképtelen.. TÖBB helyen
Cím: Kórházba spawnolás halálkor
Írta: Flash - 2014. június 30. - 10:54:14
Idézetet írta: BackUP date=1404072431\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"49005\" data-ipsquote-contentclass=\"forums_Topic



Ennél sokkal praktikusabb, ha készítesz egy változót:
 
new bool:meghalt[MAX_PLAYERS];

 
Amikor meghal a játékos ezt a változót \'true\'(igaz) értékre állítod:
 
meghalt[playerid] = true;

 
Amikor spawnol leellenõrzöd, hogy most elsõ spawn, vagy halál utáni. Egyértelmû, hogyha elsõ spawn akkor a változónk értéke \'false\'
Tehát:
 
public OnPlayerSpawn(playerid)
{
     if(meghalt[playerid] == true)
    {
       // ha meghalt
    } else {
        //ha nem halt meg..
    }
}

 
Így még várni sem kell..
Ez pedig NEM mûködik. Miért?
1. SetTimerEx szükséges, mert így hol adod meg hogy melyik játékost teleportálja? Ha meg mégis \'mûködõképes\' akkor próbáljátok ki ketten.. nem fog menni..
2. \'forward\' lemaradt
3. SetTimernek is kimaradt egy funkciója. Helyesen:
 
SetTimer(\"death\",4000,false);

 
\'false\' tehát nem ismétlõdik.. Aki azt mondta kipróbálta nem kell hazudni.. A 3. pont kihagyása(még a második kihagyása esetén is) esetén a compiler sírni fog, hogy mûködésképtelen.. TÖBB helyen
 

Vaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagy..
 

public OnPlayerSpawn(playerid) {
SetPlayerPos(playerid,1178.8407,-1324.4160,14.1400);
return 1;
}
Cím: Kórházba spawnolás halálkor
Írta: BackUP - 2014. június 30. - 11:20:35
Idézetet írta: Flash date=1404118454\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"49005\" data-ipsquote-contentclass=\"forums_Topic
Vaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagy..
 
ha mindig a korház elõtt szeretnél spawnolni..
Cím: Kórházba spawnolás halálkor
Írta: Flash - 2014. június 30. - 11:21:36
Idézetet írta: BackUP date=1404120035\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"49005\" data-ipsquote-contentclass=\"forums_Topic


Vaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagy..
 
ha mindig a korház elõtt szeretnél spawnolni..
 
[/quote]
Ennek a \"scriptnek\" ez a lényege.. Egyébként a fentiben leírt kódok is ugyanazok amit én írtam :)
Cím: Kórházba spawnolás halálkor
Írta: Dani99 - 2014. december 31. - 20:33:40
Szerinted ezt egy kezdő nem tudja megírni?