-
Üdv!
Lenne egy olyan problémám, a /goto(m) nevû parancsnál:
Még pedig, ha teleportálni szeretnék,a következõt írja:
[20:51:43] {FF0000}[ADMIN]:{00FF00} \"]R.T.M.[Mate\" teleportált hozzá: \"]R.T.M.[Mate\"
Bárkihez teleportálok ezt írja,a nevet,mind 2 helyre. (PL: ID:1-hez teleportálok,oda teleportál,de nem jól írja ki.)
Maga a parancs:
dcmd_gotom(playerid,params[]) {
if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
if(!strlen(params)) return SendClientMessage(playerid,red,\"Használat: /goto [playerid]\");
new player1;
new playerid1, name[MAX_PLAYER_NAME];
new giveplayerid, giveplayername[MAX_PLAYER_NAME];
new name[MAX_PLAYER_NAME];
new string[128];
if(!IsNumeric(params)) player1 = ReturnPlayerID(params);
else player1 = strval(params);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid) {
CMDMessageToAdmins(playerid,\"/gotom\");
new Float:x, Float:y, Float:z; GetPlayerPos(player1,x,y,z); SetPlayerInterior(playerid,GetPlayerInterior(player1));
SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(player1));
if(GetPlayerState(playerid) == 2) {
SetVehiclePos(GetPlayerVehicleID(playerid),x+3,y,z); LinkVehicleToInterior(GetPlayerVehicleID(playerid),GetPlayerInterior(player1));
SetVehicleVirtualWorld(GetPlayerVehicleID(playerid),GetPlayerVirtualWorld(player1));
} else SetPlayerPos(playerid,x+2,y,z);
GetPlayerName(playerid1,name,sizeof(name));
GetPlayerName(giveplayerid,giveplayername,sizeof(giveplayername));
format(string,sizeof(string),\"{FF0000}[ADMIN]:{00FF00} \\\"%s\\\" teleportált hozzá: \\\"%s\\\"\",name,giveplayername);
SendClientMessageToAll(grey,string);
} else return SendClientMessage(playerid, red, \"Játékos nincs csatlakozva vagy, magadat akartad\");
} else return SendClientMessage(playerid,red,\"HIBA: Ehez a parancshoz legalább 2-es szintû adminnak kéne lenned!\");
return 1;
}
-
format(string,sizeof(string),\"{FF0000}[ADMIN]:{00FF00} \\\"%s\\\" teleportált hozzá: \\\"%s\\\"\",name,giveplayername);
Ezzel a sorral van a baj....
-
Amint lesz kivel tesztelnem,le tesztelem. :D
-
Am van baj ezzel a paranccsal....
dcmd_gotom(playerid,params[]) {
if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
if(!strlen(params)) return SendClientMessage(playerid,red,\"Használat: /goto [playerid]\");
new player1;
new playerid1, name[MAX_PLAYER_NAME];
new giveplayerid, giveplayername[MAX_PLAYER_NAME];
new name[MAX_PLAYER_NAME];
new string[128];
if(!IsNumeric(params)) player1 = ReturnPlayerID(params);
else player1 = strval(params);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid) {
CMDMessageToAdmins(playerid,\"/gotom\");
new Float:x, Float:y, Float:z; GetPlayerPos(player1,x,y,z); SetPlayerInterior(playerid,GetPlayerInterior(player1));
SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(player1));
if(GetPlayerState(playerid) == 2) {
SetVehiclePos(GetPlayerVehicleID(playerid),x+3,y,z); LinkVehicleToInterior(GetPlayerVehicleID(playerid),GetPlayerInterior(player1));
SetVehicleVirtualWorld(GetPlayerVehicleID(playerid),GetPlayerVirtualWorld(player1));
} else SetPlayerPos(playerid,x+2,y,z);
GetPlayerName(playerid1,name,sizeof(name));
GetPlayerName(giveplayerid,giveplayername,sizeof(giveplayername));
format(string,sizeof(string),\"{FF0000}[ADMIN]:{00FF00} \\\"%s\\\" teleportált hozzá: \\\"%s\\\"\",name,giveplayername);
SendClientMessageToAll(grey,string);
} else return SendClientMessage(playerid, red, \"Játékos nincs csatlakozva vagy, magadat akartad\");
} else return SendClientMessage(playerid,red,\"HIBA: Ehez a parancshoz legalább 2-es szintû adminnak kéne lenned!\");
return 1;
}
kétszer van ez is benne
new name[MAX_PLAYERS];
dcmd_gotom(playerid,params[]) {
if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
if(!strlen(params)) return SendClientMessage(playerid,red,\"Használat: /goto [playerid]\");
new player1;
new giveplayerid, giveplayername[MAX_PLAYER_NAME];
new name[MAX_PLAYER_NAME];
new string[128];
if(!IsNumeric(params)) player1 = ReturnPlayerID(params);
else player1 = strval(params);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid) {
CMDMessageToAdmins(playerid,\"/gotom\");
new Float:x, Float:y, Float:z; GetPlayerPos(player1,x,y,z); SetPlayerInterior(playerid,GetPlayerInterior(player1));
SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(player1));
if(GetPlayerState(playerid) == 2) {
SetVehiclePos(GetPlayerVehicleID(playerid),x+3,y,z); LinkVehicleToInterior(GetPlayerVehicleID(playerid),GetPlayerInterior(player1));
SetVehicleVirtualWorld(GetPlayerVehicleID(playerid),GetPlayerVirtualWorld(player1));
} else SetPlayerPos(playerid,x+2,y,z);
GetPlayerName(playerid,name,sizeof(name));
GetPlayerName(giveplayerid,giveplayername,sizeof(giveplayername));
format(string,sizeof(string),\"{FF0000}[ADMIN]:{00FF00} \\\"%s\\\" teleportált hozzá: \\\"%s\\\"\",name(playerid),giveplayername(giveplayerid));
SendClientMessageToAll(grey,string);
} else return SendClientMessage(playerid, red, \"Játékos nincs csatlakozva vagy, magadat akartad\");
} else return SendClientMessage(playerid,red,\"HIBA: Ehez a parancshoz legalább 2-es szintû adminnak kéne lenned!\");
return 1;
}
Így lesz valószínû jó ez elõbb hülyeséget írtam....
-
Hibák:
D:\\Máté\\[sZERVER]\\filterscripts\\admin.pwn(2541) : error 010: invalid function or declaration
D:\\Máté\\[sZERVER]\\filterscripts\\admin.pwn(2561) : error 012: invalid function call, not a valid address
D:\\Máté\\[sZERVER]\\filterscripts\\admin.pwn(2561) : warning 215: expression has no effect
D:\\Máté\\[sZERVER]\\filterscripts\\admin.pwn(2561) : error 001: expected token: \";\", but found \")\"
D:\\Máté\\[sZERVER]\\filterscripts\\admin.pwn(2561) : error 029: invalid expression, assumed zero
D:\\Máté\\[sZERVER]\\filterscripts\\admin.pwn(2561) : fatal error 107: too many error messages on one line
Hibás sor:
format(string,sizeof(string),\"{FF0000}[ADMIN]:{00FF00} \\\"%s\\\" teleportált hozzá: \\\"%s\\\"\",name(playerid),giveplayername(giveplayerid));
-
RTM[Mate\" post=501430\" timestamp=\"1402918720]
Hibák:
D:\\Máté\\[sZERVER]\\filterscripts\\admin.pwn(2541) : error 010: invalid function or declaration
D:\\Máté\\[sZERVER]\\filterscripts\\admin.pwn(2561) : error 012: invalid function call, not a valid address
D:\\Máté\\[sZERVER]\\filterscripts\\admin.pwn(2561) : warning 215: expression has no effect
D:\\Máté\\[sZERVER]\\filterscripts\\admin.pwn(2561) : error 001: expected token: \";\", but found \")\"
D:\\Máté\\[sZERVER]\\filterscripts\\admin.pwn(2561) : error 029: invalid expression, assumed zero
D:\\Máté\\[sZERVER]\\filterscripts\\admin.pwn(2561) : fatal error 107: too many error messages on one line
Hibás sor:
format(string,sizeof(string),\"{FF0000}[ADMIN]:{00FF00} \\\"%s\\\" teleportált hozzá: \\\"%s\\\"\",name(playerid),giveplayername(giveplayerid));
[/quote]
próbáld meg most így hogy nincs 2x benne a new name[MAX_PLAYERS]; eredeti formájában ezt a sort...
-
Azt már régen kiszedtem.
-
Ennek már jónak kell lennie:
dcmd_gotom(playerid, params[])
{
if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid))
{
if(!strlen(params)) return SendClientMessage(playerid, red, \"Használat: /gotom [playerid]\");
new name[MAX_PLAYER_NAME];
new giveplayerid, giveplayername[MAX_PLAYER_NAME];
new string[128];
if(!IsNumeric(params)) giveplayerid = ReturnPlayerID(params);
else giveplayerid = strval(params);
if(IsPlayerConnected(giveplayerid) && giveplayerid != INVALID_PLAYER_ID && giveplayerid != playerid)
{
CMDMessageToAdmins(playerid, \"/gotom\");
new Float:x, Float:y, Float:z;
GetPlayerPos(giveplayerid, x, y, z);
SetPlayerInterior(playerid, GetPlayerInterior(giveplayerid));
SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(giveplayerid));
if(GetPlayerState(playerid) == 2)
{
SetVehiclePos(GetPlayerVehicleID(playerid), x+3, y, z);
LinkVehicleToInterior(GetPlayerVehicleID(playerid), GetPlayerInterior(giveplayerid));
SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), GetPlayerVirtualWorld(giveplayerid));
}
else SetPlayerPos(playerid, x+2, y, z);
GetPlayerName(playerid, name, sizeof(name));
GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
format(string,sizeof(string), \"{FF0000}[ADMIN]:{00FF00} \\\"%s\\\" teleportált hozzá: \\\"%s\\\"\", name, giveplayername);
SendClientMessageToAll(grey, string);
}
else return SendClientMessage(playerid, red, \"Játékos nincs csatlakozva vagy, magadat akartad\");
}
else return SendClientMessage(playerid, red, \"HIBA: Ehez a parancshoz legalább 2-es szintû adminnak kéne lenned!\");
return 1;
}
-
Amint lesz kivel tesztelnem,le tesztelem. :D [/quote]
Dupla hozzászólás automatikusan összefûzve. ( 2014. június 16. - 20:52:23 )
Meg mondanád mit írtál át rajta ?
Mûködik,és van több ilyen parancsom ami nem igazán mûködik,néztem nem igazán láttam át annyira.
-
- Kétszer volt a \'name\' változó.
- A \'playerid1\' felesleges, mivel az a \'playerid\' lenne.
- A \'player1\' változót átneveztem \'giveplayerid\'-re, ez lenne az a játékos, akihez teleportálsz.
- Valamint tagoltam a sorokat, azaz szépítettem a parancs összetételén.
-
Rendben.
Köszönöm a segítségét. :)