[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
-
-
Beitrag von Apokrate ()
Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar. -
if (IsPlayerInRangeOfPoint(wantedplayerid,250,52.2971,-1534.7878,4.7385) && IsPlayerConnected(wantedplayerid)) return SendClientMessage(playerid,COLOR_RED,"Bla bla");
&& ist das logische Und. Beide Bedingungen müssen eintreten.
ist das logische Oder. Nur eine muss erfüllt sein. Entweder die Eine oder die Andere.//E: Andernfalls (aber eher mehr Zeilen) :
if (IsPlayerInRangeOfPoint(wantedplayerid,250,52.2971,-1534.7878,4.7385)){
if(IsPlayerConnected(wantedplayerid)) return SendClientMessage(playerid,COLOR_RED,"Bla bla");
}
Ich würde die erste Variante präferieren.
Danke! Das hat mir schon sehr geholfen! Ich dachte es würde nur daran liegen, aber es gibt da noch Fehler:
ocmd:roadblock(playerid,params[])
{
new wantedplayerid, Float:xwpid, Float:ywpid, Float:zwpid;
GetPlayerPos(wantedplayerid,xwpid,ywpid,zwpid);
if(sscanf(params,"i",wantedplayerid)) return SendClientMessage(playerid,COLOR_WHITE,""), SendClientMessage(playerid,COLOR_WHITE,"Du kannst einem Spieler eine Straßensperre an der Brücke von Los Santos und Flint County erstellen."), SendClientMessage(playerid,COLOR_YELLOW,"Benutzung: /roadblock [ID]");
if (IsPlayerInRangeOfPoint(wantedplayerid,250,52.2971,-1534.7878,4.7385) && IsPlayerConnected(wantedplayerid) && IsPlayerInRangeOfPoint(playerid,-250,xwpid,ywpid,zwpid)) return SendClientMessage(playerid,COLOR_WHITE,""), SendClientMessage(playerid,COLOR_RED,"Straßensperre fehlgeschlagen! Der Spieler wäre zu nah an der Straßensperre, ist offline oder du bist zu weit entfernt vom Spieler.");
SendClientMessage(playerid,COLOR_WHITE,""), SendClientMessage(playerid,COLOR_YELLOW,"Es wurde eine Straßensperre an der Brücke von Los Santos und Flint County errichtet.");
CreateVehicle(596,51.4780,-1540.6693,4.6917,172.2895,0,1,0); // 1
CreateVehicle(596,52.2971,-1534.7878,4.7385,352.3497,0,1,0); // 2
CreateVehicle(596,53.1344,-1528.8831,4.6971,171.5437,0,1,0); // 3
CreateVehicle(596,53.9985,-1523.2626,4.5887,352.5575,0,1,0); // 4
return 1;
Ich freue mich über jede HIlfe.Mit freundlichen Grüßen,
Crusard -
-
ocmd:find(playerid, params[]) {
new pID;
if(sscanf(params, "u", pID)) return SCM(playerid, COLOR_RED, "Verwendung: {ffffff}/find [ID]");
new Float:x, Float:y, Float:z;
GetPlayerPos(pID, x, y, z);
cp[playerid] = CreateDynamicCP(x, y, z, 10.0, -1, -1, playerid);
return 1;
}Mir wird auf der Map kein Checkpoint angezeigt.
Keine Warnings. -
Musst du nicht anstatt playerid pID benutzen?
-
Nein, er möchte ja die Position eines Spieler für ihn mit einem Marker anzeigen.
-
Achso
Ja, ist auch irgendwie logischEDIT:
ocmd:find(playerid,params[]){
new pID,Float:Pos[3];
if(sscanf(params,"u",pID))return SendClientMessage(playerid,COLOR_RED,"Verwendung: {FFFFFF}/find [ID]");
printf("CP-ID: %d",cp[playerid]);
return GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]),cp[playerid]=CreateDynamicCP(Pos[0],Pos[1],Pos[2],10,-1,-1,playerid),printf("CP-ID: %d",cd[playerid]);
}
Schau was geprintet wird. -
Gibt es eine Möglichkeit Abzufragen, ob ein Spieler ESC/ auf dem Desktop ist ? / Eine Resourcen Spaarende Möglichkeit.
-
-
@[NGD]Manne:
Wenn ich jetzt /find 0 eingebe, kommt im Chat: Den Befehl /find 0 gibt es nicht.
-
ocmd:find(playerid,params[]){
new pID,Float:Pos[3];
if(sscanf(params,"u",pID))return SendClientMessage(playerid,COLOR_RED,"Verwendung: {FFFFFF}/find [ID]");
GetPlayerPos(pID,Pos[0],Pos[1],Pos[2]);
printf("CP_ID vorher: %d",cp[playerid]);
return cp[playerid] = CreateDynamicCP(Pos[0],Pos[1],Pos[2],10,-1,-1,playerid),printf("CP_ID danach: %d",cp[playerid]);
}
Mach das mal so -
Jo danke hat geholfen Danke!
-
Dankeschön hab ein bisschen rumgebastelt geht super
-
ocmd:roadblock(playerid,params[])
{
new wantedplayerid, Float:xwpid, Float:ywpid, Float:zwpid;
GetPlayerPos(wantedplayerid,xwpid,ywpid,zwpid);
if(sscanf(params,"i",wantedplayerid)) return SendClientMessage(playerid,COLOR_WHITE,""), SendClientMessage(playerid,COLOR_WHITE,"Du kannst einem Spieler eine Straßensperre an der Brücke von Los Santos und Flint County erstellen."), SendClientMessage(playerid,COLOR_YELLOW,"Benutzung: /roadblock [ID]");
if (IsPlayerInRangeOfPoint(wantedplayerid,250,52.2971,-1534.7878,4.7385) && IsPlayerConnected(wantedplayerid) && IsPlayerInRangeOfPoint(playerid,-250,xwpid,ywpid,zwpid)) return SendClientMessage(playerid,COLOR_WHITE,""), SendClientMessage(playerid,COLOR_RED,"Straßensperre fehlgeschlagen! Der Spieler wäre zu nah an der Straßensperre, ist offline oder du bist zu weit entfernt vom Spieler.");
SendClientMessage(playerid,COLOR_WHITE,""), SendClientMessage(playerid,COLOR_YELLOW,"Es wurde eine Straßensperre an der Brücke von Los Santos und Flint County errichtet.");
CreateVehicle(596,51.4780,-1540.6693,4.6917,172.2895,0,1,0); // 1
CreateVehicle(596,52.2971,-1534.7878,4.7385,352.3497,0,1,0); // 2
CreateVehicle(596,53.1344,-1528.8831,4.6971,171.5437,0,1,0); // 3
CreateVehicle(596,53.9985,-1523.2626,4.5887,352.5575,0,1,0); // 4
return 1;
}
@Mr.Reese:Mit freundlichen Grüßen,
Crusard -
-
Du darfst Codezeilen nicht mit einem Komma trennen.
Doch das "darf" man -
for(new i = 1; i < MAX_VEHICLES; i++) {
if(i == lvpd[i]) {
SetVehicleNumberPlate(i, "LVPD");
}
if(i == lspd[i]) {
SetVehicleNumberPlate(i, "LSPD");
}
if(i == sfpd[i]) {
SetVehicleNumberPlate(i, "SFPD");
}
if(i == medics[i]) {
SetVehicleNumberPlate(i, "Sanitäter");
}
}Die Autos haben immer noch die "XY746373" Nummernschilder.
Es kommen keine Warnings -
Die Autos haben immer noch die "XY746373" Nummernschilder.
Mach es mal so:for(new i; i<sizeof lvpd; i++) SetVehicleNumberPlate(lvpd[i], "LVPD");
for(new i; i<sizeof lspd; i++) SetVehicleNumberPlate(lspd[i], "LSPD");
for(new i; i<sizeof sfpd; i++) SetVehicleNumberPlate(sfpd[i], "SFPD");
for(new i; i<sizeof medics; i++) SetVehicleNumberPlate(medics[i], "Sanitäter");mfg.
-
Hat gewirkt. Danke!