Poste mal die dazugehörigen Zeilen..
Beiträge von Frank Bullitt
-
-
Hä?
Er will doch gekickt werden, wenn kein _ oder . im Namen drin ist. -
Versuchs mal so:
new Name[MAX_PLAYER_NAME];
GetPlayerName(playerid,Name,MAX_PLAYER_NAME);
if(!strfind(Name,"_",false) && !strfind(Name,".",false)) //|| durch && ersetzt, da lag der Fehler ;)
{
SendClientMessage(playerid,0xFF0000FF,"FEHLER: Bitte wähle einen Reallife Namen (Max.Musterman/Max_Musterman).");
return Kick(playerid);
} -
Edit: Verlesen
-
Ja, den gibt es und zwar Einstein's Objectstreamer.
Anstatt CreateObject musst du CreateObjectToStream mit dem Objectstreamer nutzen und anstatt MoveObject musst du MoveObjectToStream nutzen.
Hier der Link zum Thread:
http://forum.sa-mp.de/wbb/san-…instein-s-objectstreamer/ -
-
Danke erstmal für die schnelle Antwort.
du hast jetzt aber das fette problem, dass wenn er die waffe wechselt, das teil immer noch da ist und wahrscheinlich in der waffe oder in der luft ist
Ja, dachte ich mir schon ...
Weiß jemand eine Lösung zu diesem Problem? -
Hallo,
wie bekomme ich den neuen Laserpointerstrahl an z.B. eine Desert Eagle?
Also wie ich den Laser an die Waffe bekomme, weiß ich, glaube mit:Laser = SetPlayerAttachedObject(playerid, 1, 18643, 6, -0.211905, 0.061570, 0.038943, 254.592483, 7.349079, 355.512359);
Aber wie frage ich ab, oder der jenige z.B. eine Desert Eagle in der Hand hat und wenn er sie wieder weglegt, dass der Laser wieder weg geht?MfG
-
Hm, liegt wahrscheinlich daran, dass du das Object mit einem Streamer erstellst.
Versuchs mal so:
new undercoverlicht;
undercoverlicht = CreateObject(18646, -2047.706543, -99.120132, 34.108696, 269.7591, 358.2811, 179.5181);
if(strcmp(cmd, "/polizeilicht", true) == 0) { AttachObjectToVehicle(undercoverlicht, GetPlayerVehicleID(playerid), 1, 1, 1.0, 1.0, 1.0, 1.0); } -
Ich kann Einstein's Objectstreamer nur empfehlen ...
Benutze ihn selber auf meinem Server und alles funktioniert einwandfrei.
Link -
Du hast bei if(GetPlayerMoney(playerid) >= cost) das Zeichen falsch gesetzt.
Anstatt >, muss das < rein, du hast abgefragt, ob der Spieler mehr Geld hat, als der Eintrittspreis und wenn ja, kommt diese Meldung und sonst passiert nix.
So müsste es funktionieren:if(strcmp(cmd, "/lotto", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pLottoNr] > 0)
{
SendClientMessage(playerid, COLOR_GREY, " Du hast bereits ein Lotterielos !");
return 1;
}
new cost = SBizzInfo[7][sbEntranceCost];
if(GetPlayerMoney(playerid) <= cost)
{
SendClientMessage(playerid, COLOR_GREY, " Du brauchst $%d um ein Lotterielos kaufen zu können !");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE,"Benutze: /lotto [nummer]");
return 1;
}
new lottonr = strval(tmp);
if(lottonr < 1 || lottonr > 64) { SendClientMessage(playerid, COLOR_GREY, " Deine Lotterienummer darf nicht unter 1 oder über 64 liegen!"); return 1; }
format(string, sizeof(string), "* Du hast dir ein Lotterielos mit der Nummer: %d gekauft, viel Glück.", lottonr);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
GivePlayerMoney(playerid, -cost);
SBizzInfo[7][sbTill] += cost;
Jackpot += 40;
PlayerInfo[playerid][pLottoNr] = lottonr;
}
return 1;
} -
Hier ist der Compiler mit den neuen Includes.
-
Ihr braucht auch den 0.3c Compiler, normalerweise treten diese Errors nur auf, wenn ihr nicht den 0.3c Compiler habt.
Wenn ihr den noch nicht habt, hier. -
Nein
Der pastebin-Link geht doch:
http://pastebin.com/f2bf6f04e -
Hier
Das ist doch sowas wie du suchst -
Füg diese Include mal bei pawno/include ein und oben ins Script mit
#include <utils>
Musst du vorher natürlich entpacken
-
Ja, mehr musst du nicht machen
-
Ja, wenn du als RCON Admin eingeloggt bist, kannst du jemanden zum richtigen Admin machen.
-
Also, im Godfatherscript wird normalerweise das hier abgefragt beim Tanksystem:
if(IsAPlane(vehicle) || IsABoat(vehicle)) { Gas[vehicle]++; }
Nach dieser Textstelle suchst Du in deinem Script und machst daraus:if(IsAPlane(vehicle) || IsABoat(vehicle) || NoTank(vehicle)) { Gas[vehicle]++; }
Dann guckst du ganz oben im Script nachforward IsABoat(carid);
Und setzt dadrunter:forward NoTank(carid);
Zu guter Letzt suchst du nachpublic IsABoat(carid)
Und machst unter diese public:public NoTank(carid)
{
new model = GetVehicleModel(carid);
if(model != 450)
{
return 1;
}
return 0;
}Habs nicht getestet, müsste aber so funktionieren
-
Man fragt mit
IsPlayerAdmin(playerid)
ab, ob jemand RCON-Admin ist.
Also in deinem Fall:if(strcmp(cmd, "/makeadmin", true) == 0)
{
if(PlayerInfo[playerid][pAdmin] >= 4 || IsPlayerAdmin(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, "[CMDINFO]: /makeadmin [playerid] [Level]");
return 1;
}
giveplayerid = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
new level = strval(tmp);
if(level < 0 || level > 4) { SendClientMessage(playerid, COLOR_RED, "[ERROR:] 0-10 = Valid Levels."); return 1; }
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
format(string, sizeof(string), "%s has made %s a server admin", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
Adminmsg(string);
format(string, sizeof(string), "%s has made you a server admin level %d, congratulations. Your commands are /admcmds (or /ah, or /acmds)", GetPlayerNameEx(playerid), level, GetPlayerNameEx(giveplayerid));
SendClientMessage(giveplayerid, COLOR_RED, string);
PlayerInfo[giveplayerid][pAdmin] = level;
return 1;
}
}
}
}