Wysłany: 2014-11-27, 18:25
carl0987
Wiek: 37 Na forum: 4891 dni Posty: 295
Nick w MP: Lolek
Piwa : 10
Witam.
Potrzebuj? co? takiego ?e jak admin wpisze /setevent to zapisuje kordy gdzie stoi admin i gdy jakis gracz wpisze /event to go tam teleportuje gdzie zapisa?o kordy.
Wysłany: 2014-11-27, 18:59
_Lukaszniko_
Wiek: 31 Na forum: 5175 dni Posty: 36
Piwa : 11
Kod: new Float:EvPos[4];
CMD:setevent(playerid, params[])
{
//sprawdzenie czy gracz jest adminem
GetPlayerPos(playerid, Player[playerid][EvPos][0], Player[playerid][EvPos][1], Player[playerid][EvPos][2]);
GetPlayerFacingAngle(playerid, Player[playerid][EvPos][3]);
SendClientMessage(playerid, COLOR_ORANGE, "Pozycja startowa eventu zosta?a zapisana");
return 1;
}
CMD:event(playerid, params[])
{
if(Player[playerid][EvPos][0] == 0.0 && Player[playerid][EvPos][1] == 0.0 && Player[playerid][EvPos][2] == 0.0)
{
SendClientMessage(playerid, COLOR_ERROR, "Admin nie zapisa? spawnu pozycji eventu.");
return 1;
}
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
SetVehiclePos(GetPlayerVehicleID(playerid),Player[playerid][EvPos][0], Player[playerid][EvPos][1], Player[playerid][EvPos][2]);
SetVehicleZAngle(GetPlayerVehicleID(playerid),Player[playerid][EvPos][3]);
SendClientMessage(playerid, COLOR_ORANGE, "Pozycja EV zosta?a wczytana.");
}
else
{
SetPlayerPos(playerid, Player[playerid][EvPos][0], Player[playerid][EvPos][1], Player[playerid][EvPos][2]);
SetPlayerFacingAngle(playerid, Player[playerid][EvPos][3]);
SendClientMessage(playerid, COLOR_ORANGE, " Pozycja EV zosta?a wczytana");
}
return 1;
}
Ale mam w?tpliwo?ci co do miejsca zadeklarowania zmiennej EvPos
Wysłany: 2014-11-27, 21:40
carl0987
Wiek: 37 Na forum: 4891 dni Posty: 295
Nick w MP: Lolek
Piwa : 10
B??d istnieje w tej linijce:
Kod: GetPlayerPos(playerid, Player[playerid][EvPos][0], Player[playerid][EvPos][1], Player[playerid][EvPos][2]);
a errory to:
Kod:
C:\Users\ThePolishMoosePL\Desktop\samp eco truck\et2014.pwn(2473) : error 028: invalid subscript (not an array or too many subscripts): "Player"
C:\Users\ThePolishMoosePL\Desktop\samp eco truck\et2014.pwn(2473) : warning 215: expression has no effect
C:\Users\ThePolishMoosePL\Desktop\samp eco truck\et2014.pwn(2473) : error 001: expected token: ";", but found "]"
C:\Users\ThePolishMoosePL\Desktop\samp eco truck\et2014.pwn(2473) : error 029: invalid expression, assumed zero
C:\Users\ThePolishMoosePL\Desktop\samp eco truck\et2014.pwn(2473) : fatal error 107: too many error messages on one line
Wysłany: 2014-11-28, 01:25
Sillence
Wiek: 26 Na forum: 5157 dni Posty: 1514
Nick w MP: Sillence
Piwa : 1517
_Lukaszniko_ , To b?dzie dzia?a? na gracza, kt?ry u?y? komendy /setevent. Nie na wszystkich )
Kod: new Float:Pos[4];
CMD:setevent(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Nie jeste? Adminem!");
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
GetPlayerFacingAngle(playerid, Pos[3]);
SendClientMessage(playerid, -1, "Pozycja startowa eventu zosta?a zapisana");
for(new i = 0; i < MAX_PLAYERS; i++)
{
SetPVarFloat(i, "posX", Pos[0]);
SetPVarFloat(i, "posY", Pos[1]);
SetPVarFloat(i, "posZ", Pos[2]);
SetPVarFloat(i, "posA", Pos[3]);
}
return 1;
}
CMD:event(playerid, params[])
{
Pos[0]=GetPVarFloat(playerid, "posX");
Pos[1]=GetPVarFloat(playerid, "posY");
Pos[2]=GetPVarFloat(playerid, "posZ");
Pos[3]=GetPVarFloat(playerid, "posA");
if(Pos[0] == 0.0 && Pos[1] == 0.0 && Pos[1] == 0.0)
{
SendClientMessage(playerid, -1, "Admin nie zapisa? spawnu pozycji eventu.");
return 1;
}
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
SetVehiclePos(GetPlayerVehicleID(playerid),Pos[0], Pos[1], Pos[2]);
SetVehicleZAngle(GetPlayerVehicleID(playerid),Pos[3]);
SendClientMessage(playerid, -1, "Pozycja EV zosta?a wczytana.");
}
else
{
SetPlayerPos(playerid,Pos[0], Pos[1], Pos[2]);
SetPlayerFacingAngle(playerid, Pos[3]);
SendClientMessage(playerid, -1, " Pozycja EV zosta?a wczytana");
}
return 1;
}
Wysłany: 2014-11-28, 09:56
Combacior
Wiek: 29 Na forum: 5796 dni Posty: 1516
Piwa : 2161
Cytat: Witam.
Potrzebuj? co? takiego ?e jak admin wpisze /setevent to zapisuje kordy gdzie stoi admin i gdy jakis gracz wpisze /event to go tam teleportuje gdzie zapisa?o kordy.
Nie wiem, gdzie tutaj przeczyta?e?, ?e ma dzia?a? na wszystkich graczy. Nie wiem te? po co p?tla na PVary, skoro mo?na u?y? tablicy globalnej.
Kod: new Float:EvPos[3];
CMD:setevent(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) return 0;
GetPlayerPos(playerid, EvPos[0], EvPos[1], EvPos[2]);
return SendClientMessage(playerid, COLOR_ORANGE, "Pozycja startowa eventu zosta?a zapisana");
}
CMD:event(playerid, params[])
{
if(EvPos[0] == 0.0 && EvPos[1] == 0.0) return SendClientMessage(playerid, COLOR_ERROR, "Admin nie zapisa? spawnu pozycji eventu.");
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) SetVehiclePos(GetPlayerVehicleID(playerid), EvPos[0], EvPos[1], EvPos[2]);
else SetPlayerPos(playerid, EvPos[0], EvPos[1], EvPos[2]);
return SendClientMessage(playerid, COLOR_ORANGE, "Pozycja EV zosta?a wczytana");
}
Nie zapominaj o takich rzeczach jak wirtualny ?wiat czy interior admina, bo aktualny kod zmienia tylko pozycj?.
Wysłany: 2014-12-01, 14:49
carl0987
Wiek: 37 Na forum: 4891 dni Posty: 295
Nick w MP: Lolek
Piwa : 10
To porostu zrobic teleport kt?ry b?dzie zmienia? id interioru
Tagi: komenda :: teleportu
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: