pirmiausia susikurkime kintamaji :
new surakintas[MAX_PLAYERS];
viska darysime po callbacku :
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) {
Pradėkime.
pirmiausia pradėkime nuo tikrinimo, ar žaidėjas paspaude num 2.
if(newkeys & KEY_ANALOG_DOWN) {
jei paspaudė darome toliau:
darom prisijungusiu žaidėjų ciklą ir tikrinam ar žaidėjas yra online:
for(new i=0;i<MAX_PLAYERS;i++) { if (IsPlayerConnected(i)) {
toliau gauname žaidėjo koordinates(to žaidėjo kuris paspaudė “2“)
new Float:x,Float:y,Float:z; GetPlayerPos(playerid,x,y,z);
toliau darome tikrinimą ar žaidėjas yra arti to žaidėjo kuris paspaudė tą mygtuką:
if(IsPlayerInRangeOfPoint(i,10,x,y,z) {
dabar reikia padaryti kad tas artimiausias žaidėjas nebūčiau aš pats.
if(playerid != i) {
na o toliau darome kas bus jeigu žaidėjas yra arti ir tai ne aš:
TogglePlayerControllable(playerid,false); new msg[100]; format(msg,100,"Pareigunas %s: Jus surakino!",pName(playerid)); SendClientMessage(playerid,-1,msg); format(msg,100,"Tu surakinai: %s",pName(i)); SendClientMessage(playerid,-1,msg);
dabar patikrinsime ar žaidėjas surakintas, jei jis surakintas tada atrakinsime:
if(surakintas[playerid]) { TogglePlayerControllable(playerid,ture); new msg[100]; format(msg,100,"Pareigunas %s: Jus atrakino!",pName(playerid)); SendClientMessage(playerid,-1,msg); format(msg,100,"Tu atrakinai: %s",pName(i)); SendClientMessage(playerid,-1,msg); }
na štai ir viskas.
Pilnas skriptas:
if(newkeys & KEY_ANALOG_DOWN) { for(new i=0;i<MAX_PLAYERS;i++) { new Float:x,Float:y,Float:z; GetPlayerPos(playerid,x,y,z); if (IsPlayerConnected(i)) { if(IsPlayerInRangeOfPoint(i,10,x,y,z) { if(playerid != i) { TogglePlayerControllable(playerid,false); new msg[100]; format(msg,100,"Pareigunas %s: Jus surakino!",pName(playerid)); SendClientMessage(playerid,-1,msg); format(msg,100,"Tu surakinai: %s",pName(i)); SendClientMessage(playerid,-1,msg); surakintas[playerid]=true; // padarom kad zaidejas surakintas if(surakintas[playerid]) { TogglePlayerControllable(playerid,ture); new msg[100]; format(msg,100,"Pareigunas %s: Jus atrakino!",pName(playerid)); SendClientMessage(playerid,-1,msg); format(msg,100,"Tu atrakinai: %s",pName(i)); SendClientMessage(playerid,-1,msg); surakintas[playerid]=false; // padarom kad zaidejas atrakintas } } } } } return 1; }
SendClientMessage(playerid,-1,msg);
nereik pridėt spalvos kartais.. ?
-1 ir yra spalva