-
hellosztok jail problémám van berakok egy játékost a börtön be be irja hogy kill és nem rakja vissza börtönbe pedig ki irja hogy börtön ben vagy
:
public OnPlayerSpawn(playerid)
{
if(PlayerInfo[playerid][pPrison] != 0)
{
ResetPlayerWeapons(playerid);
GameTextForPlayer(playerid, \"~r~Bortonben vagy!\", 3000, 3);
SetPlayerInterior(playerid, 3);
SetPlayerPos(playerid, 198.5319,162.3093,1003.0300);
SetTimerEx(\"UnJail\", PlayerInfo[playerid][pPrisonTime]*1000, 0, \"i\", playerid);
}
return 1
}
-
Egyszeru amikor berakod jailba írd oda mondjuk, h:
PlayerInfo[playerid][pPrison] = 1;
A változó akármi lehet :)
-
azt hogy lehet ki küszöbölni hogy valakit börtön berakok és be irja hogy /kill és akkor nem rakja vissza a börtönbe?
-
Vagy szedd ki a /kill-t vagy a setplayerspawnhoz tegyél be egy ilyet( szerintem, ha nem jó akkor bocsi, nem tudom milyen módod van):
Ha a pPrison már be van rakva oda ahova írni fogom, akkor ne rakd be, mert errort fogsz kapni!
enum pInfo-hoz:
pPrison, //ha nem a végére másolod, csak akkor rakj vesszot!
public OnPlayerConnect-hez
PlayerInfo[pPrison] = 0;
A /jail parancsba tedd bele valahova, mind Vampesz már mondta:
PlayerInfo[playerid][pPrison] = 1;
Ezt a SetPlayerSpawn-hoz:
if(PlayerInfo[playerid][pPrison] == 1)
{
SetPlayerInterior (playerid, 6);//Ez az LSPD interiorja, tehát ez az LSPD-re rakja be
PlayerInfo[playerid][pInt] = 6 //Ide is elvileg az interior id kell
SetPlayerPos(playerid,264.6288,77.5742,1001.0391);//Ez a rendorségen belül a zárt cella poziciója
SendClientMessage(playerid, COLOR_RED, \"Letöltetlen Jail büntetésed van, vissza kerültél a börtönbe!\");
return 1;
}
Az a rész, amikor kiírja, hogy Letöltetlen... azt kiszedheted, ha nem akarod hogy kiírja, attól még muködni fog!
És ez csak akkor fog muködni, ha pPrison definiálva van!
Ennek elvileg jónak kell lennie, kivéve akkor, ha a /jail rosszul van megcsinálva! Mindenesetre, ha valami hibát láttok, kérlek szóljatok! Ha nem muködik és valaki szerint a /jail-el van a gond írjatok és feltöltök 1-et!
-
nagyon jó semmi hiba nálam de az kérdezném miért van ha újra inditom aszerót akkor lennulázodik pPrison és jailTime?
-
A szerveredbe van regisztráció nem? Csak mert szerintem csak akkor menti le, ha van regisztráció és akkor minden játékosnak külön jegyez fel minden infót a neve szerint... ez miat nullázódik le szerintem, mert ha újrainditod a szervert akkor nem menti le, hogy melyik játékos mit csinállt. Szerintem szerezz egy regisztrációt! Vagy scriptet, vagy egy rp szerverét alakítsd át és azt rakd be!
( Ez a megoldás szerintem, ha nem akkor javítsatok :D )
-
nem mert van regisztrácioós bele jetzi meg minden még az atomatikus login ba is és sima login ba is ugy hogy nem tom mi a baj
-
Az admin scriptben van meg, vagy pedig a szerverbe van? Ha scriptbe, , akkor nem tudom a megoldást, ha módban , akkor lehet, hogy tudok segíteni....
-
admin script de az miért van hogy adog egy gyereknek 60 másodpercet és kilép és belép le nullázódik?
-
elnézést a dupla post ért irja tok létszi ide
-
A /jail parancsal lehet a baj, mert ha úgy csináltál mindent ahogy mondtam, akkor nem történhet meg.... Vagyis megtörténhet, ez azért van, mert nincs a mód ráállva teljesen a regisztrációra.... Így nem ment le dolgokat a játékosokról, csak ami bele van írva a scriptbe, azt menti le.... Ezért van az, ha lelép nullázódik... Szerintem, ha megy a scriptelés, próbálj átmásolni egyet RP szeróból a te szerveredbe, akkor minden funkció elérheto lesz....
-
ráállva teljesen a regisztrációra ezt hogy lehet (ha erre nem tudsz megoldás akkor honnét tok letölteni iylen rp jailt meik modot szedejmel?)
-
Elmagyarázom.... Van a scriptben egy OnPlayerConnect meg OnPlayerRegister stb. ezeknél benne van, hogy mittom én pValami és akkor ezt mentse bele abba a fileba, amibe a játékosok admin szintjét is lementi stb.... És ez a scriptben van benne.... Tehát azt a pPrison-t nem fogja lementeni a játékosok adatai mellé, mert nincs ráállítva a scriptre.... Nem tudom máshogy magyarázni... És neked nem egy rp Jai-re van szükséged, hanem egy RP regisztrációra.... Mert ahoz teljes hozzáférésed van és csak akkor tudod majd dialogosra ( arra a kis ablakra gondolok amit egy másik topicban kérdeztél ) csinállni, ha saját regisztrációt csinálsz... Szóval keress rá az eredeti fórumon (angol fórumon) egy GF RP módra és nézd át az OnPlayerConnectet stb-t, ha már haladó scripter vag menni fog.... És utána kezdj csak neki a jailnek... addig ezt kell elfogadnod, a szervered nem ment le így adatokat a játékosokról....
-
ja értem de elmenti a ini fájlban a addig rendben csak le nullázza ha érted ugy van jail=0 és ha jtákos nak adok 50 másodpercet akkor ini jail=50 és ha lelép és ujra belép akkor ez lesz jail=0
-
Nem menti rendesen Vagy a OnPlayerDisconnect-nél van levíve 0-ra...
-
sikerült köszönöm de még egy kérdés
hogy a jaltimét másodpercenként frissitse azt hogy lehet ?
-
SetTimer :)
-
és azt hogy mert nekem pPrisonTime azt hogy tudom
-
SetTimer(playerid, függvény amit meghívsz, ido, ismétlés(false(0) or true(1) ) );
De azé még tessék:
http://wiki.sa-mp.com/wiki/SetTimer
Pl Fügvénybe ciklussal megírod, h:
forward bortonido();
public bortonido()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(PlayerImfo[pPrisonTime] > 1)
{
PlayerInfo[pPrisonTime]--;
}
}
return 1;
}
És az OnGameModeInit alá:
SetTimer(playerid, \"bortonido\", 60000, 1);
És csinsz ez alapján egy másikat ami ha a pPrisonTime = 0-val akkor respawnolja vagy hova rakja :)
-
sikerült és hogy lehet meg állitani hogy ne számoljón továb mert ha lelép a játékos ugyan ugy számól
-
a for-al kezdodo sor után írsz egy:
if(IsPlayerConnected(i))
de rem. érted, h h kell :)
-
nagyon szépen köszönöm bogy hogy ilyen hülye voltam elnézést és lenn egy kérdésem i mit helyetesít?
-
az i az a palyerid helyén van
De ciklussal van megcsinálva tehát végig megy minden játékoson...az i az összes játékost helyettesíti :)