Hallo liebe Breadfish Community,
liberty-reallife.de sucht wieder Unterstützung für sein Scripterteam.
Gerne auch gegen Bezahlung.
Bei Interesse --> PN!
Mit freundlichen Grüßen
Die Liberty-Reallife Projektleitung
Hallo liebe Breadfish Community,
liberty-reallife.de sucht wieder Unterstützung für sein Scripterteam.
Gerne auch gegen Bezahlung.
Bei Interesse --> PN!
Mit freundlichen Grüßen
Die Liberty-Reallife Projektleitung
Hallo liebe Breadfish Community,
liberty-reallife.de sucht Unterstützung für sein Scripterteam.
Dem ein oder anderen wird unser Server bestimmt etwas sagen.
In unseren besten Zeiten waren wir mit einem Durchschnitt von über 100 Usern gleichzeitig online einer der größten deutschen Reallife Servern.
Doch leider sind diese Zeiten vorbei und wir haben immer mehr aktive Spieler verloren.
Zwar besitzen wir eine nach wie vor große Community (Forum), welche jedoch auf Grund der mangelhaften Update-Situation der letzten Jahre kaum mehr aktiv spielt.
Was erwarten wir von dir?
Was sind deine Aufgaben?
Was bieten wir dir?
Über Bewerbungen freuen wir uns via PN, anschließend erfolgt ein erstes Teamspeak Gespräch.
Unbeantwortete Fragen gerne in diesem Thread.
Mit freundlichen Grüßen
Die Liberty-Reallife Projektleitung
Okay, vielen Dank, dass du dir noch mal alles durchgelesen hast und mir den Tipp geben hast!
Mit freundlichen Grüßen
Illex
Danke Fabi
Problem gelöst!
Für alle die das selbe Problem haben:
Habe die eine Funktion jetzt gelöscht und an der Anderen rumgefummelt, bis sie funktioniert. Sieht jetzt so aus:
public Float:GetDistanceBetweenPoints(Float:PointX, Float:PointY, Float:PointZ, Float:Point2X, Float:Point2Y, Float:Point2Z)
{
new Float:Distance;
Distance = floatabs(floatsub(PointX, Point2X)) + floatabs(floatsub(PointY, Point2Y)) + floatabs(floatsub(PointZ, Point2Z));
return Distance;
}
//dann halt nicht vergessen, sie oben zu forwarden:
forward Float:GetDistanceBetweenPoints(Float:PointX, Float:PointY, Float:PointZ, Float:Point2X, Float:Point2Y, Float:Point2Z);
Mit freundlichen Grüßen
Illex
Hey Leute,
da ich zwei Funktionen aus der uf.inc brauchte, hab ich die uf.inc in mein Script included.
Da das zu mehreren Problemen führt, da ich schon einige Funktionen übernommen hatte und auch sonst ein paar Dinge so ganz passten wie ich will, hab ich einfach die beiden Funktionen aus der uf.inc genommen und in mein Script eingefügt:
stock Float:GetDistanceBetweenPoints(Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2)
{
return floatadd(floatadd(floatsqroot(floatpower(floatsub(x1,x2),2)),floatsqroot(floatpower(floatsub(y1,y2),2))),floatsqroot(floatpower(floatsub(z1,z2),2)));
}
stock Float:GetDistanceToPoint(playerid,Float:x1,Float:y1,Float:z1)
{
if (IsPlayerConnected(playerid))
{
new Float:x2,Float:y2,Float:z2;
GetPlayerPos(playerid,x2,y2,z2);
return GetDistanceBetweenPoints(x1,y1,z1,x2,y2,z2);
}
return INF_FLOAT;
}
INF_FLOAT ist definiert.
Bekomme folgende Warnings und das Pawno gibt beim Compilen keine Rückmeldung:
warning 208: function with tag result used before definition, forcing reparse
warning 208: function with tag result used before definition, forcing reparse
Die beiden Warnings sind auf den "stock" Zeilen.
Jemand ne Idee?
Mit freundlichen Grüßen
Illex
Perfekt, vielen Dank!
...
Ich will das ins Verhältnis setzen und nicht abfragen ob er im Radius XY ist.
Soweit wäre ich auch gekommen.
Hey Leute,
ich wollte fragen obs ne einfache Lösung gibt abzufragen, ob der Spieler sich näher an Punkt A oder näher an Punkt B befindet.
Wenn er näher an Punkt A ist passiert das und das, wenn er näher an Punkt B ist passiert das und das...
Ich hab das jetzt total kompliziert mit Vektorrechnung gelöst und mich würde interessieren, ob jemand ne einfachere Lösung wüsste.
Mit freundlichen Grüßen
Illex
Hab das Geld erhalten, alles sehr schnell, einfach und in bester Ordnung.
Gerne wieder!
Coole Sache, ich freue mich auf die folgenden Updates.
Ich meinte den "Coding-Thron"
Naja, b2t, ich denke jeder weiß was ich damit gemeint habe.
Meine Güte ihr heult hier aber auch echt alle rum.
Jetzt macht sich einer die Mühe und schafft es den "blöden Kye" von seinem Thron zu werfen und ihr empfangt ihn mit solchen Posts...
Vielleicht muss er sich erst ein mal einarbeiten und fängt erst mit kleinen Sachen an?
Ist doch scheiß egal, hauptsache es passiert mal was und jemand setzt sich auf seinen Hosenbund und macht was!
Dann passiert vielleicht auch bald mehr...
Aber so ist es kein wunder, dass SAMP im Vergleich zu MTA nicht so weit ist.
Mit freundlichen Grüßen
Illex
Achso, okay, dann machs mal so:
if(!strcmp(strget(cmdtext,0),"/createhouse"))
{
if(IsPlayerConnected(playerid))
{
new preish = strval(strget(cmdtext,1));
new interiorh = strval(strget(cmdtext,2));
if(!strlen(strget(cmdtext,1))) { SendClientMessage(playerid,COLOR_RED,"Benutzung: /Createhouse [Preis] [Interior]"); return 1; }
if(!strlen(strget(cmdtext,2))) { SendClientMessage(playerid,COLOR_RED,"Benutzung: /Createhouse [Preis] [Interior]"); return 1; }
if(preish > 10000000 || preish < 0) { SendClientMessage(playerid,COLOR_RED,"Der Preis darf nicht höher als 10.000.000 SAS oder weniger als 0 SAS sein!"); return 1; }
new Float:xh, Float:yh, Float:zh, string[256];
GetPlayerPos(playerid, xh, yh, zh);
CreatePickup(1272,23,xh,yh,zh);
SendClientMessage(playerid, COLOR_GREEN,"Du hast ein Haus erstellt.");
format(string, 255,"Kordinaten: X(%d), Y(%d), Z(%d).",xh,yh,zh);
SendClientMessage(playerid, COLOR_GREEN,string);
house[MAX_HOUSE+1][Preis] = preish;
house[MAX_HOUSE+1][Interior] = interiorh;
house[MAX_HOUSE+1][Besitzer] = NOOWNER;
house[MAX_HOUSE+1][Float:housex] = xh;
house[MAX_HOUSE+1][Float:housey] = yh;
house[MAX_HOUSE+1][Float:housez] = zh;
SaveHouse();
}
Könntest du die Objekte mal posten?
Add mich mal bitte in ICQ und ich schau dann mal per Teamviewer rein.
Was hat der Blendrauch jetzt mit dem Nagelband zu tun?
Ich habs dir schon gemacht.
Gib einfach in Zukunft ein wenn du ein Haus machst:
/createhouse [Preis] [Interior] [0]
Wenn du dann noch eins machst:
/createhouse [Preis] [Interior] [1]
Noch eins:
/createhouse [Preis] [Interior] [2]
Und immer so weiter.
Aber wie gesagt, denk dran im Script den Array um 1 zu erhöhen, wenn du ein Haus erstellst.
Versuchs mal bitte so:
stock AddBlendrauch(playerid) {
new Float:x, Float:y, Float:z, Float:a;
GetPlayerPos(playerid,x,y,z);
GetPlayerFacingAngle(playerid, a);
for(new i = 0; i <= sizeof(Blendrauch); i++) {
if(Blendrauch[i][sErstellt] == 0) {
Blendrauch[i][BlendrauchY] = y;
Blendrauch[i][BlendrauchZ] = z;
Blendrauch[i][sErstellt] = 1;
Blendrauch[i][ID] = CreateObject(2780, x, y, z - 0.6, 0.0, 0.0, a - 180.0);
}
}
return 1;
}
stock RemoveAllBlendrauch() {
for(new i = 0; i <= sizeof(Blendrauch); i++) {
if(Blendrauch[i][sErstellt] == 1) {
Blendrauch[i][sErstellt] = 0;
Blendrauch[i][BlendrauchX] = 0.0;
SBlendrauch[i][BlendrauchY] = 0.0;
Blendrauch[i][BlendrauchZ] = 0.0;
DestroyObject(Blendrauch[i][ID]);
}
}
return 1;
}
Das kann ich erst sagen, wenn er den Code postet.
Zitat<---- was muss da statt MAX_HOUSES rein??
Die ID die das Haus haben soll.
Du fasst die Häuser in einem Array (eine Art Zähler) zusammen.
0 = das erste Haus (ACHTUNG: Es fängt mit 0 an!)
1 = das zweite Haus
2 = das dritte Haus
usw.
Wenn du Beispielsweise schon ein Haus gemacht hast, muss da "1" stehen.
In deinem Fall, da du es per Befehl machst, muss du im CMD mit angeben, welche id das Haus haben soll und es dann an der Stelle "MAX_HOUSE" eintragen lassen.
Würde dann so aussehen:
if(!strcmp(strget(cmdtext,0),"/createhouse"))
{
if(IsPlayerConnected(playerid))
{
new preish = strval(strget(cmdtext,1));
new interiorh = strval(strget(cmdtext,2));
new HausID = strval(strget(cmdtext,3));
if(!strlen(strget(cmdtext,1))) { SendClientMessage(playerid,COLOR_RED,"Benutzung: /Createhouse [Preis] [Interior] [ID]"); return 1; }
if(!strlen(strget(cmdtext,2))) { SendClientMessage(playerid,COLOR_RED,"Benutzung: /Createhouse [Preis] [Interior] [ID]"); return 1; }
if(!strlen(strget(cmdtext,3))) { SendClientMessage(playerid,COLOR_RED,"Benutzung: /Createhouse [Preis] [Interior] [ID]"); return 1; }
if(preish > 10000000 || preish < 0) { SendClientMessage(playerid,COLOR_RED,"Der Preis darf nicht höher als 10.000.000 SAS oder weniger als 0 SAS sein!"); return 1; }
new Float:xh, Float:yh, Float:zh, string[256];
GetPlayerPos(playerid, xh, yh, zh);
CreatePickup(1272,23,xh,yh,zh);
SendClientMessage(playerid, COLOR_GREEN,"Du hast ein Haus erstellt.");
format(string, 255,"Kordinaten: X(%d), Y(%d), Z(%d).",xh,yh,zh);
SendClientMessage(playerid, COLOR_GREEN,string);
house[HausID][Preis] = preish;
house[HausID][Interior] = interiorh;
house[HausID][Besitzer] = NOOWNER;
house[HausID][Float:housex] = xh;
house[HausID][Float:housey] = yh;
house[HausID][Float:housez] = zh;
SaveHouse();
}
Aber aufgepasst! Du musst dann oben bei new house[x][blablabla] beim x +1 machen (da du ja ein Haus hinzufügst. ;))