Hallo.
Ich habe in meinem Script einen /myveh Befehl für Admins welchre auch einwandfrei funktioniert. Da mich aber immer der Serverowner mit dem Hydra nervt, habe ich eine Disallowed Abfrage gemacht:
ocmd:myveh(playerid,params[])
{
new ModelID, color[2],Float:VehPos[4], vehicleid;
if(GetPlayerState(playerid)!=PLAYER_STATE_ONFOOT) return SCM(playerid, "Du befindest dich bereits in einem Fahrzeug");
if(sscanf(params, "ddd",ModelID,color[0],color[1])) return SCM(playerid, "/myveh [vehicleid] [color1] [color2]");
if(ModelID < 400 || ModelID > 611) return SCM(playerid, "Die Fahrzeug Id muss von 400 bis 611 sein.");
if(color[0] < 0 || color[0] > 126 || color[1] < 0 || color[1] > 126) return SCM(playerid, "Die Farbid muss zwischen 0 und 126 liegen.");
else if(SpielerInfo[playerid][pAdminlevel] > 0)
{
if(ModelID == 425 || ModelID == 520 || ModelID == 432 || ModelID == 447 || ModelID == 464 || ModelID == 476)
{
new disallowedids[128];
format(disallowedids, sizeof(disallowedids), "Das Fahrzeug %s wurde gesperrt!", CarName[GetVehicleModel(ModelID)-400]);
SCM(playerid, disallowedids);
}
else
{
GetPlayerPos(playerid, VehPos[0],VehPos[1],VehPos[2]);
GetPlayerFacingAngle(playerid, VehPos[3]);
vehicleid = CreateVehicle(ModelID,VehPos[0],VehPos[1],VehPos[2],VehPos[3],color[0],color[1],-1);
LinkVehicleToInterior(vehicleid,GetPlayerInterior(playerid));
SetVehicleVirtualWorld(vehicleid,GetPlayerVirtualWorld(playerid));
PutPlayerInVehicle(playerid, vehicleid, 0);
vehcreated[playerid] = 1;
SendClientMessage(playerid,0xB0AFB0FF, "Du kannst das Fahrzeug mit /veh entfernen.");
{
new ModelID, color[2],Float:VehPos[4], vehicleid;
if(GetPlayerState(playerid)!=PLAYER_STATE_ONFOOT) return SCM(playerid, "Du befindest dich bereits in einem Fahrzeug");
if(sscanf(params, "ddd",ModelID,color[0],color[1])) return SCM(playerid, "/myveh [vehicleid] [color1] [color2]");
if(ModelID < 400 || ModelID > 611) return SCM(playerid, "Die Fahrzeug Id muss von 400 bis 611 sein.");
if(color[0] < 0 || color[0] > 126 || color[1] < 0 || color[1] > 126) return SCM(playerid, "Die Farbid muss zwischen 0 und 126 liegen.");
else if(SpielerInfo[playerid][pAdminlevel] > 0)
{
if(ModelID == 425 || ModelID == 520 || ModelID == 432 || ModelID == 447 || ModelID == 464 || ModelID == 476)
{
new disallowedids[128];
format(disallowedids, sizeof(disallowedids), "Das Fahrzeug %s wurde gesperrt!", CarName[GetVehicleModel(ModelID)-400]);
SCM(playerid, disallowedids);
}
else
{
GetPlayerPos(playerid, VehPos[0],VehPos[1],VehPos[2]);
GetPlayerFacingAngle(playerid, VehPos[3]);
vehicleid = CreateVehicle(ModelID,VehPos[0],VehPos[1],VehPos[2],VehPos[3],color[0],color[1],-1);
LinkVehicleToInterior(vehicleid,GetPlayerInterior(playerid));
SetVehicleVirtualWorld(vehicleid,GetPlayerVirtualWorld(playerid));
PutPlayerInVehicle(playerid, vehicleid, 0);
vehcreated[playerid] = 1;
SendClientMessage(playerid,0xB0AFB0FF, "Du kannst das Fahrzeug mit /veh entfernen.");
//In die Variable currentveh die Fahrzeug ID schreiben
currentveh[playerid] = GetPlayerVehicleID(playerid);
}
}
else return SCM(playerid, "Du bist kein Administrator.");
return 1;
}
currentveh[playerid] = GetPlayerVehicleID(playerid);
}
}
else return SCM(playerid, "Du bist kein Administrator.");
return 1;
}
Ingame kommt dann immer: Diesen Befehl gibt es nicht. Benutze /help um deine Befehle zu sehen. So wie ich es selber auch einmal in das Script eingebaut habe.
Ich hab es auch schonmal so versucht:
ocmd:myveh(playerid,params[])
{
new ModelID, color[2],Float:VehPos[4], vehicleid;
if(GetPlayerState(playerid)!=PLAYER_STATE_ONFOOT) return SCM(playerid, "Du befindest dich bereits in einem Fahrzeug");
if(sscanf(params, "ddd",ModelID,color[0],color[1])) return SCM(playerid, "/myveh [vehicleid] [color1] [color2]");
if(ModelID < 400 || ModelID > 611) return SCM(playerid, "Die Fahrzeug Id muss von 400 bis 611 sein.");
new disallowedids[128];
format(disallowedids, sizeof(disallowedids), "Das Fahrzeug %s wurde gesperrt!", CarName[GetVehicleModel(ModelID)-400]);
if(ModelID == 425 || ModelID == 520 || ModelID == 432 || ModelID == 447 || ModelID == 464 || ModelID == 476) return SCM(playerid, string);
if(color[0] < 0 || color[0] > 126 || color[1] < 0 || color[1] > 126) return SCM(playerid, "Die Farbid muss zwischen 0 und 126 liegen.");
else if(SpielerInfo[playerid][pAdminlevel] > 0)
{
GetPlayerPos(playerid, VehPos[0],VehPos[1],VehPos[2]);
GetPlayerFacingAngle(playerid, VehPos[3]);
vehicleid = CreateVehicle(ModelID,VehPos[0],VehPos[1],VehPos[2],VehPos[3],color[0],color[1],-1);
LinkVehicleToInterior(vehicleid,GetPlayerInterior(playerid));
SetVehicleVirtualWorld(vehicleid,GetPlayerVirtualWorld(playerid));
PutPlayerInVehicle(playerid, vehicleid, 0);
vehcreated[playerid] = 1;
SendClientMessage(playerid,0xB0AFB0FF, "Du kannst das Fahrzeug mit /veh entfernen.");
{
new ModelID, color[2],Float:VehPos[4], vehicleid;
if(GetPlayerState(playerid)!=PLAYER_STATE_ONFOOT) return SCM(playerid, "Du befindest dich bereits in einem Fahrzeug");
if(sscanf(params, "ddd",ModelID,color[0],color[1])) return SCM(playerid, "/myveh [vehicleid] [color1] [color2]");
if(ModelID < 400 || ModelID > 611) return SCM(playerid, "Die Fahrzeug Id muss von 400 bis 611 sein.");
new disallowedids[128];
format(disallowedids, sizeof(disallowedids), "Das Fahrzeug %s wurde gesperrt!", CarName[GetVehicleModel(ModelID)-400]);
if(ModelID == 425 || ModelID == 520 || ModelID == 432 || ModelID == 447 || ModelID == 464 || ModelID == 476) return SCM(playerid, string);
if(color[0] < 0 || color[0] > 126 || color[1] < 0 || color[1] > 126) return SCM(playerid, "Die Farbid muss zwischen 0 und 126 liegen.");
else if(SpielerInfo[playerid][pAdminlevel] > 0)
{
GetPlayerPos(playerid, VehPos[0],VehPos[1],VehPos[2]);
GetPlayerFacingAngle(playerid, VehPos[3]);
vehicleid = CreateVehicle(ModelID,VehPos[0],VehPos[1],VehPos[2],VehPos[3],color[0],color[1],-1);
LinkVehicleToInterior(vehicleid,GetPlayerInterior(playerid));
SetVehicleVirtualWorld(vehicleid,GetPlayerVirtualWorld(playerid));
PutPlayerInVehicle(playerid, vehicleid, 0);
vehcreated[playerid] = 1;
SendClientMessage(playerid,0xB0AFB0FF, "Du kannst das Fahrzeug mit /veh entfernen.");
//In die Variable currentveh die Fahrzeug ID schreiben
currentveh[playerid] = GetPlayerVehicleID(playerid);
}
else return SCM(playerid, "Du bist kein Administrator.");
return 1;
}
currentveh[playerid] = GetPlayerVehicleID(playerid);
}
else return SCM(playerid, "Du bist kein Administrator.");
return 1;
}
Dies Funktioniert. Sobald ich aber eine Verbotene ID angebe, kommt Diesen Befehl gibt es nicht. Benutze /help um deine Befehle zu sehen. so wie ich es gescriptet habe und nicht Das Fahrzeug FAHRZEUGNAME wurde gesperrt!.
Lg Sonderzeichen
Ps. Ist hier unsauber eingerückt.