Hey,
Ich fange langsam an zu Scripten, deshalb habe ich mir erstmal das dcmd tutorial angeschaut.
Jetzt gibt es aber ein Problem. Wenn ich den Code aus dem TUT in meinen GM kopiere, heißt über meine schon erstellten befehle, kommen etwa 12 errors. Wenn ich diesen aber allein einkopiere, ist kein einziger fehler. Wie das ganze aufgebaut ist, bzw. warum was passiert, wollte ich mir danach anschauen.
Funktionierend:
public OnPlayerCommandText(playerid, cmdtext[])
{
dcmd(heal, 4, cmdtext);
return 0;
}
dcmd_heal(playerid, params[])
{
new id;
if (strlen(params))
{
id = strval(params);
if (IsPlayerConnected(id))
{
SetPlayerHealth(id, 100.0);
SendClientMessage(id, 0x00FF00AA, "You have been healed");
SendClientMessage(playerid, 0x00FF00AA, "Player healed");
}
else
{
SendClientMessage(playerid, 0xFF0000AA, "Player not found");
}
}
else
{
SendClientMessage(playerid, 0xFF0000AA, "Usage: \"/heal <playerid>\"");
}
return 1;
}
Nicht funktionierend:
public OnPlayerCommandText(playerid, cmdtext[])
//----------------------------------------
{
dcmd(heal, 4, cmdtext);
return 0;
}
dcmd_heal(playerid, params[])
{
new id;
if (strlen(params))
{
id = strval(params);
if (IsPlayerConnected(id))
{
SetPlayerHealth(id, 100.0);
SendClientMessage(id, 0x00FF00AA, "You have been healed");
SendClientMessage(playerid, 0x00FF00AA, "Player healed");
}
else
{
SendClientMessage(playerid, 0xFF0000AA, "Player not found");
}
}
else
{
SendClientMessage(playerid, 0xFF0000AA, "Usage: \"/heal <playerid>\"");
}
//----------------------------------------
{ if (strcmp("/port", cmdtext, true, 10) == 0) //Port Kommando
{
SetPlayerPos(playerid, 2070.7808,1355.2747,10.8203); //port Koordinaten
return 1;
}
if (strcmp(cmdtext, "/afk", true) == 0) { // /afk befehl
new str[256], pname[256]; GetPlayerName(playerid, pname, 256);
format(str, 256,"*%s ist afk!", pname, cmdtext[4]);
SendClientMessage(playerid, rot, "Tippe /back, wenn du wieder da bist!");
SendClientMessageToAll(AQUAGREEN, str);
TogglePlayerControllable(playerid, 0);
SetPlayerColor(playerid, schwarz);
return 1;
}
if(strcmp(cmdtext, "/back", true) ==0) { // /back befehl
new str[256], pname[256]; GetPlayerName(playerid, pname, 256);
format (str, 256, "*%s ist wieder zurück!", pname, cmdtext[4]);
SendClientMessageToAll(AQUAGREEN, str);
GameTextForPlayer(playerid,"Willkommen zurueck!", 2500,3);
TogglePlayerControllable(playerid, 1);
SetPlayerColor(playerid, weiß);
return 1;
}
return 0;
}