Zitatgodfather Script....
Das Handeln mit Godfather Scripts ist ausdrücklich verboten!
Zitatgodfather Script....
Das Handeln mit Godfather Scripts ist ausdrücklich verboten!
Lad dir die neuere Version und ersetz diese mit der vorhandenen in deinem derzeitigen Ordner.
Nun sollte die Version verändert sein.
new string[128];
format(string,sizeof(string),"%s", inputtext);
new text[256];
format(text, sizeof(text), "Blabla ... %s", string);
SendClientMessage(playerid, farbe, text);
Ich hoffe ich habe es richtig verstanden dass du einen inputtext in einem string abspeichern willst und diesen string dann irgendwo ausgeben möchtest.
Ja das mit dem Laden und Saven habe ich vergessen, aber dann direkt eingefügt. Trotzdem ging nichts.
Ich werde nun mal alles debuggen und es hier schicken bzw. reineditieren.
//Edit
//Überall mal Debug reingehauen:
//OnGameModeInit
print("Debug1");
LoadHouses();
printf("Debug2");
new PropertyString[200];
new PropertyString2[200];
new PropertyString3[200];
printf("Debug3");
for(new h = 0; h<sizeof(Houses); h++)
{
printf("Debug4");
if(Houses[h][hOwned] == 0)
{
printf("Debug5");
format(PropertyString, sizeof(PropertyString), "Zum Verkaufen!\nPreis: $%d\nLevel: %d\nTippe /buyhouse um es zu kaufen", Houses[h][HousePrice], Houses[h][hLevel]);
printf("Debug6");
printf(PropertyString);
printf("Debug7");
HouseLabel[h] = Create3DTextLabel(PropertyString, COLOR_WHITE, Houses[h][hExteriorX], Houses[h][hExteriorY], Houses[h][hExteriorZ]+0.5, 40.0, 0, 1);
printf("Debug8");
HousePickup[h] = AddStaticPickup(1273, 1, Houses[h][hExteriorX], Houses[h][hExteriorY], Houses[h][hExteriorZ]+0.5);
printf("Debug9");
}
printf("Debug10");
if(Houses[h][hOwned] == 1 && Houses[h][hRentabil] == 1)
{
printf("Debug11");
format(PropertyString2, sizeof(PropertyString), "Besitzer: %s\nMiete: %d\n \n/mieten", Houses[h][hOwner], Houses[h][hRent]);
printf("Debug12");
HouseLabel[h] = Create3DTextLabel(PropertyString2 ,COLOR_WHITE,Houses[h][hExteriorX], Houses[h][hExteriorY], Houses[h][hExteriorZ]+0.5,35.0, 0, 1);
printf("Debug13");
HousePickup[h] = AddStaticPickup(1239, 1, Houses[h][hExteriorX], Houses[h][hExteriorY], Houses[h][hExteriorZ]);
printf("Debug14");
}
printf("Debug15");
if(Houses[h][hOwned] == 1 && Houses[h][hRentabil] != 1)
{
printf("Debug16");
format(PropertyString3, sizeof(PropertyString3), "Besitzer: %s", Houses[h][hOwner]);
printf("Debug17");
HouseLabel[h] = Create3DTextLabel(PropertyString3 ,COLOR_WHITE,Houses[h][hExteriorX], Houses[h][hExteriorY], Houses[h][hExteriorZ]+0.5,35.0, 0, 1);
printf("Debug18");
HousePickup[h] = AddStaticPickup(1239, 1, Houses[h][hExteriorX], Houses[h][hExteriorY], Houses[h][hExteriorZ]);
printf("Debug19");
}
}
On3DTextUpdate();
SetTimer("On3DTextUpdate", 3000, 1);
//buyhouse
if(strcmp("/buyhouse", cmdtext, true) == 0)
{
print("DB1");
new string[128], hname[128];
print("DB2");
if(Spieler[playerid][HausKey] == 255)
{
print("DB3");
for(new h = 0; h<sizeof(Houses); h++)
{
print("DB4");
if(IsPlayerInRangeOfPoint(playerid, 3, Houses[h][hExteriorX], Houses[h][hExteriorY], Houses[h][hExteriorZ]))
{
print("DB5");
if(strcmp(Houses[h][hOwner], "Keiner", true) == 0)
{
print("DB6");
if(Houses[h][hOwned] == 1)
{
print("DB7");
format(hname, sizeof(hname), "Dieses Haus ist im Besitz von %s", Houses[h][hOwner]);
print("DB8");
SendClientMessage(playerid, COLOR_WHITE, hname);
print("DB9");
return 1;
}
print("DB10");
if(Houses[h][hLevel] > Spieler[playerid][Level])
{
print("DB11");
format(string, sizeof(string), "Du brauchst Level %d um dieses Haus kaufen zu können.", Houses[h][hLevel]);
print("DB12");
SendClientMessage(playerid, COLOR_WHITE, string);
print("DB13");
return 1;
}
else
print("DB14");
{
print("DB15");
if(GetPlayerMoney(playerid) > Houses[h][HousePrice])
{
print("DB16");
new sendername[MAX_PLAYER_NAME];
print("DB17");
GivePlayerMoney(playerid, -Houses[h][HousePrice]);
print("DB18");
GetPlayerName(playerid, sendername, sizeof(sendername));
print("DB19");
strmid(Houses[h][hOwner], sendername, 0, strlen(sendername), 255);
print("DB20");
SendClientMessage(playerid, COLOR_GREEN, "Du hast das Haus erfolgreich gekauft.");
print("DB21");
SendClientMessage(playerid, COLOR_WHITE, "Weitere Hilfe erhälst du unter /househelp oder unter /sup.");
print("DB22");
Spieler[playerid][HausKey] = h;
print("DB23");
On3DTextUpdate();
print("DB24");
SaveHouse(h);
print("DB25");
printf("[HOUSE]%s hat Haus-Nr %d für $%d erworben!", sendername, h, Houses[h][HousePrice]);
print("DB26");
}
else
print("DB27");
{
print("DB28");
SendClientMessage(playerid, COLOR_WHITE, "Du hast nicht genügend Geld.");
print("DB29");
return 1;
}
}
}
else
print("DB30");
{
print("DB31");
format(hname, sizeof(hname), "Dieses Haus ist im Besitz von %s", Houses[h][hOwner]);
print("DB31");
SendClientMessage(playerid, COLOR_WHITE, hname);
print("DB32");
return 1;
}
}
}
print("DB33");
return 1;
}
else
print("DB34");
{
print("DB35");
SendClientMessage(playerid, COLOR_GREY, "Du besitzt bereits ein Haus. Tippe /sellhouse zum verkaufen.");
return 1;
}
}
Mein Server-Log:
Geh dahin wo das abgespeichert wird per dini, oder was auch immer benutzt wird und mach dann "/Accounts/%s.deine datei endung" dann sollte es gehen.
Was bringt dir
if((playerid))
??
Man bedenke.
Es gibt viele Leute mit schlechtem Internet, bei MTA lädt man die Maps praktisch vorher runter, und dann kann man sie reibungslos spielen.
Bei SAMP werden sie geladen und bleiben.
Naja ich fänds echt gut.
Hallo Leute.
Ich habe ein kleines Problem.
Ich habe soeben ein Haus-System erstellt und wollte nun mal zu dem Ort fahren wo das Haus ist.
Eigentlich sollte dort ein 3D-Text sein und ein Pickup, dort ist aber garnix.
Meine .ini Datei sieht wie folgt aus:
Owner=Keiner
InteriorID=7
InteriorX=225.630996
InteriorY=1022.479980
InteriorZ=1084.014648
HousePrice=1000
ExteriorID=0
ExteriorX=725.690429
ExteriorY=1439.619873
ExteriorZ=13.539099
HouseKasse=300
LockStatus=1
Owned=0
Rent=100
Rentabil=0
Alles anzeigen
So bei OnGameModeInit sollte eigentlich ein Pickup und der 3DText Erstellt werden.
new PropertyString[200];
for(new h = 0; h<sizeof(Houses); h++)
{
if(Houses[h][hOwned] == 0)
{
format(PropertyString, sizeof(PropertyString), "Zum Verkaufen!\nPreis: $%d\nLevel: %d\nTippe /buyhouse um es zu kaufen", Houses[h][HousePrice], Houses[h][hLevel]);
HouseLabel[h] = Create3DTextLabel(PropertyString, COLOR_WHITE, Houses[h][hExteriorX], Houses[h][hExteriorY], Houses[h][hExteriorZ]+0.5, 40.0, 0, 1);
HousePickup[h] = AddStaticPickup(1273, 1, Houses[h][hExteriorX], Houses[h][hExteriorY], Houses[h][hExteriorZ]+0.5);
}
if(Houses[h][hOwned] == 1 && Houses[h][hRentabil] == 1)
{
format(PropertyString, sizeof(PropertyString), "Besitzer: %s\nMiete: %d\n \n/mieten", Houses[h][hOwner], Houses[h][hRent]);
HouseLabel[h] = Create3DTextLabel(PropertyString ,COLOR_WHITE,Houses[h][hExteriorX], Houses[h][hExteriorY], Houses[h][hExteriorZ]+0.5,35.0, 0, 1);
HousePickup[h] = AddStaticPickup(1239, 1, Houses[h][hExteriorX], Houses[h][hExteriorY], Houses[h][hExteriorZ]);
}
if(Houses[h][hOwned] == 1 && Houses[h][hRentabil] != 1)
{
format(PropertyString, sizeof(PropertyString), "Besitzer: %s", Houses[h][hOwner]);
HouseLabel[h] = Create3DTextLabel(PropertyString ,COLOR_WHITE,Houses[h][hExteriorX], Houses[h][hExteriorY], Houses[h][hExteriorZ]+0.5,35.0, 0, 1);
HousePickup[h] = AddStaticPickup(1239, 1, Houses[h][hExteriorX], Houses[h][hExteriorY], Houses[h][hExteriorZ]);
}
}
On3DTextUpdate();
SetTimer("On3DTextUpdate", 3000, 1);
Der Public für On3DTextUpdate sieht folgendermaßen aus:
public On3DTextUpdate()
{
new PropertyString[128];
for(new h = 0; h<sizeof(Houses); h++)
{
if(Houses[h][hOwned] == 0)
{
format(PropertyString, sizeof(PropertyString), "Zum Verkaufen!\nPreis: $%d\nLevel: %d\nTippe /buyhouse um es zu kaufen", Houses[h][HousePrice], Houses[h][hLevel]);
Update3DTextLabelText(HouseLabel[h], COLOR_WHITE, PropertyString);
}
if(Houses[h][hOwned] == 1 && Houses[h][hRentabil] == 1)
{
format(PropertyString, sizeof(PropertyString), "Besitzer: %s\nMiete: %d\n \n/mieten", Houses[h][hOwner], Houses[h][hRent]);
Update3DTextLabelText(HouseLabel[h], COLOR_WHITE, PropertyString);
}
if(Houses[h][hOwned] == 1 && Houses[h][hRentabil] != 1)
{
format(PropertyString, sizeof(PropertyString), "Besitzer: %s", Houses[h][hOwner]);
Update3DTextLabelText(HouseLabel[h], COLOR_WHITE, PropertyString);
}
}
return 1;
}
Es wird weder ein Text noch ein Pickup erstellt.
So nun zum enum & der Positions Abfrage.
#define MAX_HOUSES 200
enum HouseData
{
hInteriorID,
Float: hInteriorX,
Float: hInteriorY,
Float: hInteriorZ,
HousePrice,
hExteriorID,
Float: hExteriorX,
Float: hExteriorY,
Float: hExteriorZ,
hOwner[255],
LockStatus,
hLevel,
hOwned,
//hType,
hRent,
hRentabil,
hHeal
}
new Houses[MAX_HOUSES][HouseData];
if(strcmp("/buyhouse", cmdtext, true) == 0)
{
print("DB1");
new string[128], hname[128];
print("DBHauskey");
if(Spieler[playerid][HausKey] == 255)
{
print("DBFor");
for(new h = 0; h<sizeof(Houses); h++)
{
print("DBRange");
if(IsPlayerInRangeOfPoint(playerid, 3, Houses[h][hExteriorX], Houses[h][hExteriorY], Houses[h][hExteriorZ]))
{
print("DB2");
if(strcmp(Houses[h][hOwner], "Keiner", true) == 0)
{
if(Houses[h][hOwned] == 1)
{
format(hname, sizeof(hname), "Dieses Haus ist im Besitz von %s", Houses[h][hOwner]);
SendClientMessage(playerid, COLOR_WHITE, hname);
return 1;
}
if(Houses[h][hLevel] > Spieler[playerid][Level])
{
format(string, sizeof(string), "Du brauchst Level %d um dieses Haus kaufen zu können.", Houses[h][hLevel]);
SendClientMessage(playerid, COLOR_WHITE, string);
return 1;
}
else
{
print("DB3");
if(GetPlayerMoney(playerid) > Houses[h][HousePrice])
{
new sendername[MAX_PLAYER_NAME];
GivePlayerMoney(playerid, -Houses[h][HousePrice]);
GetPlayerName(playerid, sendername, sizeof(sendername));
strmid(Houses[h][hOwner], sendername, 0, strlen(sendername), 255);
print("DB4");
SendClientMessage(playerid, COLOR_GREEN, "Du hast das Haus erfolgreich gekauft.");
SendClientMessage(playerid, COLOR_WHITE, "Weitere Hilfe erhälst du unter /househelp oder unter /sup.");
Spieler[playerid][HausKey] = h;
On3DTextUpdate();
SaveHouse(h);
printf("[HOUSE]%s hat Haus-Nr %d für $%d erworben!", sendername, h, Houses[h][HousePrice]);
}
else
{
SendClientMessage(playerid, COLOR_WHITE, "Du hast nicht genügend Geld.");
print("DB5");
return 1;
}
}
}
else
{
format(hname, sizeof(hname), "Dieses Haus ist im Besitz von %s", Houses[h][hOwner]);
SendClientMessage(playerid, COLOR_WHITE, hname);
print("DB6");
return 1;
}
}
}
print("DB7");
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Du besitzt bereits ein Haus. Tippe /sellhouse zum verkaufen.");
return 1;
}
}
if(strcmp("/gotohouse", cmdtext, true) == 0)
{
SetPlayerPos(playerid, 725.6904, -1439.6199, 13.5391);
return 1;
}
Bei der Positions Abfrage hört das Debuggen auf und geht nurnoch bis DB7.
Kann mir jemand helfen?
Bin echt am verzweifeln.
Vielen Dank im Vorraus.
Ist bei mir auch, ich komme auch nicht weiter.
Mein LG Bildschirm zeigt im Menu was ich per Fernbedienung bedienen kann an maximal 1360xirgendwas mit 700 und am PC kann ich auch nur maximal 1360xirgendwas mit 700.
Würde aber eine höhere Auflösung haben damit ich eine kleinere Schrift habe da es mir so ins Auge fällt der ganze Chat.
Ich lade mit erstaunlichen 3,irgendwas kb/s
Wann kommt die denn jetzt?
Also auf deutsche Zeit ...
Autsch.
Mal schauen ob er da was machen wird.
Habe mir gerne seine Videos angeschaut.
Oder er hat eine unbekannte Kündigung gemacht und hat nun kein Bock mehr.
Die neuesten 0.3c Includes laden und neu compilen.
Sollte dann klappen.
Meine Mum sagt selber dass BMW nur Türken fahren.
Naja hab da nix gegen.
Wir hatten selber nen BMW und dann nen Smart For Four. xD
Außerdem ist das mit DIALOG_STYLE_LIST und 0 ein wenig falsch.
Kam nicht erst die Dialogid dann der Style?
Hallo Leute.
Ich habe vorhin bei uns Daheim einen iPod gefunden, wessen Namen ich nicht kenne. Das Bild zeigt er aber bei iTunes an. (Das ist er auch.)
Ich habe ihn vorhin wiederhergestellt mit der neuesten Version. (frisch gedownloaded)
Dann wollte ich auf "Musik" gehen und mehrere .mp3 Lieder reinziehen.
Kein einziges ging.
Weiß jemand eine Lösung?
Kenne mich nur bei iPod Touch aus.
Hallo Leute.
Ich habe ein kleines Problem.
Ich brauche eine Aufstellung dazu, wie man ein Fahrzeug-System mit mehreren Fahrzeugen macht.
Das heißt, ich benutze /carkey, es kommt ein Dialog mit all meinen Fahrzeugen. (Bsp.: /carkey -> Dialog-List: 1: Turismo 2: NRG-500 3: / 4: / 5: /)
Nur ich brauche jetzt kein komplettest Script, nur eine Aufstellung was ich alles wie machen muss.
Das heißt wo Schleifen hinkommen, wie ich was und was definiere, etc.
Brauche ich mehrere Enums oder sollte ich mit 1 Auskommen wo alles vom Fahrzeug gespeichert wird?
Mach einen Command wo abgefragt wird ob man in der Fraktion ist.
Dann mach einen Timer der auf einen Public zugreift, und in dem Public kommt dann
http://wiki.sa-mp.com/wiki/SetVehicleHealth
und
http://wiki.sa-mp.com/wiki/RepairVehicle
vor.
Viel Spaß.
Nennt sich Textdraw.
SuFu oder Google ist dein Freund & Helfer.
Wenn du meinst.
Ist auch nichts besonderes, da ich nur langeweile hatte und dachte ich kann einigen Leuten damit helfen.
Hatte Anfangs selber kein Plan wie man sowas macht und habe einfach mal drauf los versucht.