if(strcmp(HausInfo[haus][haus_besitzer],name,false) != 0)return SendClientMessage(playerid,0x00FF00,"Dieses Haus gehört dir nicht!");
Die Funktion strcmp gibt 0 zurück, sofern die Inhalte der Parameter 1 + 2 übereinstimmen, wodurch die oben stehende Variante die Lösung zum Problem sein sollte.
Beiträge von Douq
-
-
WTBELADEN[WAFFENTRANSPORT[1]] = 0; in WTBELADEN[WAFFENTRANSPORT[1]] = -1; umändern, da die FahrzeugIDs bei 0 anfangen.
-
@BlackAce-Junior:
Scheinbar weißt du nicht, wofür strcmp gut ist bzw. es zurück gibt. Bei deiner Variante wird es sicherlich nicht den gewünschten Zweck erfüllen.@xSpeciaaL:
- Zufallszahl:
Ich würde das generell anders machen - Nummer[playerid] = random(89999) + 10000; So wird es immer eine 5 stellige Zahl sein und du ersparst dir damit 2 Zeilen (und Variabeln). - Überprüfung:
Bei der Überprüfung (bei dem Code unten Zeile 13) sollte er dir eigentlich eine Fehlermeldung ausgeben, weil dir der Array fehlt. Der Index wäre indem fall playerid.
- Zufallszahl:
-
Das aufrufen der Funktion ist bezüglich Geschwindigkeit langsamer, als eine einfache Direktive.
-
Zwar könnte man sicherlich am visuellen arbeiten, trotzdessen ist es für den Anfang sehr unterhaltsam.
Kurze Frage: Irgendwie kann ich meine 3 Server nicht verwenden, obwohl gerade mein Hackangriff gescheitert ist - ist das normal?
-
Ich gebe zu, dass ich von DINI keine Ahnung habe, aber müssen nicht beide Namen der "Schlüssel" identisch sein? Ich meine bei dem einen steht Rankname und beim anderen Ranknamen?
dini_Get(datei,>>"Rankname"<<) [LADEN] -- dini_Set(datei,>>"Ranknamen"<<,rankname) [SETZEN]E: Etwas hinzugefügt
E: einmal edit vergessen, deshalb nun 3 Editierungen :> -
Ich hab ne Kleine Frage gibt es ein Object was eine Angel ist ?? Wenn ja ID bitte
hier - ID: 18632 (FishingRod).
-
new Float:hp, VHealth[64];
GetVehicleHealth(GetPlayerVehicleID(i),hp);
format(VHealth,sizeof(VHealth),"Zustand: %.1f%",hp);
TextDrawSetString(Zustand[i],VHealth); -
GetVehicleHealth gibt keinen Wert zurück, er setzt lediglich in den zweiten Parameter den HP-Wert des Fahrzeuges als float (Dezi / Kommazahl).
//ZUSTAND
new Float:hp, VHealth[64];
GetVehicleHealth(GetPlayerVehicleID(i),hp);
format(VHealth,sizeof(VHealth),"Zustand: %d%",hp);
TextDrawSetString(Zustand[i],VHealth); -
Im Normalfall solltest du das Script garnicht compilen können, da folgendes PAWNO eigentlich stören sollte:
dini_IntSet(Pfad,"Skin",GetPlayerSkin(playerid);); -> ); ); -
Statt den Inhalt der Variabel von 'PlayerInfo[playerid][pSkin]' speichert er den Wert, welche die Funktion 'GetPlayerSkin(playerid)' zurück gibt.
-
- Überprüfe, ob die Datei wirklich M_Bot heißt (Groß- und Kleinschreibung ist irrelevant).
- Nutzt du auch die Pawno.exe, welche sich im Vorordner von der Include befindet?
-
Ich empfehle dir die Include a_zones.
-
Woher willst du das wissen, der Server ist nichtmals gestartetHättest du die Werbung aufmerksam gelesen, dann wüsstest du, dass der Server bereits vor geraumer Zeit online gewesen war und dann gescheitert ist. Das ist glaube ich der ~4 - 5 Versuch.
-
Auch wenn mir persönlich nicht mehr viel am Projekt lieg, muss ich sagen, dass die Werbung in meinen Augen echt gelungen ist.
@Fipsi:
Scheinbar schaffst du es nicht mal die Credits zu lesen, denn dann wüsstest du, dass dadrunter die Projekt-Sunset Scripter stehen. Und warum sollte man etwas ändern, wenn es so wie es ist gut ist? Wäre in meinen Augen ziemlich sinnlos. -
if (!strcmp("/veh", cmdtext, true))
{
if(!strlen(strget(cmdtext,3))) return SendClientMessage(playerid, ROT,"Benutze /veh [VEHICLE] [COLOR1] [COLOR2]");
new col1, col2, car;
new modelid = GetPlayerVehicleID(playerid);
new Float:X, Float:Y, Float:Z, Float:A;GetPlayerPos(playerid, X, Y, X);
GetPlayerFacingAngle(playerid,A);modelid = strval(strget(cmdtext,1));
col1 = strval(strget(cmdtext,2));
col2 = strval(strget(cmdtext,3));car = AddStaticVehicle(modelid,X, Y, Z, col1, col2,-1);
PutPlayerInVehicle(playerid,car,0);
return 1;
}
stock strget(strx[], pos, search = ' ') {
new arg, ret[128], idxx;
for (new i = 0; i < strlen(strx); i++) {
if(strx[i] == search || i == strlen(strx) || strx[i + 1] == 10) {
arg++;
if (arg == pos + 1){
ret[i-idxx] = EOS;
return ret;
} else if (arg == pos)
idxx= i+1;
}
else if (arg == pos)
ret[i - idxx] = strx[i];
}
return ret;
} -
Der Fehler kommt, weil die Funktion GetPlayerHealth 2 Parameter hat und nicht 1.
new Float:Leben;
GetPlayerHealth(playerid,Leben);
dini_FloatSet(Spielerdatei,"Health",Leben); -
stock SetPlayerUnDeath()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(SpielerInfo[i][Tot] == 1)
{
SpielerInfo[i][TotZeit]--;
}
if(SpielerInfo[i][TotZeit] == 0)
{
SpielerInfo[i][TotZeit] = -1;
SpielerInfo[i][Tot] = 0;
SendClientMessage(i,weiß,"ENTLASSEN");
}
}
}
return 1;
} -
Ist doch logisch, weil deine Bedingung immer erfüllt ist (if(SpielerInfo[ i ][TotZeit] <= 0)).
-
enum _Fahrzeuge
{
ID,
Fahrzeugname[50],
MaxTank
};new Fahrzeuge[][_Fahrzeuge] =
{
{560,"Sultan", 200},
{488,"NewsHeli", 300}
};
//Beispiel:
printf("Sultan kann max. %d Liter tanken.",Fahrzeuge[0][MaxTank]);
// Um nun z.B. den maximalen Tank eines Fahrzeuges zu erhalten.
stock GetVehicleMaxTank(vehicleid)
{
for(new i = 0; i < sizeof(Fahrzeuge); i++)
{
if(Fahrzeuge[i][ID] == GetVehicleModel(vehicleid))
{
return Fahrzeuge[i][MaxTank];
}
}
}
// Beispiel:
printf("Fahrzeug von playerid %d hat ein Tankvermögen von %d.",playerid, GetVehicleMaxTank(GetPlayerVehicleID(playerid)));
€: GetVehicleMaxTank + Beispiel hinzugefügt.