Log("Login, Admin",stringlogin);
zu
Log("Login", "Admin",stringlogin);
Probier mal so
Log("Login, Admin",stringlogin);
zu
Log("Login", "Admin",stringlogin);
Probier mal so
Hi es liegt nicht an der Log funktion selbst sonder soblad ich wbbAddpost benutze kommt der error
Log("Login, Admin",stringlogin);
zu
Log("Login", "Admin",stringlogin);
Probier mal so
Seins war schon richtig, schau dir mal die Syntax an.
Seins war schon richtig, schau dir mal die Syntax an.
hab auch mit %d versucht selber Fehler
hallo.wie fängt am besten an mit chripten an?
Ich meine so:
Ein kleines mysql system, fraktionen,jobs,admin system.
Ich möchte gerne lernen aber die videos im youtobe ist nanche schwer zu erkennen.
Alles anzeigenhallo.wie fängt am besten an mit chripten an?
Ich meine so:
Ein kleines mysql system, fraktionen,jobs,admin system.
Ich möchte gerne lernen aber die videos im youtobe ist nanche schwer zu erkennen.
Auf youtube kanns du dir die tutorials von MrMonat angucken ambesten von #1 anfangen.
dort erkennt man es sehr gut und ein tutorial script ist auch immer in der beschreibung
Schau am besten mal hier vorbei, wo anders bist du vermutlich an falscher Adresse..
Bei den Tutorials findet sich ganz bestimmt der ein oder andere hilfreiche Thread.
kann ich zustimmen.
Ansonsten learning by doing. Schau dir vielleicht einige Basics an die du zum Scripten z.B. für einen RL brauchst. Und dann fängst du mit einfachen Cmds an und gehst irgendwann zu komplexeren über. Vielleicht erstmal auch ohne MySQL, falls das schwerfällt. Mit etwas Grundwissen solltest du das aber dann auch hinbekommen.
Tag,
Ich hab folgendes Problem, sobald sich ein Spieler einloggt wird sein Fahrzeug nicht gespawnt.
CALLBACK:OnPlayerConnect(playerid)
{
new query[256], string[128], uhrzeit[32], playerIP[16];
ResetPlayerData(playerid);
SetPlayerColor(playerid, COLOR_GRAD1);
SetPlayerVirtualWorld(playerid, playerid + 2001);
GetPlayerIp(playerid, playerIP, sizeof(playerIP));
IpInfo[playerid][ip__] = playerIP;
if (!strcmp(AntiFlood[floodAdress], playerIP, false))
{
if ((AntiFlood[floodTime] + 3) > gettime())
{
format(string, sizeof(string), "Die IP-Adresse (%s) wurde vom Server gesperrt, Grund: IP-Flood", HideIP(playerIP));
ABroadCast(COLOR_DARKRED, string, 3);
UserAkte(playerid, playerid, "IP Ban (Flooding)");
format(string, sizeof(string), "banip %s", playerIP);
return SendRconCommand(string);
}
}
AntiFlood[floodTime] = gettime();
format(AntiFlood[floodAdress], 24, "%s", playerIP);
for(new i = 0; i < GetMaxPlayers(); i++)
{
if (IsLoggedIn(i))
{
if (PlayerInfo[i][pMessages])
{
if (GetAdminRank(i) == 0) format(string, sizeof(string), "%s (ID: %d) hat den Server betreten.", GetFullName(playerid), playerid);
// if (GetAdminRank(i) == 1) format(string, sizeof(string), "%s (ID: %d, IP: %s) hat den Server betreten.", GetFullName(playerid), playerid, HideIP(playerIP));
// if (GetAdminRank(i) >= 3) format(string, sizeof(string), "%s (ID: %d, IP: %s) hat den Server betreten.", GetFullName(playerid), playerid, playerIP);
SendClientMessageEx(i, COLOR_BLUE, string);
}
}
}
HidePlayerDialog(playerid);
StopAudioStreamForPlayer(playerid);
ClearPlayerChat(playerid, 20);
GameTextForPlayer(playerid, "~w~Verbindung wird hergestellt", 4000, 3);
SetPlayerVirtualWorld(playerid, 1337);
PlayAudioStreamForPlayer(playerid, RandomSongs[random(sizeof(RandomSongs))]);
format(uhrzeit, sizeof(uhrzeit), "%02d.%02d.%02d - %02d:%02d", tag, monat, jahr, stunde, minute);
mysql_format(myCon, query, sizeof(query), "INSERT INTO `script_loginlogout` (playername, type, data) VALUES ('%e', 'Login', '%s')", GetFullName(playerid), uhrzeit);
mysql_tquery(myCon, query, "", "");
mysql_free_result();
mysql_format(myCon, query, sizeof(query), "SELECT `clientid`, `banadmin`, `reason`, `data` FROM `script_hddban` WHERE `clientid`='%s'", getCID(playerid));
mysql_function_query(myCon, query, true, "CheckGPCBan", "d", playerid);
SetTimerEx("OnLoginCamera", 3000, 0, "i", playerid);
TogglePlayerClock(playerid, 0);
FreezePlayer(playerid);
StopLoopingAnim(playerid);
LoadPlayerTextDraws(playerid);
LoadPlayerMapIcons(playerid);
RemoveObjects(playerid);
PlayerInfo[playerid][pInformation] = CreateDynamic3DTextLabel(" ", COLOR_WHITE, 0.0, 0.0, 0.5, 20.0, playerid, INVALID_VEHICLE_ID, 0, -1, -1, -1, 100.0);
PlayerTextDrawHide(playerid, Spec[playerid]);
DisablePlayerCheckpointEx(playerid);
UpdateMarkerForPlayer(playerid);
UpdateMarkerForOther(playerid);
DisablePlayerCheckpointEx(playerid);
return 1;
}
Das ist alles was in OnPlayerConnect geschrieben steht
Du solltest eher den Abschnitt zeigen wo die Fahrzeuge geladen werden.
stock CreatePlayerVehicle(playerid, vehmodel, Float:posx, Float:posy, Float:posz, Float:posa, numberplate[], preis, neon, color1, color2)
{
new mainQuery[1537], secondQuery[256];
for(new slot = 0; slot < MAX_PLAYER_VEHICLES; slot ++)
{
if (PrivateVehicle[playerid][slot][modelid] == 0)
{
format(PrivateVehicle[playerid][slot][vehBesitzer], 24, "%s", GetFullName(playerid));
PrivateVehicle[playerid][slot][modelid] = vehmodel;
PrivateVehicle[playerid][slot][vehPosX] = posx;
PrivateVehicle[playerid][slot][vehPosY] = posy;
PrivateVehicle[playerid][slot][vehPosZ] = posz;
PrivateVehicle[playerid][slot][vehPosA] = posa;
PrivateVehicle[playerid][slot][vehInterior] = GetPlayerInterior(playerid);
PrivateVehicle[playerid][slot][vehWorld] = GetPlayerVirtualWorld(playerid);
PrivateVehicle[playerid][slot][vehColor1] = color1;
PrivateVehicle[playerid][slot][vehColor2] = color2;
PrivateVehicle[playerid][slot][vehPaintjob] = -1;
PrivateVehicle[playerid][slot][vehSpoiler] = 0;
PrivateVehicle[playerid][slot][vehHood] = 0;
PrivateVehicle[playerid][slot][vehRoof] = 0;
PrivateVehicle[playerid][slot][vehSideskirt] = 0;
PrivateVehicle[playerid][slot][vehLamps] = 0;
PrivateVehicle[playerid][slot][vehNitro] = 0;
PrivateVehicle[playerid][slot][vehExhaust] = 0;
PrivateVehicle[playerid][slot][vehWheels] = 0;
PrivateVehicle[playerid][slot][vehStereo] = 0;
PrivateVehicle[playerid][slot][vehHydraulics] = 0;
PrivateVehicle[playerid][slot][vehFrontBumper] = 0;
PrivateVehicle[playerid][slot][vehRearBumper] = 0;
PrivateVehicle[playerid][slot][vehVentRight] = 0;
PrivateVehicle[playerid][slot][vehVentLeft] = 0;
PrivateVehicle[playerid][slot][vehPreis] = preis;
PrivateVehicle[playerid][slot][vehHealth] = 1000.0;
PrivateVehicle[playerid][slot][vehNeonID] = neon;
PrivateVehicle[playerid][slot][vehTankKM] = 0;
PrivateVehicle[playerid][slot][vehKMStandCount] = 0;
PrivateVehicle[playerid][slot][vehKMStand] = 0;
PrivateVehicle[playerid][slot][vehMaterialien] = 0;
PrivateVehicle[playerid][slot][vehDrogen] = 0;
PrivateVehicle[playerid][slot][vehAKRounds] = 0;
PrivateVehicle[playerid][slot][vehM4Rounds] = 0;
PrivateVehicle[playerid][slot][vehSniperRounds] = 0;
PrivateVehicle[playerid][slot][vehDeagleRounds] = 0;
PrivateVehicle[playerid][slot][vehMP5Rounds] = 0;
PrivateVehicle[playerid][slot][vehShotgunRounds] = 0;
format(PrivateVehicle[playerid][slot][vehNumberPlate], 16, numberplate);
PrivateVehicle[playerid][slot][vehID] = CreateVehicleEx(PrivateVehicle[playerid][slot][modelid], PrivateVehicle[playerid][slot][vehPosX], PrivateVehicle[playerid][slot][vehPosY], PrivateVehicle[playerid][slot][vehPosZ], PrivateVehicle[playerid][slot][vehPosA], PrivateVehicle[playerid][slot][vehColor1], PrivateVehicle[playerid][slot][vehColor2], -1, false, 0);
new playerName[MAX_PLAYER_NAME+3], nPlate[32], cutName[24+1];
GetPlayerName(playerid, playerName, sizeof(playerName));
strmid(cutName, playerName, 0, 3, sizeof(cutName));
format(nPlate, sizeof(nPlate), "{B22222}SA %s %d", cutName, PrivateVehicle[playerid][slot][vehID]);
SetVehicleNumberPlate(PrivateVehicle[playerid][slot][vehID], nPlate);
SetVehicleHealth(PrivateVehicle[playerid][slot][vehID], PrivateVehicle[playerid][slot][vehHealth]);
strdel(mainQuery, 0, sizeof(mainQuery));
strcat(mainQuery, "INSERT INTO `script_vehicles` (`vehBesitzer`, `slot`, `modelid`, `vehPosX`, `vehPosY`, `vehPosZ`, `vehPosA`, `vehHealth`, `vehColor1`, `vehColor2`, ");
strcat(mainQuery, "`vehPaintjob`, `vehSpoiler`, `vehHood`, `vehRoof`, `vehSideskirt`, `vehLamps`, `vehNitro`, `vehExhaust`, `vehWheels`, `vehStereo`, `vehHydraulics`, ");
strcat(mainQuery, "`vehFrontBumper`, `vehRearBumper`, `vehVentRight`, `vehVentLeft`, `vehPreis`, `vehNeonID`, `vehNumberPlate`, `vehFuel`, `vehKMStand`, `vehInterior`, ");
strcat(mainQuery, "`vehWorld`,`vehMaterialien`,`vehDrogen`, `vehAKRounds`, `vehM4Rounds`, `vehSniperRounds`, `vehDeagleRounds`, `vehMP5Rounds`, `vehShotgunRounds`) VALUES (");
format(secondQuery, sizeof(secondQuery), "'%s', '%d', '%d', '%f', '%f', '%f', '%f', '%f', '%d', '%d', ",
PrivateVehicle[playerid][slot][vehBesitzer], slot, PrivateVehicle[playerid][slot][modelid], PrivateVehicle[playerid][slot][vehPosX],
PrivateVehicle[playerid][slot][vehPosY], PrivateVehicle[playerid][slot][vehPosZ], PrivateVehicle[playerid][slot][vehPosA],
PrivateVehicle[playerid][slot][vehHealth], PrivateVehicle[playerid][slot][vehColor1], PrivateVehicle[playerid][slot][vehColor2]);
strcat(mainQuery, secondQuery);
format(secondQuery, sizeof(secondQuery), "'%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', ",
PrivateVehicle[playerid][slot][vehPaintjob], PrivateVehicle[playerid][slot][vehSpoiler], PrivateVehicle[playerid][slot][vehHood],
PrivateVehicle[playerid][slot][vehRoof], PrivateVehicle[playerid][slot][vehSideskirt], PrivateVehicle[playerid][slot][vehLamps],
PrivateVehicle[playerid][slot][vehNitro], PrivateVehicle[playerid][slot][vehExhaust], PrivateVehicle[playerid][slot][vehWheels],
PrivateVehicle[playerid][slot][vehStereo], PrivateVehicle[playerid][slot][vehHydraulics]);
strcat(mainQuery, secondQuery);
format(secondQuery, sizeof(secondQuery), "'%d', '%d', '%d', '%d', '%d', '%d', '%s', '%f', '%f', '%d', '%d', '%d', '%d', ",
PrivateVehicle[playerid][slot][vehFrontBumper], PrivateVehicle[playerid][slot][vehRearBumper], PrivateVehicle[playerid][slot][vehVentRight],
PrivateVehicle[playerid][slot][vehVentLeft], PrivateVehicle[playerid][slot][vehPreis], PrivateVehicle[playerid][slot][vehNeonID],
PrivateVehicle[playerid][slot][vehNumberPlate], PrivateVehicle[playerid][slot][vehFuel], PrivateVehicle[playerid][slot][vehKMStand],
PrivateVehicle[playerid][slot][vehInterior], PrivateVehicle[playerid][slot][vehWorld],PrivateVehicle[playerid][slot][vehMaterialien],PrivateVehicle[playerid][slot][vehDrogen]);
strcat(mainQuery, secondQuery);
format(secondQuery, sizeof(secondQuery), "'%d', '%d', '%d', '%d', '%d', '%d')", PrivateVehicle[playerid][slot][vehAKRounds], PrivateVehicle[playerid][slot][vehM4Rounds], PrivateVehicle[playerid][slot][vehSniperRounds],
PrivateVehicle[playerid][slot][vehDeagleRounds], PrivateVehicle[playerid][slot][vehMP5Rounds], PrivateVehicle[playerid][slot][vehShotgunRounds]);
strcat(mainQuery, secondQuery);
mysql_function_query(myCon, mainQuery, false, "", "");
SetVehicleToRespawn(PrivateVehicle[playerid][slot][vehID]);
Vehicle[PrivateVehicle[playerid][slot][vehID]][vehFuel] = VehicleData[vehmodel-400][vehMaxTank];
return 1;
}
}
return 1;
}
Das Problem ist, das die Fahrzeuge beim Serverstart, obwohl sie gekauft wurden, nicht bei /carkey eingesehen werden können und auch ingame nicht gespawnt werden bzw. sichtbar sind.
Hey,
ocmd:/*Befehl*/(playerid,params[])
{
new i = GetDoorPos(playerid);
if(i == -1) return 1;
switch(i)
{
case 0:
{
new Float:x,Float:y,Float:z;
GetDynamicObjectPos(/*Objekt*/,x,y,z);
MoveDynamicObject(/*Objekt*/, x-1,6816,y,z,3);
PlayerPlaySound(playerid,/*x*/,x,y,z);
IsObjektMoved001 = 1;
}
}
return 1;
}
Alles anzeigen
Hier wird ein Objekt verschoben. ist es am schlausten eine globale Variable zu erstellen und abzufragen ob dieses Objekt bereits gemoved wurde? (Zeile 13.)
Gibt es alternativen?
Gibt es die Möglichkeit bei dem TimeStampToDate Include von Sommer/Winterzeit umzustellen ?
Nein.
Du kannst aber einfach die Include bearbeiten und bei der Stunde +1 bzw. -1 rechnen.
Nabend mal eine frag bei einem System lasse ich mit Punkte in einem Dialog anzeigen aber sobald es 12 sind kriegt man ein Crash.
Bei 11 werden noch alle angezeigt aber wieso ?
for(new i = 0; i < sizeof(Telei); i++)
{
if(Telei[i][ID] == -1) continue;
if(Telei[i][tele_oteil] != 1) continue;
if(count == 0) format(string, sizeof(string), "{FFFFFF}Beschreibung: %s | Ersteller: %s", Telei[i][tele_name], Telei[i][tele_ersteller]);
else format(string, sizeof(string), "{FFFFFF}%s\nBeschreibung: %s | Ersteller: %s", string, Telei[i][tele_name], Telei[i][tele_ersteller]);
count ++;
}
if(count == 0) return SendClientMessage(playerid, COLOR_RED, "Es gibt dort keine Teleports.");
ShowPlayerDialog(playerid, DIALOG_TELE1, DIALOG_STYLE_LIST, "{FFFFFF}Teleport's Los Santos", string, "{FFFFFF}Teleportieren", "{FFFFFF}Abbruch");
@reaL. dort gibt es höchst Wahrscheinlich ein Limit.
Wie wäre es, wenn du es mal so versuchst?
https://forum.sa-mp.com/showthread.php?t=336102
Hi Kurze Frage warum schwebt diese Pflanze ?
Drogen[Drugs][drgobject] = CreateDynamicObject(866, Drogen[Drugs][drgXpos], Drogen[Drugs][drgYpos], Drogen[Drugs][drgZpos], 0.0, 0.0, 0.0, Drogen[Drugs][drgvirtualworld]);
Wie ermittelst du denn drgZpos ?