Kórházba spawnolás halálkor

Indította CRaft, 2014. június 25. - 16:10:29

Előző téma - Következő téma

CRaft

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;
}

Lofoli

Nem is olyan rossz!
Kezdõ rpg-seknek jól jöhet!
Grat hozzá!

KovaNovik


Wiliam Levy

Mûködni mûködhet, csak amíg nem rak a kórház elé, nyugodtan tudsz mászkálni össze vissza.  :)

CRaft

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_TopicTesztelve 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

balanit

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!

BackUP

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

Flash

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;
}

BackUP

Idézetet írta: Flash date=1404118454\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"49005\" data-ipsquote-contentclass=\"forums_TopicVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagy..
 
ha mindig a korház elõtt szeretnél spawnolni..

Flash

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 :)

Dani99

Szerinted ezt egy kezdő nem tudja megírni?