ja das schon, aber die Matsfile ist doch eine File die in niemanden gehört
Also sie ist keinem spieler zugewiesen
Beiträge von [MM]Marco
-
-
Okay danke Myname:D dann wäre meine Frage geklärt, fehlt nur noch das Problem
-
muss ich dann zB anzahl *2 schreiben wenn ich möchte, das ein mats doppelt soviel kostet?
-
okay, der ist aber noch nicht wirklich weit, es wird noch kein geld abgezogen, er besteht bis jetzt fast nur aus abfragen
ocmd:getmats(playerid,params[])
{
new anzahl,string, matsfile[35];
new Spielerdatei[150];
if(!isPlayerInJob(playerid,9))return SendClientMessage(playerid,COLOR_GRAU,"Du bist kein Waffendealer!");
{
if(!IsPlayerInRangeOfPoint(playerid, 3.0, 593.3941,-1248.9625,18.1888))return SendClientMessage(playerid,COLOR_GRAU,"Du befindest dich nicht am Material Punkt!");
{
if(sscanf(params,"i",anzahl))return SendClientMessage(playerid,COLOR_BLAU,"Benutze: /getmats [Anzahl]");
{
dini_IntSet(matsfile,"Materialien",dini_Int(matsfile,"Materialien")-anzahl);
SetPVarInt(playerid, "Materialien", dini_Int(Spielerdatei,"Materialien")+anzahl);
format(string,sizeof(string),"Du hast %i Mats gekauft.",anzahl);
SendClientMessage(playerid, COLOR_HELLBLAU,string);
}
}
}
return 1;
} -
Guten Morgen,
ich habe mal eine Frage und ein Problem, was iwie auch mit der Frage zusammenhängt
Mein Problem:
Ich erstelle gerade einen Job Waffendealer. Der Waffendealer soll nicht unendlich viel Mats kaufen können, sondern nur soviel wie in der .txt abgespeichert ist. Mein Problem besteht aber darin, das wenn der waffendealer zB 12 Mats kauft, die 12 nicht in der .txt abgetogen werden... ich zeige euch mal wie ich das gemacht habe:
dini_IntSet(matsfile,"Materialien",dini_Int(matsfile,"Materialien")-anzahl);// Hier sollten eigentlich die anzahl abgezogen werden
SetPVarInt(playerid, "Materialien", dini_Int(Spielerdatei,"Materialien")+anzahl);/ Hier wird dagegen die Anzahl erfolgreich draufgerechnet--------------------------
Jetzt zu meiner Frage,wie kann ich einstellen, das zB ein Mats ein Dollar kostet? das ganze soll sich dann soweit addieren, das wenn der spieler (wieder unser) 12 Mats kaufen möchte, er auch 12 Dollar zahlen muss.
Okay, das war eig alles, falls ihr eine genauer Erklärung braucht, weil ich mich unverständlich Ausgedrückt habe, sagt mir einfach bescheid.
LG
Marco -
Hallo,
ich weiß ja das dini instabil sein soll, aber bis jetzt hatte ich nie ein Problem damit...
Bei mir ist es jetzt so, ich arbeite gerade an einem Angelsystem und der Spieler benötigt eine Angel zum fischen...
Alles klappt, wenn ich der dini dann Angel auf 1 setze, dann speichere und dann wieder öffne ist die Angel auf 1 gesetzt, sobald ich dann connecte, wird die Angel auf 0 gesetzt ...
Ich habe schon geguckt, ob ich irgendwo beim connecten Angel auf 0 setzen lasse, aber nein daran liegt es nicht...Kann in eine dini .txt vllt nur eine bstimmte menge?
oder muss ich vllt die string zahl erhöhen? also in dem fall habe ich:
new Spielerdatei[100];LG
-
Morgen,
Ich habe mal eine frage, wie kann ich diesen Befehl so umstellen, das ich mit einem Dialog_Style_Input, also mit dem Dialog bei dem diese Textfeld drin ist und man etwas reinschreiben kann, so umstellen, das ich in dieses Dialog textfeld die Anzahl der Fische reinschreiben kann?
hier ist erstmal der Befehl:
dcmd_fischeverkaufen(playerid,params[])
{
new anzahl;
if(sscanf(params,"i",anzahl)) return SendClientMessage(playerid,rot,"Benutze: /fischeverkaufen [Anzahl]!");
if(!IsPlayerInRangeOfPoint(playerid, 2.0, 1023.5853,-1884.4575,12.7962)) return SendClientMessage(playerid,hellrot,"Du bist nicht am Angelshop...");
if(AngelInfo[playerid][Fische] == 0) return SendClientMessage(playerid,hellrot,"Du hast keine Fische!");
if(AngelInfo[playerid][Fische] <= anzahl) return SendClientMessage(playerid,hellrot,"Du hast nicht soviele Fische!");
new string[56];
new geld = fischpreis*anzahl;
format(string,sizeof(string),"Du hast %d Fische verkauft und bekommst dafür $%d!",anzahl,geld);
SendClientMessage(playerid,neongruen,string);
AngelInfo[playerid][Fische] -= anzahl;
GivePlayerMoney(playerid, geld);
return 1;
}Mein Ziel ist es, das man nicht mehr /fischeverkaufen und [anzahl] eingeben muss, sondern dass man stadtdessen nur noch /fischeverkaufen eingibt, dann der dialog erscheint und man darein die Anzahl an Fische schreibt, die man verkaufen möchte.
Wäre nett wenn ihr mir helfen würdet
MFG
Marco -
Dankeschön
-
Tagchen,
ich habe ein Problem ..
ab welcher Version kann man den Dialog sytle Passwort benutzen?
Ich bekomme einen error, dass der Style nicht defieniert ist... ich habe auch die includes nochmal geupdatet um das auszuschließen
-
habs rausgenommen funktioniert danke
-
ja ich hatte noch forward rentroller (carid); defieniert, was ich aber gar nicht brauche
-
hab ich gemacht, aber es gibt immer noch die gleichen errors
-
mhm... jetzt habe ich 2 errors...
C:\.pwn(11493) : error 076: syntax error in the expression, or invalid function call
C:\.pwn(11494) : error 076: syntax error in the expression, or invalid function call
pwn]ist auf die beiden zeilen bezogen:
[pwn]rentroller = CreateVehicle(462,1109.0131,-1446.9314,15.3366,1.4481,1,3,30);
PutPlayerInVehicle(playerid,rentroller,0); -
Also ich bekomme hier ein warning, wahrscheinlich funktioniert es deswegen nicht -.-
Also so habe ich den dialog:
if(dialogid == DIALOG_RENTROLLER)
{
if(response==0)
{
TogglePlayerControllable(playerid, 1);
return 1;
}
if(response==1)
{
new Staatskasse[64];
new rentroller; //Hier bekomme ich ein warning
new Money = GetPlayerMoney(playerid);
if(Money <= 50)return SendClientMessage(playerid,COLOR_GRAU,"Du hast nicht genügend Geld!");
else if(Money >= 51)
{
GivePlayerMoney(playerid,-40);
format(Staatskasse, 64, "/Kassen/Staatskasse.txt");
if(!dini_Exists(Staatskasse))
{
dini_Create(Staatskasse);
}
dini_IntSet(Staatskasse, "Geld", dini_Int(Staatskasse,"Geld")+50);
SendClientMessage(playerid, COLOR_GELB,"Du hast dir erfolgreich einen Roller gemietet.");
GameTextForPlayer(playerid, "~r~ -50$", 2000, 1);
TogglePlayerControllable(playerid, 1);
rentroller = CreateVehicle(462,1109.0131,-1446.9314,15.3366,1.4481,1,3,30);
PutPlayerInVehicle(playerid,rentroller,0);
}}
return 1;
}und das warning:
C:\.pwn(11477) : warning 219: local variable "rentroller" shadows a variable at a preceding level
Die Zeile:
new rentroller; //Hier bekomme ich ein warning -
Ja... gute idee ich kann den spieler ja einfach in eine andere virtual world seten
Danke -
Hallo,
ich habe ein Problem,
ich erstelle gerade ein Tutorial und dabei soll die Camera ja zB die Stadthalle etc zeigen. Die Position ist richtig, aber die Map wird iwie nicht richtig geladen... die Texture der Häuser ist richtig verschwommen. Woran könnte das liegen? Muss ich vllt noch dichter an die Gebäude?
LG
Marco
-
ja er spawnt, aber der spieler wird nicht auf auf ihn gesetzt.
-
Morgen/Abend, nehmt es wie ihr es wollt...
Ich habe ein Problem:
Ich möchte das ein Roller erstellt wird und der spieler hinein gesetzt wird.
ich bekomme das aber iwie nicht gesetzt... so habe ich das jetzt:if(dialogid == DIALOG_RENTROLLER)
{
if(response==0)
{
TogglePlayerControllable(playerid, 1);
return 1;
}
if(response==1)
{
new Staatskasse[64];
//new rentroller[MAX_VEHICLES];
new Money = GetPlayerMoney(playerid);
if(Money <= 50)return SendClientMessage(playerid,COLOR_GRAU,"Du hast nicht genügend Geld!");
else if(Money >= 51)
{
GivePlayerMoney(playerid,-40);
format(Staatskasse, 64, "/Kassen/Staatskasse.txt");
if(!dini_Exists(Staatskasse))
{
dini_Create(Staatskasse);
}
dini_IntSet(Staatskasse, "Geld", dini_Int(Staatskasse,"Geld")+50);
SendClientMessage(playerid, COLOR_GELB,"Du hast dir erfolgreich einen Roller gemietet.");
GameTextForPlayer(playerid, "~r~ -50$", 2000, 1);
TogglePlayerControllable(playerid, 1);
rentroller = CreateVehicle(462,1109.0131,-1446.9314,15.3366,1.4481,1,3,30);//hier soll ein fahrzeug erstellt werden das rentroller ist
PutPlayerInVehicle(playerid,rentroller,0);//und hier soll der spieler in das fahrzeug gesetzt werden
}
}
return 1;
}Hilfe wäre super
//EDIT: Wieso nicht Einrücken
LG
-
Schon verstanden da hätte ich auch drauf kommen müssen -> |Wand
DankeOkay FAIL
Das ist nicht direkt das/der Enum...Das ist mehr oder weniger ein new... ich habe mich gerade verguckt... also ich habe das so gemacht:
mein enum:
enum KleidungsInfo
{
KleidungsName[48],// Wie soll der Skin/Kleidung heißen
KleidungsNr,// SkinID
}und dazu dann:
new Kleidung[][KleidungsInfo]=
{
{"~b~Nutze die ~y~Linke ~b~Pfeiltaste",0},
{"",27},
{"",50},
{"",80},
{"",264},
{"",13}
};jetzt möchte ich aber das ganze so erweitern und noch abfragen, wenn der spieler Geschlecht blabla ist kann er nur zwischen den Skins auswählen.
-
Ich wollte innerhalb der Enum abfragen, ob der Spieler Geschlecht 0 ist (männlich, dann werden ihm die Sachen in den ersten Klammern angezeigt.
Wenn er(der Spieler) Geschlecht 1 ist (Weiblich), dann werden ihr die Sachen in den zweiten Klammern angezeigt.Dann müsste ich keine 2 Enums erstellen.