-
Sziasztok!
Nem régiben elkezdtem átalakítani a LuxAdmin-t, és akadályba ütköztem abban amikor használom a /goto-t.
Mikor \'/goto\'-zok a következõt írja:
[19:37:18] {FF0000}[ADMIN ]: {00FF00} \'\'\'\' teleportált \'\' Ę \'\' nevû játékoshoz!
Próbáltam, de ugyan azt írta.
dcmd_goto(playerid, ;)params[])
{
if(AccInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid))
{
if(!strlen(params)) return
SendClientMessage(playerid, red, \"Használat: /goto [Játékos ID]\") &&
SendClientMessage(playerid, orange, \"Funkció: Elteleportálsz Egy Játékoshoz\");
new player1;
new adminname [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)
{
SendCommandToAdmins(playerid,\"Goto\");
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);
format(string,sizeof(string),\"{FF0000}[ADMIN]: {00FF00} \'\'%s\'\' teleportált \'\'%s\'\' nevû játékoshoz!\", adminname, player1);
return SendClientMessageToAll(blue, string);
}
else return ErrorMessages(playerid, 4);
}
else return ErrorMessages(playerid, 1);
}
Remélem érhetõ voltam.
Válaszokat elõre köszönöm !
[mod]Kedves Témanyitó! Köszöntelek a Sampfórumon. Nálunk a hibákat, logokat és ilyen, vagy ehhez hasonló dolgokat
közé tesszük, a pawn nyelven íródott forráskódokat pedig
tagek közé tesszük. Megkérlek téged arra, hogy a jövõben használd õket! Ez alkalommal javítottam helyetted. A prefixet is kitettem.[/mod]
-
format kiírás elé:
GetPlayerName(playerid, adminname, sizeof(adminname));
-
Öhm, mégsem jó.
Teszteltem.
A következõt írja: {FF0000}[ADMIN ]: {00FF00} \'\']PETI[\'\' teleportált \'\' Ę \'\' nevû játékoshoz!
-
És ha így próbálod meg:
format(string,sizeof(string),\"{FF0000}[ADMIN]: {00FF00} \'\'%s\'\' teleportált \'\'%d\'\' nevû játékoshoz!\", adminname, player1);
[mod]Javítottam a sima code taget pawn code tagre![/mod]
-
A neve %d? o.O
format(string,sizeof(string),\"{FF0000}[ADMIN]: {00FF00} \'\'%s\'\' teleportált \'\'%s\'\' nevû játékoshoz!\", adminname, player1);
-
Ha a tudásom nem csal a \"%d\" az szám.
-
egyszerûen javítható :)
format(string,sizeof(string),\"{FF0000}[ADMIN]: {00FF00} \'\'%s\'\' teleportált \'\'%s\'\' nevû játékoshoz!\", adminname, pName(player1));
ha nincs definiálva a pName, ami a luxadmin-ban szinte kizárt, másold be ezt is :)
stock pName(playerid) {
static getname[24];
GetPlayerName(playerid, getname, 24);
return getname;
}
-
Szedd ki amit írtam GetPlayerName függvényt, és így csináld a kódot:
format(string,sizeof(string),\"{FF0000}[ADMIN]: {00FF00} \'\'%s\'\' teleportált \'\'%s\'\' nevû játékoshoz!\", pName(playerid), pName(player1));
-
CMD:goto(playerid,params[])
{
CheckPlayerAdmin(playerid,1);
new targetid,Float:pos[3],string[256];
if(Info[playerid][AdminLogged]==false) return SendClientMessage(playerid,-1,\"{8B4513}: {FFD700}Nem vagy bejelentkezve az admin fiókodba.\");
if(sscanf(params,\"u\",targetid))return SendClientMessage(playerid,-1,\"{D2691E}Használat: {DEB887}/goto [iD]\");
if(!IsPlayerConnected(targetid))return SendClientMessage(playerid,-1,\"{8B4513}: {FFD700}A játékos nem található.\");
if(targetid==playerid) return SendClientMessage(playerid,-1,\"{8B4513}: {FFD700}Magadhoz nem teleportálhatsz.\");
format(string,sizeof(string),\"%s {%06x}%s {FFD700}hozzá teleportált {%06x}%s{FFD700}-hoz/hez.\",GetAdminLevelNameAndColor(Info[playerid][AdminLevel]),GetPlayerColor(playerid)>>>8,Name(playerid),GetPlayerColor(targetid)>>>8,Name(targetid));
SendClientMessageToAll(-1,string);
GetPlayerPos(targetid,pos[0],pos[1],pos[2]);
SetPlayerPos(playerid,pos[0],pos[1],pos[2]+2);
return 1;
}
Adminrendszerembõl szedtem ki. Csak cseréld a változókat.
[mod]Kitettem helyetted a
taget![/mod]
-
Sziasztok!
Nem régiben elkezdtem átalakítani a LuxAdmin-t, és akadályba ütköztem abban amikor használom a /goto-t.
Mikor \'/goto\'-zok a következõt írja:
[19:37:18] {FF0000}[ADMIN ]: {00FF00} \'\'\'\' teleportált \'\' Ę \'\' nevû játékoshoz!
Próbáltam, de ugyan azt írta.
dcmd_goto(playerid, ;)params[])
{
if(AccInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid))
{
if(!strlen(params)) return
SendClientMessage(playerid, red, \"Használat: /goto [Játékos ID]\") &&
SendClientMessage(playerid, orange, \"Funkció: Elteleportálsz Egy Játékoshoz\");
new player1;
new adminname [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)
{
SendCommandToAdmins(playerid,\"Goto\");
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);
format(string,sizeof(string),\"{FF0000}[ADMIN]: {00FF00} \'\'%s\'\' teleportált \'\'%s\'\' nevû játékoshoz!\", adminname, player1);
return SendClientMessageToAll(blue, string);
}
else return ErrorMessages(playerid, 4);
}
else return ErrorMessages(playerid, 1);
}
Remélem érhetõ voltam.
Válaszokat elõre köszönöm !
[mod]Kedves Témanyitó! Köszöntelek a Sampfórumon. Nálunk a hibákat, logokat és ilyen, vagy ehhez hasonló dolgokat
közé tesszük, a pawn nyelven íródott forráskódokat pedig
tagek közé tesszük. Megkérlek téged arra, hogy a jövõben használd õket! Ez alkalommal javítottam helyetted. A prefixet is kitettem.[/mod]
-
format kiírás elé:
GetPlayerName(playerid, adminname, sizeof(adminname));
-
Öhm, mégsem jó.
Teszteltem.
A következõt írja: {FF0000}[ADMIN ]: {00FF00} \'\']PETI[\'\' teleportált \'\' Ę \'\' nevû játékoshoz!
-
És ha így próbálod meg:
format(string,sizeof(string),\"{FF0000}[ADMIN]: {00FF00} \'\'%s\'\' teleportált \'\'%d\'\' nevû játékoshoz!\", adminname, player1);
[mod]Javítottam a sima code taget pawn code tagre![/mod]
-
A neve %d? o.O
format(string,sizeof(string),\"{FF0000}[ADMIN]: {00FF00} \'\'%s\'\' teleportált \'\'%s\'\' nevû játékoshoz!\", adminname, player1);
-
Ha a tudásom nem csal a \"%d\" az szám.
-
egyszerûen javítható :)
format(string,sizeof(string),\"{FF0000}[ADMIN]: {00FF00} \'\'%s\'\' teleportált \'\'%s\'\' nevû játékoshoz!\", adminname, pName(player1));
ha nincs definiálva a pName, ami a luxadmin-ban szinte kizárt, másold be ezt is :)
stock pName(playerid) {
static getname[24];
GetPlayerName(playerid, getname, 24);
return getname;
}
-
Szedd ki amit írtam GetPlayerName függvényt, és így csináld a kódot:
format(string,sizeof(string),\"{FF0000}[ADMIN]: {00FF00} \'\'%s\'\' teleportált \'\'%s\'\' nevû játékoshoz!\", pName(playerid), pName(player1));
-
CMD:goto(playerid,params[])
{
CheckPlayerAdmin(playerid,1);
new targetid,Float:pos[3],string[256];
if(Info[playerid][AdminLogged]==false) return SendClientMessage(playerid,-1,\"{8B4513}: {FFD700}Nem vagy bejelentkezve az admin fiókodba.\");
if(sscanf(params,\"u\",targetid))return SendClientMessage(playerid,-1,\"{D2691E}Használat: {DEB887}/goto [iD]\");
if(!IsPlayerConnected(targetid))return SendClientMessage(playerid,-1,\"{8B4513}: {FFD700}A játékos nem található.\");
if(targetid==playerid) return SendClientMessage(playerid,-1,\"{8B4513}: {FFD700}Magadhoz nem teleportálhatsz.\");
format(string,sizeof(string),\"%s {%06x}%s {FFD700}hozzá teleportált {%06x}%s{FFD700}-hoz/hez.\",GetAdminLevelNameAndColor(Info[playerid][AdminLevel]),GetPlayerColor(playerid)>>>8,Name(playerid),GetPlayerColor(targetid)>>>8,Name(targetid));
SendClientMessageToAll(-1,string);
GetPlayerPos(targetid,pos[0],pos[1],pos[2]);
SetPlayerPos(playerid,pos[0],pos[1],pos[2]+2);
return 1;
}
Adminrendszerembõl szedtem ki. Csak cseréld a változókat.
[mod]Kitettem helyetted a
taget![/mod]