Du gehst mit einer Schleife durch alle Spieler und fragst ab ob die Spieler in der jeweiligen Fraktion sind, ist das der Fall, zeigst du den Marker an.
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Beitrag von Kuno ()
Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Fail (). -
Ah ok, ich sehe die Funktionen sind sehr gut benannt
/s -
Könnte mir jemand bei diesem Code schnell helfen?
if(newkeys==KEY_SECONDARY_ATTACK)
{
if(!IsPlayerInAnyVehicle(playerid))
{
for(new i=0; i<50; i++)
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, sbInfo[i][sbx], sbInfo[i][sby], sbInfo[i][sbz]))
{
SetPlayerInterior(playerid, sbInfo[i][sbint]);
SetPlayerPos(playerid, sbInfo[i][isbx], sbInfo[i][isby], sbInfo[i][isbz]);
SetPlayerVirtualWorld(playerid, i);
return 1;
}
}
for(new i=0; i<50; i++)
{
if(GetPlayerInterior(playerid) == 0)continue;
if(IsPlayerInRangeOfPoint(playerid, 5.0, sbInfo[i][isbx], sbInfo[i][isby], sbInfo[i][isbz]))
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, sbInfo[i][sbx], sbInfo[i][sby], sbInfo[i][sbz]);
SetPlayerVirtualWorld(playerid, 0);
return 1;
}
}
}
} -
was fürn fehler kommt denn?
-
was fürn fehler kommt denn?
Dass wenn ich im Gebäude (Interior) bin ich mit der Enter Taste nicht rauskommen kann.
Liebe Grüße,
Genadj_Andrenov -
Guten Morgen,
Wie kann ich die Uhrzeit vom Gelben Gebiet dahin setzen wo der Pfeil zeigt? Also wie kann ich die Koordinaten herausfinden und wie genau mache ich das?
Danke an jeden der mir schnell helfen kannZurzeit sind die Koordinaten so: pTextHUD[playerid][1] = CreatePlayerTextDraw(playerid,504.000000, 6.000000, "00:00");
-
Bei beiden Werten etwas weniger, z.B.:
pTextHUD[playerid][1] = CreatePlayerTextDraw(playerid,480.000000, 2.000000, "00:00");Warum bei Y nur 6 angegeben sind ist mir aber etwas unklar. Versuche einfach mal die Zahlen zu ändern, dann siehst du ja wohin es geht.
Das Feld ist insgesamt 640x480 groß, darin bewegt sich das Textdraw.
0/0 ist dabei links oben und 6400/480 ist rechts unten. -
Code
Alles anzeigenCMD:restart(playerid, params[]) { new time ; LoginCheck(playerid); LevelCheck(playerid, 5); if(sscanf(params, "I(0)", time)) return SendClientMessage(playerid, COLOR_RED, "/restart [Restart Timer(optional)") && SendClientMessage(playerid, -1, "Tipp: Trage als Timer nichts ein für einen schnellen Restart"); if(time < 10 && time !=0) return SendClientMessage(playerid, COLOR_RED, "Der Restart kann nicht unter 10min dauern."); return 1; }Ingame passiert nichts wenn ich den befehl eingebe
warum funktioniert mein restart befehl nicht und wie mache ich den code farblich
für besseres VVerständnis -
Dass wenn ich im Gebäude (Interior) bin ich mit der Enter Taste nicht rauskommen kann.
Sicher, dass die Koordinaten an denen du stehst die richtigen sind?
Ingame passiert nichts wenn ich den befehl eingebe
Versuche es so:
CMD:restart(playerid, params[])
{
new time;
LoginCheck(playerid);
LevelCheck(playerid, 5);
if(sscanf(params, "I(0)", time))
{
SendClientMessage(playerid, COLOR_RED, "/restart [Restart Timer(optional)");
return SendClientMessage(playerid, -1, "Tipp: Trage als Timer nichts ein für einen schnellen Restart");
}
if(time < 10 && time !=0) return SendClientMessage(playerid, COLOR_RED, "Der Restart kann nicht unter 10min dauern.");
return 1;
}
Ein Restart wird dadurch aber nicht durchgeführt, davon steht ja nichts im Code.
Wenn du also eine Zahl größer gleich 10 eingibst, passiert logischerweise gar nichts. -
kurze Frage was habe ich hier falsch gemacht oder sagen wir so was fehlt hier, dass ich mir nicht selber einen fahrschein verkaufen kann und
warum wird das geld nicht abgezogen obwohl es dort stehtCode
Alles anzeigenif(strcmp(strget(cmdtext,0), "/fahrschein", true) == 0) { if(pInfo[playerid][gTeam] == Fahrlehrer || pInfo[playerid][gLeader] == Fahrlehrer) // wenn der Spieler ein Teammitglieder oder Leader der Fraktion Ballas ist { new ziel = strval(strget(cmdtext,1)); // Das gleiche wie bei teamid { if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, COLOR_RED, "Du musst Online sein"); if(!strlen(strget(cmdtext,1))) return SendClientMessage(playerid, COLOR_RED, "Benutzte: /fahrschein [ID]"); if(!IsPlayerConnected(ziel)) return SendClientMessage (playerid, COLOR_RED, "Spieler ist nicht Online"); { { { { pInfo[ziel][autos] = 1; dini_IntSet(Datei(playerid),"Autoführerschein",1); // Speichere das Passwort in der .ini Datei unter passwort GivePlayerMoney(ziel, -7500); // entziehe dem Ziel 1000 € GivePlayerMoney(playerid, 7500); // gebe dem Fahrleher 1000 € SendClientMessage(ziel, COLOR_GREEN, "Herzlichen Glückwunsch du hast soeben deinen Führerschein erhalten"); SendClientMessage(playerid, COLOR_GREEN, "Glückwunsch du hast soeben einen Führerschein verkauft"); } } } } } } return 1; } -
C
Alles anzeigenif (strcmp(strget(cmdtext,0), "/fahrschein", true) == 0) { if (pInfo[playerid][gTeam] == Fahrlehrer || pInfo[playerid][gLeader] == Fahrlehrer) // wenn der Spieler ein Teammitglieder oder Leader der Fraktion Ballas ist { new ziel = strval(strget(cmdtext,1)); // Das gleiche wie bei teamid if (!IsPlayerConnected(playerid)) return SendClientMessage(playerid, COLOR_RED, "Du musst Online sein"); if (!strlen(strget(cmdtext,1))) return SendClientMessage(playerid, COLOR_RED, "Benutzte: /fahrschein [ID]"); if (!IsPlayerConnected(ziel)) return SendClientMessage(playerid, COLOR_RED, "Spieler ist nicht Online"); pInfo[ziel][autos] = 1; dini_IntSet(Datei(playerid),"Autoführerschein",1); // Speichere das Passwort in der .ini Datei unter passwort GivePlayerMoney(ziel, -7500); // entziehe dem Ziel 1000 € GivePlayerMoney(playerid, 7500); // gebe dem Fahrleher 1000 € SendClientMessage(ziel, COLOR_GREEN, "Herzlichen Glückwunsch du hast soeben deinen Führerschein erhalten"); SendClientMessage(playerid, COLOR_GREEN, "Glückwunsch du hast soeben einen Führerschein verkauft"); } return 1; }Klammern. Viel zu viele Klammern. Der Rest scheint ok, wobei du nicht abfragen musst, ob der Spieler, der den Command benutzt, online ist ("Du musst online sein") ergibt gar keinen Sinn

-
das wäre dann in Zeile 6. mit dem Command den man weg lassen kann oder ?
-
jop
-
Kann mir jemand bei meinem Teleport Befehl helfen?
Bei mir funktioniert dieser nicht - Die Datei im Gamemode Ordner geändert
-
Warum hast du unter deinem SetPlayerPos ein Return drinne, schreib es so, und probiere es.
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp("/teleport", cmdtext, true, 10) == 0)
{
SetPlayerPos (playerid,-1600.3464,853.8167,466.9222);
}
return 1;
} -
SetPlayerPos(playerid, -1600.3464, 853.8167, 466.9222); Leerzeichen raus.
-
if(!IsPlayerInRangeOfPoint(playerid, 10.0, 1260.3502, -1698.7749, 13.2889))return SendClientMessage(playerid,dunkelrot,"Du bist zu weit entfernt!");
if(pInfo[playerid][Fraktion] != 1)return SendClientMessage(playerid,dunkelrot,"Du bist kein Polizist!");
if(lspdschranke == false)
{
lspdschranke = true;
MoveObject(LSPDSchranke,1260.3502+8, -1698.7749, 13.2889,4);
SendClientMessage(playerid,dunkelgrün,"Schranke geöffnet!");
}
else if(lspdschranke == true)
{
MoveObject(LSPDSchranke,1260.3502, -1698.7749, 13.2889,4);
SendClientMessage(playerid,dunkelrot,"Schranke geschlossen!");
lspdschranke = false;
}Kann man die Bools noch weiter kürzen? Will so wenig Ressourcen wie möglich verbrauchen und zeilensparend arbeiten.
-
Würde von den resourcen her kein Untschied machen und immer versuchen alles in einer Zeile zu klatschen kann ehr die Lesbarkeit eschweren als das es wirklich hilft.
-
Warum hast du unter deinem SetPlayerPos ein Return drinne, schreib es so, und probiere es.
public OnPlayerCommandText(playerid, cmdtext[]){if(strcmp("/teleport", cmdtext, true, 10) == 0){SetPlayerPos (playerid,-1600.3464,853.8167,466.9222);}return 1;}
-

