CMD:goto(playerid, params[]){new giveplayerid;new Float:x, Float:y, Float:z;if(sscanf(params, \"u\", giveplayerid)) return SendClientMessage(playerid, 0xFF0000AA, \"Használat: /goto [playerid]\");if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, 0xFF0000AA, \"Hiba: Nincs ilyen játékos!\");GetPlayerPos(giveplayerid, x, y, z);SetPlayerPos(playerid, x, y, z); SetPlayerInterior(playerid, GetPlayerInterior(giveplayerid));new name[MAX_PLAYER_NAME], string[200];GetPlayerName(playerid, name, sizeof(name));format(string, sizeof string, \"%s elteleportált hozzá: %s\", name, giveplayerid);SendClientMessageToAll(0xFF0000AA,string);return 1;}
Szerintem a SetPlayerPos(playerid, x, y, z); azt így:SetPlayerPos(playerid, x+3, y, z);
GetPlayerName(playerid, giveplayerid, sizeof(giveplayerid));
Oké.De most nézem, hogy egy sort kihagyál a goto-ból! GetPlayerName(playerid, giveplayerid, sizeof(giveplayerid));
CMD:goto(playerid,params[]){new celid, string[128], Float:hely[3], nev[MAX_PLAYER_NAME][2];if(sscanf(params, \"u\", celid)) return SendClientMessage(playerid, COLOR_LIGHTBLUE, \"HASZNÁLAT: /goto (játékosid/név)\");else if(!IsPlayerConnected(celid) && celid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, \"HIBA: Nincs ilyen játékos a szerveren, vagy az adott játékos te vagy!\");GetPlayerPos(celid, hely[0], hely[1], hely[2]); SetPlayerInterior(playerid, GetPlayerInterior(celid));SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(celid));if(GetPVarInt(celid, \"goto\") == 1){if(GetPlayerState(playerid) == 2){ SetVehiclePos(GetPlayerVehicleID(playerid),hely[0]+2, hely[1], hely[2]); LinkVehicleToInterior(GetPlayerVehicleID(playerid), GetPlayerInterior(celid)); SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), GetPlayerVirtualWorld(celid)); GetPlayerName(playerid, nev[0], sizeof(nev)); GetPlayerName(celid, nev[1], sizeof(nev)); format(string,sizeof(string),\"%s elteleportált hozzád!\", nev[0]); SendClientMessage(celid, COLOR_LIGHTBLUE, string); format(string,sizeof(string),\"Elteleportáltál %s-hez(hoz)!\", nev[1]); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); return 1;}else{ SetPlayerPos(playerid, hely[0], hely[1], hely[2]); SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(celid)); SetPlayerInterior(playerid, GetPlayerInterior(celid));}}else{ format(string,sizeof(string),\"%s letiltotta a gotozást!\", nev[1]); SendClientMessage(playerid, COLOR_RED, string);}return 1;}CMD:setgoto(playerid, params[]){if(GetPVarInt(playerid, \"goto\") == 0) { SetPVarInt(playerid, \"goto\", 1); SendClientMessage(playerid, COLOR_LIGHTBLUE, \"Engedélyezted a gotozást magadhoz!\");}else{ SetPVarInt(playerid, \"goto\", 0); SendClientMessage(playerid, COLOR_LIGHTBLUE, \"Letiltottad a gotozást magadhoz!\");}return 1;}
if(strcmp(cmdtext, \"/goto\", true) == 0) {new celid, string[128], Float:hely[3], nev[MAX_PLAYER_NAME][2];if(!strlen(params)) return SendClientMessage(playerid, COLOR_LIGHTBLUE, \"HASZNÁLAT: /goto (játékosid/név)\");else if(!IsPlayerConnected(celid) && celid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, \"HIBA: Nincs ilyen játékos a szerveren, vagy az adott játékos te vagy!\");GetPlayerPos(celid, hely[0], hely[1], hely[2]); SetPlayerInterior(playerid, GetPlayerInterior(celid));SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(celid));if(GetPVarInt(celid, \"goto\") == 1){if(GetPlayerState(playerid) == 2){ SetVehiclePos(GetPlayerVehicleID(playerid),hely[0]+2, hely[1], hely[2]); LinkVehicleToInterior(GetPlayerVehicleID(playerid), GetPlayerInterior(celid)); SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), GetPlayerVirtualWorld(celid)); GetPlayerName(playerid, nev[0], sizeof(nev)); GetPlayerName(celid, nev[1], sizeof(nev)); format(string,sizeof(string),\"%s elteleportált hozzád!\", nev[0]); SendClientMessage(celid, COLOR_LIGHTBLUE, string); format(string,sizeof(string),\"Elteleportáltál %s-hez(hoz)!\", nev[1]); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); return 1;}else{ SetPlayerPos(playerid, hely[0], hely[1], hely[2]); SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(celid)); SetPlayerInterior(playerid, GetPlayerInterior(celid));}}else{ format(string,sizeof(string),\"%s letiltotta a gotozást!\", nev[1]); SendClientMessage(playerid, COLOR_RED, string);}return 1;} if(strcmp(cmdtext, \"/setgoto\", true) == 0) {if(GetPVarInt(playerid, \"goto\") == 0) { SetPVarInt(playerid, \"goto\", 1); SendClientMessage(playerid, COLOR_LIGHTBLUE, \"Engedélyezted a gotozást magadhoz!\");}else{ SetPVarInt(playerid, \"goto\", 0); SendClientMessage(playerid, COLOR_LIGHTBLUE, \"Letiltottad a gotozást magadhoz!\");}return 1;}
Csak annyi lett volna a dolgot, hogy átírod a CMD:goto(playerid, params[]) -t if(strcmp(cmdtext, \"/goto\", true) == 0) -ra [/quote]Ha nem értettek hozzá, akkor minek írtok hülyeséget?U.I.: Mindjárt leírom! GetCommandParams(cmdtext);if(!strcmp(cmdtext, \"/goto\", true)){new celid, string[128], Float:hely[3], nev[MAX_PLAYER_NAME][2];if(isnull(par)) return SendClientMessage(playerid, COLOR_LIGHTBLUE, \"HASZNÁLAT: /goto (játékosid/név)\");else if(!IsPlayerConnected(celid) && celid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, \"HIBA: Nincs ilyen játékos a szerveren, vagy az adott játékos te vagy!\");GetPlayerPos(celid, hely[0], hely[1], hely[2]); SetPlayerInterior(playerid, GetPlayerInterior(celid));SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(celid));if(GetPVarInt(celid, \"goto\") == 1){ if(GetPlayerState(playerid) == 2) { SetVehiclePos(GetPlayerVehicleID(playerid),hely[0]+2, hely[1], hely[2]); LinkVehicleToInterior(GetPlayerVehicleID(playerid), GetPlayerInterior(celid)); SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), GetPlayerVirtualWorld(celid)); GetPlayerName(playerid, nev[0], sizeof(nev)); GetPlayerName(celid, nev[1], sizeof(nev)); format(string,sizeof(string),\"%s elteleportált hozzád!\", nev[0]); SendClientMessage(celid, COLOR_LIGHTBLUE, string); format(string,sizeof(string),\"Elteleportáltál %s-hez(hoz)!\", nev[1]); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); return 1; }else{ SetPlayerPos(playerid, hely[0], hely[1], hely[2]); SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(celid)); SetPlayerInterior(playerid, GetPlayerInterior(celid)); }}else{ format(string,sizeof(string),\"%s letiltotta a gotozást!\", nev[1]); SendClientMessage(playerid, COLOR_RED, string);}return 1;}if(!strcmp(cmdtext, \"/setgoto\", true)){if(GetPVarInt(playerid, \"goto\") == 0){ SetPVarInt(playerid, \"goto\", 1); SendClientMessage(playerid, COLOR_LIGHTBLUE, \"Engedélyezted a gotozást magadhoz!\");}else{ SetPVarInt(playerid, \"goto\", 0); SendClientMessage(playerid, COLOR_LIGHTBLUE, \"Letiltottad a gotozást magadhoz!\");}return 1;} A parancs mûködéséhez az alábbi include is szükséges!http://sampforum.hu/index.php?topic=20289.msg217336;topicseen#msg217336
GetCommandParams(cmdtext);if(!strcmp(cmdtext, \"/goto\", true)){new celid, string[128], Float:hely[3], nev[MAX_PLAYER_NAME][2];if(isnull(par)) return SendClientMessage(playerid, COLOR_LIGHTBLUE, \"HASZNÁLAT: /goto (játékosid/név)\");else if(!IsPlayerConnected(celid) && celid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, \"HIBA: Nincs ilyen játékos a szerveren, vagy az adott játékos te vagy!\");GetPlayerPos(celid, hely[0], hely[1], hely[2]); SetPlayerInterior(playerid, GetPlayerInterior(celid));SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(celid));if(GetPVarInt(celid, \"goto\") == 1){ if(GetPlayerState(playerid) == 2) { SetVehiclePos(GetPlayerVehicleID(playerid),hely[0]+2, hely[1], hely[2]); LinkVehicleToInterior(GetPlayerVehicleID(playerid), GetPlayerInterior(celid)); SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), GetPlayerVirtualWorld(celid)); GetPlayerName(playerid, nev[0], sizeof(nev)); GetPlayerName(celid, nev[1], sizeof(nev)); format(string,sizeof(string),\"%s elteleportált hozzád!\", nev[0]); SendClientMessage(celid, COLOR_LIGHTBLUE, string); format(string,sizeof(string),\"Elteleportáltál %s-hez(hoz)!\", nev[1]); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); return 1; }else{ SetPlayerPos(playerid, hely[0], hely[1], hely[2]); SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(celid)); SetPlayerInterior(playerid, GetPlayerInterior(celid)); }}else{ format(string,sizeof(string),\"%s letiltotta a gotozást!\", nev[1]); SendClientMessage(playerid, COLOR_RED, string);}return 1;}if(!strcmp(cmdtext, \"/setgoto\", true)){if(GetPVarInt(playerid, \"goto\") == 0){ SetPVarInt(playerid, \"goto\", 1); SendClientMessage(playerid, COLOR_LIGHTBLUE, \"Engedélyezted a gotozást magadhoz!\");}else{ SetPVarInt(playerid, \"goto\", 0); SendClientMessage(playerid, COLOR_LIGHTBLUE, \"Letiltottad a gotozást magadhoz!\");}return 1;}
Szia!Gyorsan összedobtam neked!! Elvileg mûködik, nem teszteltem! A változókkal lehet gond lessz! Akkor szólj!A parancs zcmdben van! CMD:goto(playerid, params[]){new giveplayerid;new Float:x, Float:y, Float:z;if(sscanf(params, \"u\", giveplayerid)) return SendClientMessage(playerid, 0xFF0000AA, \"Használat: /goto [playerid]\");if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, 0xFF0000AA, \"Hiba: Nincs ilyen játékos!\");GetPlayerPos(giveplayerid, x, y, z);SetPlayerPos(playerid, x, y, z); SetPlayerInterior(playerid, GetPlayerInterior(giveplayerid));new name[MAX_PLAYER_NAME], string[200];GetPlayerName(playerid, name, sizeof(name));format(string, sizeof string, \"%s elteleportált hozzá: %s\", name, giveplayerid);SendClientMessageToAll(0xFF0000AA,string);return 1;} SetPlayerInteriort lehagytam bõvítettem!Elvileg kész! ha mégsem jó írj!