Ondrej Igar 24 Odesláno: 4. Listopad, 2012 Share Odesláno: 4. Listopad, 2012 (upraveno) Ghost Mode 1.0 by Mubby Ahoj, toto téma mně inspirovalo k vytvoření funkce "Ghost mode" Není to Ghost Mode jako v MTA, ale pouze Vám změní interior když jste blízko nějakého hráče. #include <a_samp> new Shoda[50]; stock Float:GetDistanceBetweenPlayers(playerid,id) { new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2; if(!IsPlayerConnected(playerid) || !IsPlayerConnected(id)) { return -1.00; } GetPlayerPos(playerid,x1,y1,z1); GetPlayerPos(id,x2,y2,z2); return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2)); } public OnFilterScriptInit() { print("\n--------------------------------------"); print(" Ghost Mode By Mubby"); print(" Loaded.."); print("--------------------------------------\n"); return 1; } public OnFilterScriptExit() { print("\n--------------------------------------"); print(" Ghost Mode By Mubby"); print(" Unloaded.."); print("--------------------------------------\n"); return 1; } public OnPlayerUpdate(playerid) { Shoda[playerid]=0; for(new id; id<50; id++) { if(GetDistanceBetweenPlayers(playerid, id) > 30) { Shoda[playerid]++; } } //- if(Shoda[playerid] > 0) { SetPlayerVirtualWorld(playerid, playerid+1); SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), playerid+1); }else{ SetPlayerVirtualWorld(playerid, 0); SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), 0); } return 1; } Vždy když je někdo pobliž Vás, tak Vás to hodí do VirtualWorldu a to do VašeID+1 (př.: Vaše id je 0, tak Vas to da do VW 1) Script jsem netestoval, pokud něco nejde, nebo nefunguje, napište SZ. Rate (0-10) & Comment Edited 4. Listopad, 2012 by Mubby Link to comment Share on other sites More sharing options...
Globální moderátor Hip 191 Odesláno: 4. Listopad, 2012 Globální moderátor Share Odesláno: 4. Listopad, 2012 if(Shoda[playerid > 0) - chybí ti tam ] - a dej podmínku jestli je v autě ... jinak jsem nic nenašel //EDIT udělal bych Shoda[MAX_PLAYERS_EX]; a používal všude.. takhle to musíš měnit všude, jinak měníš je jedno číslo v definici Link to comment Share on other sites More sharing options...
Ondrej Igar 24 Odesláno: 4. Listopad, 2012 Author Share Odesláno: 4. Listopad, 2012 if(Shoda[playerid > 0) - chybí ti tam ] - a dej podmínku jestli je v autě ... jinak jsem nic nenašel //EDIT udělal bych Shoda[MAX_PLAYERS_EX]; a používal všude.. takhle to musíš měnit všude, jinak měníš je jedno číslo v definici To jsem si všiml(]) Možná ve verzi 2.0 Shoda[50] máš jako Shoda[MAX_PLAYERS_EX] ale do max_players_ex si muzes vdefinovat cislo, a ja tam dal 50, mozna tam nahoru dam #define max_players_ex 50 ale ted se mi nechce Link to comment Share on other sites More sharing options...
TeuneerSK 5 Odesláno: 4. Listopad, 2012 Share Odesláno: 4. Listopad, 2012 Neajké videjko alebo screeny ? Prosím.. Link to comment Share on other sites More sharing options...
wroxx 37 Odesláno: 5. Listopad, 2012 Share Odesláno: 5. Listopad, 2012 Nestačilo by to takto? public OnPlayerUpdate(playerid) { for(new id; id<50; id++) { if(GetDistanceBetweenPlayers(playerid, id) > 30) { SetPlayerVirtualWorld(playerid, playerid + 1); SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), playerid + 1); }else{ SetPlayerVirtualWorld(playerid, 0); SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), 0); } } return 1; } Inač si to mal dosť na**** ked to furt nastavovalo interior na 0 lebo ked je v interiori 1 a dá mu to na 0, takže do promenej zapisať predošlu hodnotu pred tym jak to zmeni a potom mu to nastaviť... Link to comment Share on other sites More sharing options...
Ondrej Igar 24 Odesláno: 5. Listopad, 2012 Author Share Odesláno: 5. Listopad, 2012 Nestačilo by to takto? public OnPlayerUpdate(playerid) { for(new id; id<50; id++) { if(GetDistanceBetweenPlayers(playerid, id) > 30) { SetPlayerVirtualWorld(playerid, playerid + 1); SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), playerid + 1); }else{ SetPlayerVirtualWorld(playerid, 0); SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), 0); } } return 1; } Inač si to mal dosť na**** ked to furt nastavovalo interior na 0 lebo ked je v interiori 1 a dá mu to na 0, takže do promenej zapisať predošlu hodnotu pred tym jak to zmeni a potom mu to nastaviť... Co to meleš? Tam neni nic o interierech, tam je Virtual World,a nevidim co jsi zmenil Striker, ano OnPlayerUpdate... ja vim... Link to comment Share on other sites More sharing options...
Globální moderátor HighPrint 177 Odesláno: 5. Listopad, 2012 Globální moderátor Share Odesláno: 5. Listopad, 2012 Můžu se zeptat na co je proměna Shoda? A jaké má využití? Link to comment Share on other sites More sharing options...
.JokeR. 0 Odesláno: 5. Listopad, 2012 Share Odesláno: 5. Listopad, 2012 10/10 Link to comment Share on other sites More sharing options...
Ondrej Igar 24 Odesláno: 5. Listopad, 2012 Author Share Odesláno: 5. Listopad, 2012 Můžu se zeptat na co je proměna Shoda? A jaké má využití? Proměnná "Shoda" najde počet hráčů v blízkosti 30 metru. Pokud jich najde 1 nebo vic, nastavi Oboum hracum jiny VirtualWorld Nestačilo by to takto? public OnPlayerUpdate(playerid) { for(new id; id<50; id++) { if(GetDistanceBetweenPlayers(playerid, id) > 30) { SetPlayerVirtualWorld(playerid, playerid + 1); SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), playerid + 1); }else{ SetPlayerVirtualWorld(playerid, 0); SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), 0); } } return 1; } Inač si to mal dosť na**** ked to furt nastavovalo interior na 0 lebo ked je v interiori 1 a dá mu to na 0, takže do promenej zapisať predošlu hodnotu pred tym jak to zmeni a potom mu to nastaviť... Ty .. skus uvažovat, co když hráč(posledni) s id 49 (pŕíklad) bude vzdálenej pd hráče více jako 30 m? No přece mu to nastavi VirtualWorld 0, proto tam je ta proměnná "Shoda" Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now