Das Funktioniert aber immer noch nicht
Beiträge von Kasakow
-
-
Guten Tag,
Mein Name lautet MrPawn.
Und zwar habe ich eine Frage, wieso er die VehicleID 531 mit der Funtiom IsPlayerInVehicle nicht warnimmt.if(newkeys & KEY_NO && IsPlayerInAnyVehicle(playerid) && GetVehicleDistanceFromPoint(GetPlayerVehicleID(playerid), -102.0051, 17.3746, 3.1172) < 3.5)
{
if(PlayerInfo[playerid][pBeruf] != 2)return SendClientMessage(playerid, ROT, "FEHLER: {FFFFFF}Du bist kein Landwirt!");
if(Farmerduty[playerid] == 0)return SendClientMessage(playerid, ROT, "FEHLER: {FFFFFF}Gehe erst als Farmer in den Dienst.");
if(!IsPlayerInVehicle(playerid, 531))return SendClientMessage(playerid, ROT, "FEHLER: {FFFFFF}Du sitzt nicht im richtigen Fahrzeug!");
if(!IsVehicleStreamedIn(playerid, GetPlayerVehicleID(playerid)))return 1;
if(IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid))) {
SendClientMessage(playerid, GRUEN, "ERFOLGREICH: {FFFFFF}Du hast den Anhänger von dem Fahrzeug erfolreich entfernt!");
DetachTrailerFromVehicle(GetPlayerVehicleID(playerid));
return 1;
}
Farmtrailer[playerid] = CreateVehicle(610, 0.0, 0.0, 0.0,0.0, 0, 0, -1);
AttachTrailerToVehicle(Farmtrailer[playerid], GetPlayerVehicleID(playerid));
SendClientMessage(playerid, GRUEN, "ERFOLGREICH: {FFFFFF}Du hast erfolgreich einen Anhänger angehängt!");
return 1;
}Er sagt mir "Du sitzt nicht im richtigen Fahrzeug"
Gibt es vllt. eine andere möglich abzufragen ob es die VehicleID 531 beinhaltet ?
-
Es geht aber immer noch nicht. Soll ich mal Ingame ein Video machen ?
-
Guten Tag,
Mein Name lautet MrPawn.
Dieser Server verläuft über meinen Rechner.
Dieser Rechner enthält das Betriebssystem "Windows 7 Home - Premium".
2 Vermutungen der Ursache habe ich schon im Kopf.
1. SSCANF ist nicht auf der aktuellen Version, Gründe dieser Vermutung sind diese:Code[22:12:22] iTD: ffefefefefef.itd added to Projects.lst [22:14:00] sscanf error: System not initialised. [22:14:30] sscanf error: System not initialised. [22:14:30] sscanf error: System not initialised. [22:14:33] sscanf error: System not initialised. [22:14:33] sscanf error: System not initialised. [22:14:42] sscanf error: System not initialised. [22:14:42] sscanf error: System not initialised. [22:14:52] sscanf error: System not initialised. [22:14:52] sscanf error: System not initialised.
2. Mein CLEOS im GTA SAN ANDREAS Ordner, die habe ich zwar schon entfernt, aber dies hat nicht geholfen.
Mit freundlichen Grüßen,
MrPawn
-
Nein es funktioniert immer noch nicht
-
Wenn ich 'Create New Textdraw' benutze, dann erstellt es sich nicht
-
Guten Tag,
Mein Name lautet MrPawn.
Und zwar hätte ich mal eine Frage, gegenüber der Textdraw erstellung.
Ich bin es gewohnt, die Textdraws per IPLEOMAX´s TD Editor zu erstellen, da er leider nicht mehr Funktioniert muss ich es per Hand machen.
Dabei Interessiert mich wie man am einfachten die Cord X,Y herausbekommt
Das gleiche gilt für UseBox & Font 4 (Image. zB LD_SPAC:white )Mit freundlichen Grüßen,
MrPawn
-
Die Funktionen die Oben stehen, sind von R5. Glaube R7 Arbeitet schon mit cache_..
-
Das habe ich vorhin, gemacht dankesehr es klappt nun
EDIT: Danke an alle!
-
Ich wette du hast die 4 Dateien vom Map Editor nicht im Hauptverzeichnis des GTA SAN ANDREAS Ordner.
Zieh sie mal dahinein -
Wo soll ich da bitte etwas returen ?
public OnPlayerEnterCheckpoint(playerid)
{
new veh = GetPlayerVehicleID(playerid);
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER && !strcmp(SpawnCar_Type[veh], "Straßenreinigung", true))
{
DisablePlayerCheckpoint(playerid);
DestroyRubbish(MuellObject[playerid]);
new id = GetNearestRubbishID(GetPlayerVehicleID(playerid));
MuellObject[playerid] = id;
return SetPlayerCheckpoint(playerid, SRubbishInfo[id][RposX], SRubbishInfo[id][RposY], SRubbishInfo[id][RposZ], 4.5);
}
return 1;
}stock GetNearestRubbishID(veh, Float:MAX_DISTANCE = 500.0){
new Float:Distance[2]={-1.0,-1.0}, index = -1;
for(new i; i != MAX_RUBBISH; ++i){
if(!SRubbishInfo[i][RubbishObject])continue;
Distance[0] = GetVehicleDistanceFromPoint(veh, SRubbishInfo[i][RposX], SRubbishInfo[i][RposY], SRubbishInfo[i][RposZ]);
if((Distance[1] == -1 || Distance[0] < Distance[1]) && Distance[0] < MAX_DISTANCE){
Distance[1] = Distance[0];
index = i;
}
}
return index;
}stock DestroyRubbish(index){
DestroyDynamicObject(SRubbishInfo[index][RubbishObject]);
SRubbishInfo[index][RubbishObject] = 0;
return 1;
}Bei jeder Funktion wird doch ein Wert zurück gegeben
-
Du meinst statt:
index = i;
return index = i;
-
Das sind keine Mülleimer, und auserdem brauche ich diese Fehlermeldung nicht.
Der einfach Grund ist, das dass System so verläuft das die Checkpoints da angezeigt werden wo Müll auf dem Boden liegt.
Aber dankeschön, werds mal ausprobieren -
Er soll ja auch nächst beste nehmen. Also sagen wir es gibt nur 2 Müllpunkte.
1. Müllpunkt = 20m
2. Müllpunkt = 25m1. Müllpunkt = Checkpoint
2. Müllpunkt = none -
-
Guten Tag,
Mein Name lautet MrPawn.
Und war habe ich ein Problem mit meinem Straßenreiniger Jobpublic OnPlayerEnterCheckpoint(playerid)
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER && !strcmp(SpawnCar_Type[GetPlayerVehicleID(playerid)], "Straßenreinigung", true))
{
print(".");
DisablePlayerCheckpoint(playerid);
DestroyDynamicObject(MuellObject[playerid]);
new Float:Abstand = 500.0, Object = INVALID_OBJECT_ID;
for(new i=0;i<MAX_RUBBISH;i++)
{
print("..");
if(SRubbishInfo[i][RposX] == 0.0)continue;
if(SRubbishInfo[i][RubbishObject] == INVALID_OBJECT_ID)continue;
if(GetVehicleDistanceFromPoint(GetPlayerVehicleID(playerid), SRubbishInfo[i][RposX], SRubbishInfo[i][RposY], SRubbishInfo[i][RposZ]) < Abstand){
print("...");
Abstand = GetVehicleDistanceFromPoint(GetPlayerVehicleID(playerid), SRubbishInfo[i][RposX], SRubbishInfo[i][RposY], SRubbishInfo[i][RposZ]);
Object = i;
}
if(Object != INVALID_OBJECT_ID) {
SRubbishInfo[i][RubbishObject] = Object;
print("....");
MuellObject[playerid] = SRubbishInfo[i][RubbishObject];
return SetPlayerCheckpoint(playerid, SRubbishInfo[i][RposX], SRubbishInfo[i][RposY], SRubbishInfo[i][RposZ], 4.5);
}
}
return 1;
}
return 1;
}
Wenn man durch den Müll ( Checkpoint ) durchfährt, dann soll ein neuer kommen. Tut es aber nicht.
Das Problem bei der ganzen sachen, ist: Jeder bereich wird aufgerufen, habs ja mit "." debuggen lassen -
Das weiß ich, ich habe aber keine lust das hinzuschreiben
-
-
Guten Tag,
Mein Name lautet MrPawn.
Und zwar habe ich einen Fehler, bei /lastdriver [vehicleid]
Also per OnPlayerStateChange wird das ganze betrieben:new vehicleid = GetPlayerVehicleID(playerid);
format(LastDriver[vehicleid], 24, "%s", PlayerInfo[playerid][pName]);Das geile ist es geht ja, aber das vermischt sich mit den anderen fahrzeugen mit der ID
Ich habe aktuell 4 Sweeper auf dem Server stehen.
Ich steige in das Fahrzeug mit der ID 1
Gebe /lastdriver [1] ein.
Dann steht da, "Adminbefehl: Der letzte Fahrer des Fahrzeuges ist USER.
Alles gut, aber wenn ich dann id 2,3,4 abfrage wo ich nicht herinnen war, wird auch was getahn, und zwar immer 1 zeichen entnommen.1ID(Herinnen gesessen) = "USER"
2ID(None)="SER"
3ID(None)="ER
4ID(None)="R"
Also er zäht hoch und bei den zeichen runter
COMMAND:lastdriver(playerid, params[])
{
if(!IsPlayerConnected(playerid))return 1;
if(PlayerInfo[playerid][Eingeloggt] == false)return SendClientMessage(playerid, GRAU, "Du bist nicht eingeloggt!");
if(!IsPlayerAnAdmin(playerid, 1))return SendClientMessage(playerid, GRAU, "Du bist kein Teammitglied / Du besitzt nicht die Rechte für diesen Befehl!");
if(GetPVarInt(playerid, "Aduty") == 0)return SendClientMessage(playerid, ROT, "Du musst als Administrator im Dienst sein, um befehle zu nutzen");
new tmp_vehicleid, string[128];
if(sscanf(params, "i", tmp_vehicleid))return SendClientMessage(playerid, WRONGCMD, "BENUTZE: /lastdriver [vehicleid]");
if(!IsValidVehicle(tmp_vehicleid))return SendClientMessage(playerid, ROT, "FEHLER: {FFFFFF}Diese FahrzeugID Existiert nicht!");
if(strlen(LastDriver[tmp_vehicleid]) > 0) {
format(string, sizeof(string), "AdminBefehl: Der letzte Fahrer des Fahrzeuges ist %s"
,LastDriver[tmp_vehicleid]);
SendClientMessage(playerid,GRUEN,string); }
else {
SendClientMessage(playerid, GRUEN, "AdminBefehl: Es gibt keinen letzen Fahrer!");
}
return 1;
}Mit freundlichen Grüßen,
MrPawn
-
Guten Tag,
Mein Name lautet MrPawn.
Und zwar denke ich bin ich zu müde um noch gescheit zu denken.Und zwar geht es um mein Alters System:
if(dialogid == DIALOG_ALTER)
{
if(!response) {
ShowPlayerMenu(playerid, "Register");
mysql_real_escape_string(PlayerInfo[playerid][pName], PlayerInfo[playerid][pName]);
new query[154];
format(query, sizeof(query), "DELETE FROM `Benutzerkonten` WHERE `Benutzername` = '%s'", PlayerInfo[playerid][pName]);
mysql_query(query);
}
if(response) {
new J,M,T;
getdate(J,M,T);
new DatumInfo[3][20], string[128];
split(inputtext,DatumInfo,'.');
if(!strlen(inputtext))
{
SendClientMessage(playerid, ROT, "Falsches Format (TAG.MONAT.JAHR)");
ShowPlayerMenu(playerid, "Alter");
}
if(strlen(inputtext) > 10)
{
SendClientMessage(playerid, ROT, "Falsches Format (TAG.MONAT.JAHR)");
ShowPlayerMenu(playerid, "Alter");
return 1;
}
if(!IsValidDate(strval(DatumInfo[0]),strval(DatumInfo[1]),strval(DatumInfo[2])))
{
SendClientMessage(playerid, ROT, "Falsches Format (TAG.MONAT.JAHR)");
ShowPlayerMenu(playerid, "Alter");
return 1;
}
if(J - strval(DatumInfo[2]) > 100 || strval(DatumInfo[2]) < 1 || strval(DatumInfo[2]) >= J)
{
SendClientMessage(playerid, ROT, "Falsches Format (TAG.MONAT.JAHR)");
ShowPlayerMenu(playerid, "Alter");
return 1;
}
new check = J - strval(DatumInfo[2]);
if(check == J)
{
SendClientMessage(playerid, ROT, "Falsches Format (TAG.MONAT.JAHR)");
ShowPlayerMenu(playerid, "Alter");
return 1;
}
if(strval(DatumInfo[1]) > M)
{
check -= 1;
}
else if(strval(DatumInfo[1]) == M && strval(DatumInfo[0]) > T)
{
check -= 1;
}
if(check < 0 || check > 65)
{
SendClientMessage(playerid, ROT, "Falsches Format (TAG.MONAT.JAHR)");
ShowPlayerMenu(playerid, "Alter");
return 1;
}
format(string, sizeof(string), "Ok, du bist also %i Jahre Jung/Alt.", check);
SendClientMessage(playerid, GRAU, string);
ShowPlayerMenu(playerid, "Geschlecht");
}
}Dieser Quelltext wird garnicht erst aufgerufen (noch nicht geprintet)
Also #ERROS werden schon angezeigt, aber ingame passiert da dann nichts!
Wenn ich split garnicht im Script habe, dann zeig er mir aber keinen Error an. Sobald ich Split einfüge kommt der Fehler:Codeerror 025: function heading differs from prototype Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase 1 Error.
stock split(const strsrc[], strdest[][], delimiter)
{
new i, li;
new aNum;
new len;
while(i <= strlen(strsrc))
{
if(strsrc[i] == delimiter || i == strlen(strsrc))
{
len = strmid(strdest[aNum], strsrc, li, i, 128);
strdest[aNum][len] = 0;
li = i+1;
aNum++;
}
i++;
}
return 1;
}EDIT: Es lag an dem MySQL Include
Da war auch ein Split drinne, leider kein nützliches für mich