Was geht denn genau nicht?
Ich verstehe nicht was des machen soll?
Was soll der Befehl bewirken? Das er dorthin geportet wird?
[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
-
-
Versuchs mal so:
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp("/sh", cmdtext, true, 10) == 0)
{
SendClientMessage(playerid, 0xFF8000FF, "Hier steht dann dein Text");
SetPlayerPos(playerid, 384.808624, 173.804992, 1008.382812);
SetPlayerInterior(playerid, 3);
return 1;
}
return 0;
}- format und string entfernt, da in obigem Code unnötig
- SetPlayerPos ergänzt
-
Gerade nen Brett vorm Kopf
Könnte mir wer da pls richtig machen? :)?new failme[300];
#define SendFail(%0,%1,%2,%3) format(failme,300,"{BB0000}[SAHG-Fehler]: %2":,%3),SendClientMessage(%0,%1,failme)L.G.
-
Halo erstmal,
kann man Fragen ob der Spieler sich in der Nähe vom Kofferraum befindet ?
Also ich will gerne das der Spieler hinten hin muss und dann etwas ablädt.Kann mir da jemand helfen ?
Mfg Saphire
Da könnte dir das hier helfen: http://wiki.sa-mp.com/wiki/GetVehicleModelInfo_DE -
Was machst du denn mit dem %2?
Nimm doch %s -
Nimm doch %s
Schon versucht, bringt nichts.
Ich glaube die Syntax ist einfach falsch...
Wenn mir wer den Code einfach fertig via pwn-quelltext reinstellen kann, wäre das gutL.G.
-
Probiers mal so:
new failme[145];
#define SendFail(%0,%1) \
format(failme,sizeof(failme),"{BB0000}[SAHG-Fehler]: %s",%1);SendClientMessage(%0,FARBE,%1)Syntax: SendFail(id,fehler[]);
-
Versuchs mal so:
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp("/sh", cmdtext, true, 10) == 0)
{
SendClientMessage(playerid, 0xFF8000FF, "Hier steht dann dein Text");
SetPlayerPos(playerid, 384.808624, 173.804992, 1008.382812);
SetPlayerInterior(playerid, 3);
return 1;
}
return 0;
}- format und string entfernt, da in obigem Code unnötig
- SetPlayerPos ergänzt
Danke, hat mir schon weitergeholfen, aber warum geht das nicht wenn ich den Befehl /sh eingebe? Ich möchte doch nur ein Stadthallen Interior. Sorry wenn ich mich so blöd anstelle.
-
Syntax: SendFail(id,fehler[]);
Soweit bin ich auch gekommen ;).
Nur ich möchte gerne formatieren können. Ich weiß, dass es geht, nur nicht wie.//edit: Habs geschafft trotzdem danke
-
Hey,
habe mal nach langer Zeit wieder an meinem Script gearbeitet.. Jetzt habe ich das Problem, dass ich bei "/flock" ( Fraktionsfahrzeuge abschließen / aufschließen ), dass ich die Fahrzeuge nur aufschließen kann, aber nicht abschließen..Code.
ocmd@3:flock,fclock,fcarlock(playerid,pa[])
{
new i,p;
if(Spieler[playerid][Fraktion] <= 0)return SendClientMessage(playerid,Rot,"Du bist in keiner Fraktion!");
new vehid = GetNearest_Vehicle(playerid,7);
if(vehid != -1)
{
for(i = 0; i<sizeof(PresiVehs); i++)
{
if(Spieler[playerid][Fraktion] == 1)
{
if(FCarlock[vehid] == 1)
{
FCarlock[vehid] = 0;
for(p = 0; p<MAX_PLAYERS; p++)SetVehicleParamsForPlayer(vehid,p,0,0);continue;
}
else if(FCarlock[vehid] == 0)
{
FCarlock[vehid] = 1;
for(p = 0; p<MAX_PLAYERS; p++)SetVehicleParamsForPlayer(vehid,p,0,1);continue;
}
}
}
}
return 1;
}Was ist falsch beim Code?
-
//edit: Habs geschafft trotzdem danke
Hab noch ein Problem...
new failme[300];
#define SendFail(%0,%1,%2) format(failme,sizeof(failme),"{BB0000}[SAHG-Fehler]{FFFFFF}: %s",%1,%2),SendClientMessage(%0,0xFFFFFFFF,failme)Wenn ich jetzt nichts mitgeben will ist ja klar, dass es eine falsche Syntax ist.
Wie kann ich das umgehen?L.G.
-
-
-
Gar nichts, das ist ja das Problem.
Hmm, habs grad selbst aufm Homeserver getestet, und es ging.
Hast du eventuell 2 "OnPlayerCommandText" publics?
Teste es mal in einem leeren Script.
Ersetze dann
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/mycommand", cmdtext, true, 10) == 0)
{
// Do something here
return 1;
}
return 0;
}durch
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp("/sh", cmdtext, true, 10) == 0)
{
SendClientMessage(playerid, 0xFF8000FF, "Hier steht dann dein Text");
SetPlayerPos(playerid, 384.808624, 173.804992, 1008.382812);
SetPlayerInterior(playerid, 3);
return 1;
}
return 0;
}Dann sollte eigentlich alles gehen. -
Danke, mache ich morgen.
Werde es dsbn editieren. -
Versuch es mal mit OCMD
oben im script:
#include <ocmd>
Und ganz unten kannst du dann einen Befehl machen:ocmd:sh(playerid,params[])
{
SendClientMessage(playerid, 0xFF8000FF, "Du bist in die Stadthalle gegangen!");
SetPlayerPos(playerid, 384.808624, 173.804992, 1008.382812);
SetPlayerInterior(playerid, 3);
return 1;
}MFG
-
Aber mit OnPlayerCommandText muss es doch auch gehen. Bei mir funktioniert es schließlich auch.
Eventuell hat er einen Fehler im Script. Er testet es ja morgen und verkündet das Ergebnis. -
Hey,
habe mal nach langer Zeit wieder an meinem Script gearbeitet.. Jetzt habe ich das Problem, dass ich bei "/flock" ( Fraktionsfahrzeuge abschließen / aufschließen ), dass ich die Fahrzeuge nur aufschließen kann, aber nicht abschließen..Code.
ocmd@3:flock,fclock,fcarlock(playerid,pa[])
{
new i,p;
if(Spieler[playerid][Fraktion] <= 0)return SendClientMessage(playerid,Rot,"Du bist in keiner Fraktion!");
new vehid = GetNearest_Vehicle(playerid,7);
if(vehid != -1)
{
for(i = 0; i<sizeof(PresiVehs); i++)
{
if(Spieler[playerid][Fraktion] == 1)
{
if(FCarlock[vehid] == 1)
{
FCarlock[vehid] = 0;
for(p = 0; p<MAX_PLAYERS; p++)SetVehicleParamsForPlayer(vehid,p,0,0);continue;
}
else if(FCarlock[vehid] == 0)
{
FCarlock[vehid] = 1;
for(p = 0; p<MAX_PLAYERS; p++)SetVehicleParamsForPlayer(vehid,p,0,1);continue;
}
}
}
}
return 1;
}Was ist falsch beim Code?
+ Bekomme bei meinem Server immer folgendes:
ZitatHSA ERROR: Entries set too low!
Weiß einer warum das kommt? -
Weiß einer warum das kommt?
Versuchs mal so:ocmd@3:flock,fclock,fcarlock(playerid,pa[])
{
if(Spieler[playerid][Fraktion] <= 0)return SendClientMessage(playerid,Rot,"Du bist in keiner Fraktion!");
new vehid = GetNearest_Vehicle(playerid,7);
if(vehid == -1 || Spieler[playerid][Fraktion] != 1) return 1;
if(FCarlock[vehid] == 1) {
FCarlock[vehid] = 0;
for(new p; p<MAX_PLAYERS; p++) if(IsPlayerConnected(p)) SetVehicleParamsForPlayer(vehid,p,0,0);
} else if(!FCarlock[vehid]) {
FCarlock[vehid] = 1;
for(new p; p<MAX_PLAYERS; p++) if(IsPlayerConnected(p)) SetVehicleParamsForPlayer(vehid,p,0,1);
}
return 1;
}//Edit: Wofür brauchste die Schleife mit der Variable i? macht doch keinen Sinn
mfg.
-
Versuchs mal so:ocmd@3:flock,fclock,fcarlock(playerid,pa[])
{
if(Spieler[playerid][Fraktion] <= 0)return SendClientMessage(playerid,Rot,"Du bist in keiner Fraktion!");
new vehid = GetNearest_Vehicle(playerid,7);
if(vehid == -1 || Spieler[playerid][Fraktion] != 1) return 1;
if(FCarlock[vehid] == 1) {
FCarlock[vehid] = 0;
for(new p; p<MAX_PLAYERS; p++) if(IsPlayerConnected(p)) SetVehicleParamsForPlayer(vehid,p,0,0);
} else if(!FCarlock[vehid]) {
FCarlock[vehid] = 1;
for(new p; p<MAX_PLAYERS; p++) if(IsPlayerConnected(p)) SetVehicleParamsForPlayer(vehid,p,0,1);
}
return 1;
}//Edit: Wofür brauchste die Schleife mit der Variable i? macht doch keinen Sinn
mfg.
Aber wie kann ich dann machen, dass Fraktion 1 nur Fahrzeuge von Fraktion 1 öffnen / schließen kann und Fraktion 2 genau so?PS: Klappt immer noch nicht, kann es immer noch nur aufschließen, aber nicht zuschließenKlappt jetzt doch
Danke dir!