-
sok helyt látam setskin parancsot de nekem nem zcmd-sre van szükségem és sehogy nem tom átalakítani pls valaki írna egyet elöre is köszönöm
-
if (strcmp(\"/setskin\", cmdtext, true, 10) == 0)
{
new
string[128],
PID,
SkinID;
if(sscanf(params, \"ui\", PID, SkinID)) return SendClientMessage(playerid, 0xFF0000AA, \"Használat: /setskin <ID/Játékosnév> <Skin ID>\");
if(SkinID < 0 || SkinID > 299) return SendClientMessage(playerid, 0xFF0000AA, \"Rossz Skin ID!\");
SetPlayerSkin(PID, SkinID);
format(string, sizeof(string), \"Átállítottad %s(%i)-nek(nak) (ID: %d)-ra(re) a skinjét\", SkinID, PID, playerid);
SendClientMessage(playerid, 0x33FF33AA, string);
return 1;
}
Tessék! :) Ha a másik fajtára gondoltál, amivel magadnak állítod, akkor szólj!
-
D:\\Trucking_Server_2.0\\gamemodes\\Truck.pwn(2878) : error 017: undefined symbol \"params\"
-
Másik fajta:
if(strcmp(cmd, \"/setskin\", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_RED, \"HASZNÁLAT: /setskin [Játékosnév/ID] [skin id]\");
return 1;
}
new para1;
new level;
para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
level = strval(tmp);
if(level > 299 || level < 1) { SendClientMessage(playerid, COLOR_GREY, \"Skin ID nem megfelelõ!\"); return 1; }
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[para1][pChar] = level;
format(string, sizeof(string), \"Átállítottad %s skinét erre: %d.\", giveplayer,level);
SendClientMessage(playerid, COLOR_WHITE, string);
SetPlayerSkin(para1, PlayerInfo[para1][pChar]);
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, \" A játékos nem elérhetõ!\");
}
}
return 1;
}
-
D:\\Trucking_Server_2.0\\gamemodes\\Truck.pwn(2871) : warning 217: loose indentation
D:\\Trucking_Server_2.0\\gamemodes\\Truck.pwn(2871) : error 017: undefined symbol \"cmd\"
D:\\Trucking_Server_2.0\\gamemodes\\Truck.pwn(2875) : error 017: undefined symbol \"tmp\"
D:\\Trucking_Server_2.0\\gamemodes\\Truck.pwn(2875) : error 017: undefined symbol \"strtok\"
D:\\Trucking_Server_2.0\\gamemodes\\Truck.pwn(2876) : error 017: undefined symbol \"tmp\"
D:\\Trucking_Server_2.0\\gamemodes\\Truck.pwn(2883) : error 017: undefined symbol \"ReturnUser\"
D:\\Trucking_Server_2.0\\gamemodes\\Truck.pwn(2884) : error 017: undefined symbol \"tmp\"
D:\\Trucking_Server_2.0\\gamemodes\\Truck.pwn(2884) : error 017: undefined symbol \"strtok\"
D:\\Trucking_Server_2.0\\gamemodes\\Truck.pwn(2885) : error 017: undefined symbol \"tmp\"
D:\\Trucking_Server_2.0\\gamemodes\\Truck.pwn(2887) : warning 217: loose indentation
D:\\Trucking_Server_2.0\\gamemodes\\Truck.pwn(2891) : error 017: undefined symbol \"giveplayer\"
D:\\Trucking_Server_2.0\\gamemodes\\Truck.pwn(2891) : error 017: undefined symbol \"giveplayer\"
D:\\Trucking_Server_2.0\\gamemodes\\Truck.pwn(2891) : error 029: invalid expression, assumed zero
D:\\Trucking_Server_2.0\\gamemodes\\Truck.pwn(2891) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
12 Errors.
-
Jah, tényleg jut eszembe, asszem, hogy strcmp-ben nem lehet sscanfot használni, akkor sorry.
-
OnPlayerCommandText-hez ezeket tedd be:
[pawn]
new string[256];
new sendername[MAX_PLAYER_NAME];
new giveplayer[MAX_PLAYER_NAME];
new playername[MAX_PLAYER_NAME];
new cmd[256];
new tmp[256];
new idx;
cmd = strtok(cmdtext, idx);[/pawn]
Ezt pedig tedd a módba :
[pawn]
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= \' \'))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > \' \') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}[/pawn]
-
our einstein!
CMD:setskin(playerid,params)
{
if(IsPlayerAdmin(playerid))
{
new toplayerid,skinid;
if(sscanf(params,\"ui\",toplayerid,skinid))
{
SetPlayerSkin(toplayerid,skinid);
}
else SendClientMessage(playerid,0xff0000ff,\"Használat: /setskin [iD/NÉV] [sKINID]\");
}
return 1;
}
szerintem ez így jó lesz.. kell hozzá zcmd.inc és az sscanf
-
Ember.
de nekem nem zcmd-sre van szükségem[/quote]
-
nem lehet hogy if (strcmp(\"/setskin\", cmdtext, true) == 0) mert a töbi parancs is igy van
-
megoldotam dcmdvel
[pawn]dcmd_setskin(playerid, params[])
{
new
string[128],
PID,
SkinID;
if(PInfo[playerid][Level] < 2) return SendClientMessage(playerid,red,error);
if(sscanf(params, \"ui\", PID, SkinID)) return SendClientMessage(playerid, 0xFF0000AA, \"Használat: /setskin <ID/Játékosnév> <Skin ID>\");
if(SkinID < 0 || SkinID > 299) return SendClientMessage(playerid, 0xFF0000AA, \"Rossz Skin ID!\");
SetPlayerSkin(PID, SkinID);
format(string, sizeof(string), \"Átállítottad %s(%i)-nek(nak) (ID: %d)-ra(re) a skinjét\", SkinID, PID, playerid);
SendClientMessage(playerid, 0x33FF33AA, string);
return 1;
}[/pawn]
de warning
D:\\Trucking_Server_2.0\\gamemodes\\Truck.pwn(3326) : warning 217: loose indentation
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
1 Warning.
a return1; re
-
dcmd_setskin(playerid, params[])
{
new
string[128],
PID,
SkinID;
if(PInfo[playerid][Level] < 2) return SendClientMessage(playerid,red,error);
if(sscanf(params, \"ui\", PID, SkinID)) return SendClientMessage(playerid, 0xFF0000AA, \"Használat: /setskin <ID/Játékosnév> <Skin ID>\");
if(SkinID < 0 || SkinID > 299) return SendClientMessage(playerid, 0xFF0000AA, \"Rossz Skin ID!\");
SetPlayerSkin(PID, SkinID);
format(string, sizeof(string), \"Átállítottad %s(%i)-nek(nak) (ID: %d)-ra(re) a skinjét\", SkinID, PID, playerid);
SendClientMessage(playerid, 0x33FF33AA, string);
return 1;
}
-
megjavult de nem megy a parancs nem tudjátok
dcmd(setskin,4,cmdtext);
ide hányas kell mer lehet ez a baj
-
Nincs megint eltololdva a \'return 1;\' ? Mert néha úgy másolja ki innen. Mást akkor nemtudok o_O
-
most átértem zcmd-re de igy se jó
-
Nekem így hibátlan:
CMD:setskin(playerid, params[])
{
new
string[128],
PID,
SkinID;
if(PInfo[playerid][Level] < 2) return SendClientMessage(playerid,red,error);
if(sscanf(params, \"ui\", PID, SkinID)) return SendClientMessage(playerid, 0xFF0000AA, \"Használat: /setskin <ID/Játékosnév> <Skin ID>\");
if(SkinID < 0 || SkinID > 299) return SendClientMessage(playerid, 0xFF0000AA, \"Rossz Skin ID!\");
SetPlayerSkin(PID, SkinID);
format(string, sizeof(string), \"Átállítottad %s(%i)-nek(nak) (ID: %d)-ra(re) a skinjét\", SkinID, PID, playerid);
SendClientMessage(playerid, 0x33FF33AA, string);
return 1;
}
-
igy se megy és van egy bilincs parancs az se megy
-
Másold be!
-
CMD:setskin(playerid, params[])
{
new
string[128],
PID,
SkinID;
if(sscanf(params, \"ui\", PID, SkinID)) return SendClientMessage(playerid, 0xFF0000AA, \"Használat: /setskin <ID/Játékosnév> <Skin ID>\");
if(PInfo[playerid][Level] < 2) return SendClientMessage(playerid,red,error);
if(SkinID < 0 || SkinID > 299) return SendClientMessage(playerid, 0xFF0000AA, \"Rossz Skin ID!\");
SetPlayerSkin(PID, SkinID);
format(string, sizeof(string), \"Átállítottad %s(%i)-nek(nak) (ID: %d)-ra(re) a skinjét\", SkinID, PID, playerid);
SendClientMessage(playerid, 0x33FF33AA, string);
return 1;
}
CMD:bilincs(playerid, params[])
{
if(PInfo[playerid][Level] < 2) return SendClientMessage(playerid,red,error);
{
new giveplayerid, string[128], name[MAX_PLAYER_NAME], name2[MAX_PLAYER_NAME];
if (sscanf(params, \"u\", giveplayerid)) SendClientMessage(playerid, 0xFF0000FF, \"Használat: /bilincs <playerid>\");
else if (giveplayerid == INVALID_PLAYER_ID) SendClientMessage(playerid, 0xFF0000FF, \"Hiba: Nincs ilyen játékos!\");
else{
GetPlayerName(playerid, name, sizeof(name));
GetPlayerName(giveplayerid, name2, sizeof(name2));
format(string, sizeof string, \"{00bbff}[RENDÕR,%s]:{008a20} Megbilincselte {ff0000}%s-t!\", name, name2);
SendClientMessageToAll(0xB3D5B2AA,string);
TogglePlayerControllable(giveplayerid,0);
}
}
return 1;
}
CMD:levesz(playerid, params[])
{
if(PInfo[playerid][Level] < 2) return SendClientMessage(playerid,red,error);
{
new giveplayerid, string[128], name[MAX_PLAYER_NAME], name2[MAX_PLAYER_NAME];
if (sscanf(params, \"u\", giveplayerid)) SendClientMessage(playerid, 0xFF0000FF, \"Használat: /levesz <playerid>\");
else if (giveplayerid == INVALID_PLAYER_ID) SendClientMessage(playerid, 0xFF0000FF, \"Hiba: Nincs ilyen játékos!\");
else{
GetPlayerName(playerid, name, sizeof(name));
GetPlayerName(giveplayerid, name2, sizeof(name2));
format(string, sizeof string, \"{00bbff}[RENDÕR,%s]:{008a20} Levette a bilincset {ff0000}%s{008a20}-ról/rõl.\", name,name2);
SendClientMessageToAll(0xFF0000FF,string);
TogglePlayerControllable(giveplayerid,1);
}
}
return 1;
}
ez a 3 parancs nem megy a töbi mind megy
-
Esetleg nem az OnPlayerCommandText alatt vannak? Vagy rossz helyen, mert ezek jónak tûnnek, így látásra.
-
nem a fölöt vanak
-
Akkor nemtudom o_O
-
megjavult de nem megy a parancs nem tudjátok
dcmd(setskin,4,cmdtext);
ide hányas kell mer lehet ez a baj
Igen ez a baj. Ezt az OnPlayerCommandText callback alá tedd be. A 4 -es helyére pedig a setskin karakterszámát írd be, tehát:dcmd(setskin, 7, cmdtext);
-
de már átértem zcmd-re