-
Sziasztok! Az lenne a problémám, hogy mikor kiválasztom a nememet akkor meghalok.. :S Ez csak az új játékosokkal fordul elő, akik még regisztrálnak.
if(dialogid == DIALOG_NEM)
{
if(response)
{
switch(listitem)
{
case 0:
{
SCM(playerid,WHITE,\"(( A nemed: {00C0FF}Férfi {ffffff}))\");
PlayerInfo[playerid][Neme] = 1;
format(string,sizeof(string),\"*AdmWarn* %s regisztrált a szerverre. Életkor: %d, Nem: Férfi\",pname(playerid),PlayerInfo[playerid][Eletkor]);
SendAdminMessage(LIGHTRED,string);
SetPlayerHealth(playerid,100);
TogglePlayerSpectating(playerid,0);
TogglePlayerControllable(playerid,1);
SetPlayerInterior(playerid,0),
SetPlayerVirtualWorld(playerid,0);
SetCameraBehindPlayer(playerid);
SetPlayerPos(playerid,1685.5725,-2331.7192,13.5469);
TimeFreeze(playerid,1000);
}
case 1:
{
SCM(playerid,WHITE,\"(( A nemed: {00C0FF}Nő {ffffff}))\");
PlayerInfo[playerid][Neme] = 2;
format(string,sizeof(string),\"*AdmWarn* %s regisztrált a szerverre. Életkor: %d, Nem: Nő\",pname(playerid),PlayerInfo[playerid][Eletkor]);
SendAdminMessage(LIGHTRED,string);
SetPlayerHealth(playerid,100);
TogglePlayerSpectating(playerid,0);
TogglePlayerControllable(playerid,1);
SetPlayerInterior(playerid,0),
SetPlayerVirtualWorld(playerid,0);
SetCameraBehindPlayer(playerid);
SetPlayerPos(playerid,1685.5725,-2331.7192,13.5469);
TimeFreeze(playerid,1000);
}
case 2:
{
ShowPlayerDialog(playerid,DIALOG_NEM,DIALOG_STYLE_LIST,\"Nem\",\"Férfi\\nNő\",\"Mehet\",\"Mégse\");
}
}
}
else ShowPlayerDialog(playerid,DIALOG_NEM,DIALOG_STYLE_LIST,\"Nem\",\"Férfi\\nNő\",\"Mehet\",\"Mégse\");
}
-
SetPlayerHealth(playerid,100.0);
Próbáld ki, illetve az onplayerspawn alatti részt is bemásolnád?
-
a kódban benne v h ad 100 életet neki.
public OnPlayerSpawn(playerid)
{
if(IsPlayerNPC(playerid))
{
new npcname[MAX_PLAYER_NAME];
GetPlayerName(playerid, npcname, sizeof(npcname));
if(egyezik(npcname, \"NPC_LS_BUS01\", true))
{
PutPlayerInVehicle(playerid, lsbus01, 0);
SetPlayerSkin(playerid,147);
}
return 1;
}
SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL, 998);
SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL_SILENCED, 998);
SetPlayerSkillLevel(playerid, WEAPONSKILL_SAWNOFF_SHOTGUN, 998);
SetPlayerSkillLevel(playerid, WEAPONSKILL_MICRO_UZI, 998);
SetPlayerScore(playerid,PlayerInfo[playerid][szint]);
SetPlayerHealth(playerid,PlayerInfo[playerid][HP]);
SetPlayerArmour(playerid,PlayerInfo[playerid][AP]);
TogglePlayerSpectating(playerid, 0);
if(PlayerInfo[playerid][Civilruha] == 0)
{
SetPlayerSkin(playerid,26);
PlayerInfo[playerid][Civilruha] = 26;
}
if(PlayerInfo[playerid][Civilruha] != 0)
{
SetPlayerSkin(playerid,PlayerInfo[playerid][Civilruha]);
}
if(PlayerInfo[playerid][Korhaz] == 1)
{
new randkorhaz = random(sizeof(RandomKorhaz));
SetPlayerPos(playerid, RandomKorhaz[randkorhaz][0],RandomKorhaz[randkorhaz][1],RandomKorhaz[randkorhaz][2]);
SetPlayerHealth(playerid,100);
SetPlayerInterior(playerid,0);
SetPlayerVirtualWorld(playerid,0);
SetKorhaz(playerid);
}
else if(PlayerInfo[playerid][Korhaz] == 0)
{
SetPlayerPos(playerid, PlayerInfo[playerid][PosX],PlayerInfo[playerid][PosY], PlayerInfo[playerid][PosZ]);
SetPlayerInterior(playerid, PlayerInfo[playerid][PosInt]);
TogglePlayerControllable(playerid,0);
TimeFreeze(playerid,1500);
}
return 1;
}
-
SetPlayerHealth(playerid,PlayerInfo[playerid][HP]);
a HP értékét regisztrációkor kifelejtetted.
A SetPlayerHealth függvényt azért írtam, mert lebegőpontos értéket kér, te pedig integert adtál. Elvileg működnie kell, gyakorlatilag én már máshol ilyen esetnél találkoztam vele, hogy 0 értéket olvasott be ameddig nem egészítettem ki tizedesjeggyel a számot.
-
így is ugyan az a probléma
-
Ezt oda írtad a(z)
TogglePlayerSpectate(id, 1);
után?
SetSpawnInfo(playerid, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
:hmmm:
Dupla hozzászólás automatikusan összefûzve. ( 2016. március 23. - 16:12:42 )
Ezt
SetSpawnInfo(playerid, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
oda írtad a(z)
TogglePlayerSpectate(id, 1);
után?
:hmmm:
-
ha odaírom akkor is meghalok
Dupla hozzászólás automatikusan összefûzve. ( 2016. március 23. - 16:51:53 )
és furcsálom h egy pillanatra rak be a megadott pozra, utána a 0,0,0-ásra dob be..
-
PlayerInfo[playerid][PosX] // meg az Y ... megaz Z .. megaz többi ha kell
Ez sincs megadva. Figyelmetlenség?
-
az a regisztráció dialognál meg van adva.
-
hmm. Teleport anticheat nincs bent esetleg?
Amit bemásoltál abba nincs megadva.
-
nincs anti-cheat rendszer jelenleg még, az egy másik dialog amiben benne vna.
-
@OnPlayerRequestClass(%1,%2) függvényedet is megmutatnád?
:hmmm:
-
parancsolj
public OnPlayerRequestClass(playerid, classid)
{
TogglePlayerSpectating(playerid, 1);
InterpolateCameraPos(playerid, 109.4683, -1709.2029, 105.2655, 1480.6094, -1666.1797, 114.1088, 45000, CAMERA_MOVE);
new file[256];
new string[128];
GetPlayerName(playerid,nev,sizeof(nev));
format(file,sizeof(file),\"/Karakterek/%s.ini\",nev);
if(dini_Int(file,\"Banned\") == 1)
{
SCM(playerid,DARKRED,\"(( Bannolva vagy a szerverről! ))\");
format(string,sizeof(string),\"Anti-Cheat: {ffff00}Kirugtuk \'%s\'-t. Indok: Bannolva van a szerverről\",nev);
SendAdminMessage(COLOR_RED,string);
ShowKirugDialog(playerid,0,\"Bannolva vagy a szerverről\");
}
else if(!fexist(file))
{
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,\"Regisztráció\", \"Add meg a jelszavad!\", \"Mehet\", \"Mégse\");
}
else if(fexist(file))
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,\"Bejelentkezés\", \"Add meg a jelszavad!\", \"Mehet\", \"Mégse\");
}
return 1;
}
-
SetCameraBehindPlayer(playerid);
Ezt akkor kell használnod, ha SetPlayerCamera/SetPlayerCameraLookAt-ot használsz.
Ez a SetPlayerCamera függvény lefutásakor lekérdezett koordinátádra tesz vissza.
Így mivel nem SetPlayerCamera-t használtál, hanem InterpolateCamera-t, ezért ledob a 0.0.0-s koordinátára.
Ez az egyik hiba. :smokin:
Írj ha ezután se jó. ;)
-
Kitöröltem azokat a sorokat, most se jó.. :S
-
Minden egyes spawnolásnál meghalsz? Tehát nem csak a nemválasztás után? :shurg:
-
Nem. Csak a nemválasztásnál.
-
PlayerInfo[playerid][HP] = 100;
Egy ilyet dobj be a nem választáshoz kérlek.
a case 0 hoz is meg a case 1 is
-
Én buta vagyok a PAWN nyelvhez viszont egy dolgot próbálj meg...
A TimeFreeze(playerid,1000); parancs elé rakd be az HP beállítást
valahogy így:
if(dialogid == DIALOG_NEM)
{
if(response)
{
switch(listitem)
{
case 0:
{
SCM(playerid,WHITE,\"(( A nemed: {00C0FF}Férfi {ffffff}))\");
PlayerInfo[playerid][Neme] = 1;
format(string,sizeof(string),\"*AdmWarn* %s regisztrált a szerverre. Életkor: %d, Nem: Férfi\",pname(playerid),PlayerInfo[playerid][Eletkor]);
SendAdminMessage(LIGHTRED,string);
TogglePlayerSpectating(playerid,0);
TogglePlayerControllable(playerid,1);
SetPlayerInterior(playerid,0),
SetPlayerVirtualWorld(playerid,0);
SetCameraBehindPlayer(playerid);
SetPlayerPos(playerid,1685.5725,-2331.7192,13.5469);
SetPlayerHealth(playerid,100.0);
TimeFreeze(playerid,1000);
}
case 1:
{
SCM(playerid,WHITE,\"(( A nemed: {00C0FF}Nő {ffffff}))\");
PlayerInfo[playerid][Neme] = 2;
format(string,sizeof(string),\"*AdmWarn* %s regisztrált a szerverre. Életkor: %d, Nem: Nő\",pname(playerid),PlayerInfo[playerid][Eletkor]);
SendAdminMessage(LIGHTRED,string);
TogglePlayerSpectating(playerid,0);
TogglePlayerControllable(playerid,1);
SetPlayerInterior(playerid,0),
SetPlayerVirtualWorld(playerid,0);
SetCameraBehindPlayer(playerid);
SetPlayerPos(playerid,1685.5725,-2331.7192,13.5469);
SetPlayerHealth(playerid,100.0);
TimeFreeze(playerid,1000);
}
case 2:
{
ShowPlayerDialog(playerid,DIALOG_NEM,DIALOG_STYLE_LIST,\"Nem\",\"Férfi\\nNő\",\"Mehet\",\"Mégse\");
}
}
}
else ShowPlayerDialog(playerid,DIALOG_NEM,DIALOG_STYLE_LIST,\"Nem\",\"Férfi\\nNő\",\"Mehet\",\"Mégse\");
}
-
Sikerült!! Köszi :thumbsup: :thumbsup: