Skripta koju koristim: NGRP
Detaljan opis problema: Treba napraviti da ovu komandu igraÄ moze koristiti samo kada je u kući, vidite na vrhu komande sam to pokuÅ¡ao ali ne radi, tj. kada upiÅ¡em opet gledam tv
Dio provjere:
new i = PlayerInfo[playerid][pPosedovanjeKuce];
if( (!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i]
Dio skripte:
CMD:watchtv(playerid, params[])
{
new i = PlayerInfo[playerid][pPosedovanjeKuce];
if( (!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ])) || WatchingTV[playerid] != 0)
if(broadcasting == 0)
{
SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Nema nista na TV-u, izadji malo napolje igraj se sa ostalom djecom!");
return 1;
}
new string[128];
if(WatchingTV[playerid] == 0)
{
format(string, sizeof(string), "* %s uzima daljinski i pali tv", GetPlayerNameEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW);
SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Kucaj opet /watchtv da prestanes gledati");
BroadcastLastVW[playerid] = GetPlayerVirtualWorld(playerid);
BroadcastLastInt[playerid] = GetPlayerInterior(playerid);
GetPlayerPos(playerid, BroadcastFloats[playerid][1], BroadcastFloats[playerid][2], BroadcastFloats[playerid][3]);
GetPlayerFacingAngle(playerid, BroadcastFloats[playerid][0]);
WatchingTV[playerid] = 1;
viewers++;
UpdateSANewsBroadcast();
TogglePlayerControllable(playerid, false);
SetPlayerInterior(playerid, 1);
SetPlayerVirtualWorld(playerid, 4225);
SetPlayerPos(playerid, 639.2813,-11.8090,1111.4656);
if(cameraangle == 0)
{
SetPlayerCameraPos(playerid, 635.6883,-11.1890,1108.6041);
SetPlayerCameraLookAt(playerid, 641.3040,-12.2565,1108.1642);
}
else if(cameraangle == 1)
{
SetPlayerCameraPos(playerid, 637.9041,-8.3097,1108.9656);
SetPlayerCameraLookAt(playerid, 640.9764,-14.7714,1107.9656);
}
else if(cameraangle == 2)
{
SetPlayerCameraPos(playerid, 638.6522,-15.6267,1108.9656);
SetPlayerCameraLookAt(playerid, 640.7208,-9.5926,1107.2006);
}
else
{
SetPlayerCameraPos(playerid, 635.6883,-11.1890,1108.6041);
SetPlayerCameraLookAt(playerid, 641.3040,-12.2565,1108.1642);
}
}
else
{
TogglePlayerControllable(playerid, 0);
GameTextForPlayer(playerid, "Ucitavanje objekata...", 4000, 5);
SetPVarInt(playerid, "Loading..Interior", 1);
SetTimerEx("SafeLoadObjects", 4000, 0, "d", playerid);
SetPlayerPos(playerid,BroadcastFloats[playerid][1],BroadcastFloats[playerid][2],BroadcastFloats[playerid][3]);
SetPlayerVirtualWorld(playerid, BroadcastLastVW[playerid]);
PlayerInfo[playerid][pVW] = BroadcastLastVW[playerid];
SetPlayerInterior(playerid, BroadcastLastInt[playerid]);
PlayerInfo[playerid][pInt] = BroadcastLastInt[playerid];
SetPlayerFacingAngle(playerid, BroadcastFloats[playerid][0]);
SetCameraBehindPlayer(playerid);
WatchingTV[playerid] = 0;
viewers--;
UpdateSANewsBroadcast();
format(string, sizeof(string), "* %s uzima daljinski i gasi TV!", GetPlayerNameEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW);
}
return 1;
}
Neke slike: Nije potrebno
CMD:watchtv(playerid, params[])
{
new i = PlayerInfo[playerid][pPosedovanjeKuce];
//if( (!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ])) || WatchingTV[playerid] != 0)
if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ])) return SCM (playerid, -1, "Niste u kuci !");
if(broadcasting == 0)
{
SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Nema nista na TV-u, izadji malo napolje igraj se sa ostalom djecom!");
return 1;
}
new string[128];
if(WatchingTV[playerid] == 0)
{
format(string, sizeof(string), "* %s uzima daljinski i pali tv", GetPlayerNameEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW);
SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Kucaj opet /watchtv da prestanes gledati");
BroadcastLastVW[playerid] = GetPlayerVirtualWorld(playerid);
BroadcastLastInt[playerid] = GetPlayerInterior(playerid);
GetPlayerPos(playerid, BroadcastFloats[playerid][1], BroadcastFloats[playerid][2], BroadcastFloats[playerid][3]);
GetPlayerFacingAngle(playerid, BroadcastFloats[playerid][0]);
WatchingTV[playerid] = 1;
viewers++;
UpdateSANewsBroadcast();
TogglePlayerControllable(playerid, false);
SetPlayerInterior(playerid, 1);
SetPlayerVirtualWorld(playerid, 4225);
SetPlayerPos(playerid, 639.2813,-11.8090,1111.4656);
if(cameraangle == 0)
{
SetPlayerCameraPos(playerid, 635.6883,-11.1890,1108.6041);
SetPlayerCameraLookAt(playerid, 641.3040,-12.2565,1108.1642);
}
else if(cameraangle == 1)
{
SetPlayerCameraPos(playerid, 637.9041,-8.3097,1108.9656);
SetPlayerCameraLookAt(playerid, 640.9764,-14.7714,1107.9656);
}
else if(cameraangle == 2)
{
SetPlayerCameraPos(playerid, 638.6522,-15.6267,1108.9656);
SetPlayerCameraLookAt(playerid, 640.7208,-9.5926,1107.2006);
}
else
{
SetPlayerCameraPos(playerid, 635.6883,-11.1890,1108.6041);
SetPlayerCameraLookAt(playerid, 641.3040,-12.2565,1108.1642);
}
}
else
{
TogglePlayerControllable(playerid, 0);
GameTextForPlayer(playerid, "Ucitavanje objekata...", 4000, 5);
SetPVarInt(playerid, "Loading..Interior", 1);
SetTimerEx("SafeLoadObjects", 4000, 0, "d", playerid);
SetPlayerPos(playerid,BroadcastFloats[playerid][1],BroadcastFloats[playerid][2],BroadcastFloats[playerid][3]);
SetPlayerVirtualWorld(playerid, BroadcastLastVW[playerid]);
PlayerInfo[playerid][pVW] = BroadcastLastVW[playerid];
SetPlayerInterior(playerid, BroadcastLastInt[playerid]);
PlayerInfo[playerid][pInt] = BroadcastLastInt[playerid];
SetPlayerFacingAngle(playerid, BroadcastFloats[playerid][0]);
SetCameraBehindPlayer(playerid);
WatchingTV[playerid] = 0;
viewers--;
UpdateSANewsBroadcast();
format(string, sizeof(string), "* %s uzima daljinski i gasi TV!", GetPlayerNameEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW);
}
return 1;
}
Hvala, mozes mi ovo usput vio sam komandu za davanje promoera, ali ne ispisuje ime u dijelu "AdministraTOR (nick) vam je dao promotera"
Isto ne ispisuje "Dali ste igracu (NICK) PROmotera"
Mozes li mi top popraviti u komandama, problem je samo sto nick ne ispisuje
//KOMANDA ZA STAVLJANJE PROMOTERA
CMD:ppromotera(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] < 1338) return SCM(playerid, WHITE, "{FFFFFF}BG:RP Info | {00c0ff}Nemate ovlastenje za upotrebu ove komande!");
new string[128];
new pName[MAX_PLAYER_NAME];
new giveplayer[MAX_PLAYER_NAME];
new id;
new skin;
GetPlayerName(playerid, pName, 24);
if(sscanf(params, "ud", id,skin)) return SendClientMessage(playerid, 0xFFFFFFAA, "Koristi: /ppromotera [ID/Dio imena] [1]");
if(!IsPlayerConnected(id)) return SCM(playerid,-1,"Taj igrac nije na serveru");
PlayerInfo[id][pPromoter] = 1;
format(string, sizeof(string), "Admin %s ti je dao promotera, sve komande mozete pogledati na /phelp", pName);
SCM(id,COLOR_ERVINCRVENA, string);
SCMF(playerid,WHITE,"{FF0000}NB Adm | {00C0FF}Dali ste igracu %s promotera.", giveplayer);
return 1;
}
//KOMANDA ZA SKIDANJE
CMD:spromotera(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] < 1338) return SCM(playerid, WHITE, "{FFFFFF}BG:RP Info | {00c0ff}Nemate ovlastenje za upotrebu ove komande!");
new string[128];
new pName[MAX_PLAYER_NAME];
new giveplayer[MAX_PLAYER_NAME];
new id;
new skin;
GetPlayerName(playerid, pName, 24);
if(sscanf(params, "ud", id,skin)) return SendClientMessage(playerid, 0xFFFFFFAA, "Koristi: /spromotera [ID/Dio imena] [1]");
if(!IsPlayerConnected(id)) return SCM(playerid,-1,"Taj igrac nije na serveru");
PlayerInfo[id][pPromoter] = 0;
format(string, sizeof(string), "Admin %s vam je skinuo promotera!", pName);
SCM(id,COLOR_ERVINCRVENA, string);
SCMF(playerid,WHITE,"{FF0000}NB Adm | {00C0FF}Skinuli ste igracu %s promotera.", giveplayer);
return 1;
}
Obrisi te 2 komande sto radis s 2 komande kad sve to mozes sa jednom komandom :D
CMD:makepromoter(playerid, params[])
{
new
string[128],
id,
level;
if (PlayerInfo[playerid][pAdmin] < 1338) return SCM(playerid, WHITE, "{FFFFFF}BG:RP Info | {00c0ff}Nemate ovlastenje za upotrebu ove komande!");
if (sscanf(params, "ud", id, level)) return SendClientMessage(playerid, 0xFFFFFFAA, "Koristi: /spromotera [ID/Dio imena] [Level]");
if (id == INVALID_PLAYER_ID) return SCM(playerid,-1,"Taj igrac nije na serveru");
if (level == 0)
{
format(string, sizeof(string), "Admin %s vam je skinuo promotera!", GetName(playerid));
SCM(id,COLOR_ERVINCRVENA, string);
SCM(playerid,WHITE,"{FF0000}NB Adm | {00C0FF}Skinuli ste igracu %s promotera.", GetName(id));
}
else
{
format(string, sizeof(string), "Admin %s ti je dao promotera, sve komande mozete pogledati na /phelp", GetName(playerid));
SCM(id,COLOR_ERVINCRVENA, string);
SCM(playerid,WHITE,"{FF0000}NB Adm | {00C0FF}Dali ste igracu %s promotera.", GetName(id));
}
PlayerInfo[id][pPromoter] = level;
return 1;
}
Takodje GetName ako ga nemas
stock GetName(playerid)
{
new pName[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
return pName;
}
Hvala brate puuno, i izvini Å¡to smaram testirao sam komandu /watchtv i radi prvi puta tj. kada hocu da gledam tv, problem je kada hocu da prestanem gledati kucam /watchtv i pise da nisam u kuci, mislim da treba malo drugaÄije provjeru napravit :D
Sredi u komandi da u koliko gleda TV da mu ne proverava jel u kuci ili ne...
ne znam kako, mozes neki primjer molim te ?
Aj probaj ovako ako ne bude radilo vici
CMD:watchtv(playerid, params[])
{
new i = PlayerInfo[playerid][pPosedovanjeKuce];
if( (!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ])) || WatchingTV[playerid] != 0) return SCM (playerid, -1, "Niste u kuci !");
if(broadcasting == 0)
{
SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Nema nista na TV-u, izadji malo napolje igraj se sa ostalom djecom!");
return 1;
}
new string[128];
if(WatchingTV[playerid] == 0)
{
format(string, sizeof(string), "* %s uzima daljinski i pali tv", GetPlayerNameEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW);
SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Kucaj opet /watchtv da prestanes gledati");
BroadcastLastVW[playerid] = GetPlayerVirtualWorld(playerid);
BroadcastLastInt[playerid] = GetPlayerInterior(playerid);
GetPlayerPos(playerid, BroadcastFloats[playerid][1], BroadcastFloats[playerid][2], BroadcastFloats[playerid][3]);
GetPlayerFacingAngle(playerid, BroadcastFloats[playerid][0]);
WatchingTV[playerid] = 1;
viewers++;
UpdateSANewsBroadcast();
TogglePlayerControllable(playerid, false);
SetPlayerInterior(playerid, 1);
SetPlayerVirtualWorld(playerid, 4225);
SetPlayerPos(playerid, 639.2813,-11.8090,1111.4656);
if(cameraangle == 0)
{
SetPlayerCameraPos(playerid, 635.6883,-11.1890,1108.6041);
SetPlayerCameraLookAt(playerid, 641.3040,-12.2565,1108.1642);
}
else if(cameraangle == 1)
{
SetPlayerCameraPos(playerid, 637.9041,-8.3097,1108.9656);
SetPlayerCameraLookAt(playerid, 640.9764,-14.7714,1107.9656);
}
else if(cameraangle == 2)
{
SetPlayerCameraPos(playerid, 638.6522,-15.6267,1108.9656);
SetPlayerCameraLookAt(playerid, 640.7208,-9.5926,1107.2006);
}
else
{
SetPlayerCameraPos(playerid, 635.6883,-11.1890,1108.6041);
SetPlayerCameraLookAt(playerid, 641.3040,-12.2565,1108.1642);
}
}
else
{
TogglePlayerControllable(playerid, 0);
GameTextForPlayer(playerid, "Ucitavanje objekata...", 4000, 5);
SetPVarInt(playerid, "Loading..Interior", 1);
SetTimerEx("SafeLoadObjects", 4000, 0, "d", playerid);
SetPlayerPos(playerid,BroadcastFloats[playerid][1],BroadcastFloats[playerid][2],BroadcastFloats[playerid][3]);
SetPlayerVirtualWorld(playerid, BroadcastLastVW[playerid]);
PlayerInfo[playerid][pVW] = BroadcastLastVW[playerid];
SetPlayerInterior(playerid, BroadcastLastInt[playerid]);
PlayerInfo[playerid][pInt] = BroadcastLastInt[playerid];
SetPlayerFacingAngle(playerid, BroadcastFloats[playerid][0]);
SetCameraBehindPlayer(playerid);
WatchingTV[playerid] = 0;
viewers--;
UpdateSANewsBroadcast();
format(string, sizeof(string), "* %s uzima daljinski i gasi TV!", GetPlayerNameEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW);
}
return 1;
}
Ne radi brate, ako ti je lakše bi l' mi mogao napravit komandu /ugasitv mozda bi tako radila :D a iz /watchtv izbacit ovu drugu provjeru za gasenje
Pa ajd moze i tako
CMD:watchtv(playerid, params[])
{
new i = PlayerInfo[playerid][pPosedovanjeKuce];
if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ])) return SCM (playerid, -1, "Niste u kuci !");
if(broadcasting == 0)
{
SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Nema nista na TV-u, izadji malo napolje igraj se sa ostalom djecom!");
return 1;
}
new string[128];
if(WatchingTV[playerid] == 0)
{
format(string, sizeof(string), "* %s uzima daljinski i pali tv", GetPlayerNameEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW);
SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Kucaj opet /watchtv da prestanes gledati");
BroadcastLastVW[playerid] = GetPlayerVirtualWorld(playerid);
BroadcastLastInt[playerid] = GetPlayerInterior(playerid);
GetPlayerPos(playerid, BroadcastFloats[playerid][1], BroadcastFloats[playerid][2], BroadcastFloats[playerid][3]);
GetPlayerFacingAngle(playerid, BroadcastFloats[playerid][0]);
WatchingTV[playerid] = 1;
viewers++;
UpdateSANewsBroadcast();
TogglePlayerControllable(playerid, false);
SetPlayerInterior(playerid, 1);
SetPlayerVirtualWorld(playerid, 4225);
SetPlayerPos(playerid, 639.2813,-11.8090,1111.4656);
if(cameraangle == 0)
{
SetPlayerCameraPos(playerid, 635.6883,-11.1890,1108.6041);
SetPlayerCameraLookAt(playerid, 641.3040,-12.2565,1108.1642);
}
else if(cameraangle == 1)
{
SetPlayerCameraPos(playerid, 637.9041,-8.3097,1108.9656);
SetPlayerCameraLookAt(playerid, 640.9764,-14.7714,1107.9656);
}
else if(cameraangle == 2)
{
SetPlayerCameraPos(playerid, 638.6522,-15.6267,1108.9656);
SetPlayerCameraLookAt(playerid, 640.7208,-9.5926,1107.2006);
}
else
{
SetPlayerCameraPos(playerid, 635.6883,-11.1890,1108.6041);
SetPlayerCameraLookAt(playerid, 641.3040,-12.2565,1108.1642);
}
}
return 1;
}
CMD:ugasitv(playerid, params[])
{
#pragma unused params
if (WatchingTV[playerid] == 0) return SCM (playerid, -1, "Ne gledate TV !");
TogglePlayerControllable(playerid, 0);
GameTextForPlayer(playerid, "Ucitavanje objekata...", 4000, 5);
SetPVarInt(playerid, "Loading..Interior", 1);
SetTimerEx("SafeLoadObjects", 4000, 0, "d", playerid);
SetPlayerPos(playerid,BroadcastFloats[playerid][1],BroadcastFloats[playerid][2],BroadcastFloats[playerid][3]);
SetPlayerVirtualWorld(playerid, BroadcastLastVW[playerid]);
PlayerInfo[playerid][pVW] = BroadcastLastVW[playerid];
SetPlayerInterior(playerid, BroadcastLastInt[playerid]);
PlayerInfo[playerid][pInt] = BroadcastLastInt[playerid];
SetPlayerFacingAngle(playerid, BroadcastFloats[playerid][0]);
SetCameraBehindPlayer(playerid);
WatchingTV[playerid] = 0;
viewers--;
UpdateSANewsBroadcast();
format(string, sizeof(string), "* %s uzima daljinski i gasi TV!", GetPlayerNameEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW);
return 1;
}
Hvala brate, napravio sam provjeru ja puno hvala
Lock please :D