Hallo
Neo, der Befehl, wo ich ins Typen reinspeichere bleibt aber
Typen[][haus_typ] = blbalab
oder irre ich ?
Hallo
Neo, der Befehl, wo ich ins Typen reinspeichere bleibt aber
Typen[][haus_typ] = blbalab
oder irre ich ?
Hallo
Bei Neos Lösung kommen noch die Fehler:
C:\Users\Simon\Desktop\dudalus232.pwn(8945) : error 032: array index out of bounds (variable "Typen")
C:\Users\Simon\Desktop\dudalus232.pwn(8946) : error 032: array index out of bounds (variable "Typen")
C:\Users\Simon\Desktop\dudalus232.pwn(8947) : error 032: array index out of bounds (variable "Typen")
C:\Users\Simon\Desktop\dudalus232.pwn(8948) : error 032: array index out of bounds (variable "Typen")
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
enum haus_typ
{
interior,
Float:haus_x,
Float:haus_y,
Float:haus_z
}
MfG dUDA
Hallo
Ich habe einen Command von Strcmp in DCMD umgeschrieben und nun habe ich ein kleines Problem. Ich kann mit einer Nummer ein 3er Koordinatenpaar aus einem Arrey auswählen und diese abspeichern. Ich will also die Zahl die man eingibt ins Arrey eingeben:
C:\Users\Simon\Desktop\dudalus232.pwn(8944) : error 032: array index out of bounds (variable "Typen")
C:\Users\Simon\Desktop\dudalus232.pwn(8945) : error 032: array index out of bounds (variable "Typen")
C:\Users\Simon\Desktop\dudalus232.pwn(8946) : error 032: array index out of bounds (variable "Typen")
C:\Users\Simon\Desktop\dudalus232.pwn(8947) : error 032: array index out of bounds (variable "Typen")
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
new Typen[][haus_typ] =
{
{1,223.043991,1289.259888,1082.199951}, //Schlecht
{2,225.756989,1240.000000,1082.149902}, //Schlecht
{3,235.508994,1189.169897,1080.339966}, //Gut
{7,225.630997,1022.479980,1084.069946} //Sehr Gut
};
dcmd_chaus(playerid,params[])
{
new spielzeit, vworld;
if(sscanf(params, "dddd",kosten,spielzeit,haus,vworld)) SendClientMessage(playerid, COLOR_WHITE,"Verwendung: /chaus [Kosten] [Spielzeit in h] [Haus] [Virtual World]");
else if(!IsPlayerAdmin(playerid)) return 1;
else if(spielzeit < 0) return SendClientMessage(playerid,COLOR_GREY,"Die Spielzeit muss minimal bei 0 Stunden liegen!");
else
{
new string[256];
new Float:nowPos[3];
new slotid = initHSlot();
new fullid = (slotid==-1) ? (_cache_haus) : (slotid);
GetPlayerPos(playerid,nowPos[0],nowPos[1],nowPos[2]);
HausDaten[fullid][ax] = nowPos[0];
HausDaten[fullid][ay] = nowPos[1];
HausDaten[fullid][az] = nowPos[2];
HausDaten[fullid][play_time] = spielzeit;
HausDaten[fullid][kosten] = kosten;
HausDaten[fullid][interior] = Typen[haus][interior];
HausDaten[fullid][ix] = Typen[haus][haus_x];
HausDaten[fullid][iy] = Typen[haus][haus_y];
HausDaten[fullid][iz] = Typen[haus][haus_z];
HausDaten[fullid][virtual_world] = vworld;
HausDaten[fullid][verschlossen] = 1;
HausDaten[fullid][nicht_zum_kauf] = 0;
strmid(HausDaten[fullid][Besitzer],"Keiner",0,MAX_PLAYER_NAME,MAX_PLAYER_NAME);
HausDaten[fullid][pickid] = CreatePickup(1273,1,nowPos[0],nowPos[1],nowPos[2],0);
format(string,sizeof string,"Besitzer : Keiner\nScore : %d\nKosten : %d$",spielzeit,kosten);
HausDaten[fullid][lbl_haus] = Create3DTextLabel(string,0x00FF00FF,nowPos[0],nowPos[1],nowPos[2],10.0,0,0);
HausDaten[fullid][icon_id] = bCreateMapIcon(nowPos[0],nowPos[1],_,31,0);
if(slotid==-1)_cache_haus++;
SaveHCache();
}
return 1;
}
Ich habe jedoch noch eine andere Frage:
Wenn ich mit sscanf und ohne else if Schleifen und am Ende mit einer else Schleife arbeite, kommt bei jedem Commands den ich eingebe die sscanf-Zeile. Wie kann ich da sumgehen, damit ich die else-if Schleifen und logischerweise auch das else nicht benutzen muss ?
MfG dUDA
Hmm
Kann sein, dann sollte jedoch jemand den Hinweis rausmachen
Hallo
Du hast weniger als 10 Beiträge.....
Die beiden unteren Bilder finde ich sehr schön, erinntert mich an die alten Zeiten, wo wir noch wie gestörte Need for Speed Hot Persuit gezockt haben. Strahlt so etwas Edles aus
dUDA
Hallo
Dank dir viel viel vielmals. Ich kann damit also so wie es jetzt da steht 50 Zahlen reinschreiben ? Vielen Dank, jetzt komm ich weiter
MfG dUDA
Hallo
Danke,sowas in der Art habe ich gesucht, jedoch ist mir Unklar, wie ich den Arreywert erhöhe, da mit der Zeit immer mehr Werte reingeschrieben werden (Nicht nur 4). War etwas unklar formuliert ;).
MfG dUDA
Hallo
Ich wollte fragen, wie ich mit fwrite in eine Date reinschreiben kann, wo lauter einzelne Werte stehen. Die Datei sollte nach dem folgenden Schema aussehen:
4531
9843
1178
4913
Und ich will dann einen Random Wert reinschreiben, sagen wir 1267. Bei einem bestimmten Command soll dieser Wert reingeschrieben werden. Zudem soll das Ganze bei OnGameModeInit geladen werden. Ich wäre extrem fest dankbar, da ich wegen diesem Punkt nich weiterkomme.
MfG dUDA
Bei Unklarheiten könnt ihr mich per ICQ fragen
Hallo
Finde es sehr karg und recht verzogen, in welche Richtung auch immer. Man sagt sich einfach naja, aber man ist nicht begeistert
4/10 (Sehr einfach, zudem verzehrt)
MfG dUDA
Hallo
"d" ist ja nur für eine Zahl und nicht den Spieler-String. Hie rmuss/sollte man ja "u" nehmen ? Lasse mich jederzeit belehren. Hier noch ein CMD als Beweis
dcmd_raus(playerid,params[])
{
new id;
if (sscanf(params, "u", id)) return SendClientMessage(playerid, COLOR_WHITE, "Verwendung: /raus [ID]");
else if(id == INVALID_PLAYER_ID || playerid == id ||IsPlayerNPC(id)) SendClientMessage(playerid, COLOR_GREY, "Dieser Spieler kann nicht erreicht werden");
else if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,COLOR_GREY,"Du bist in keinem Fahrzeug");
else if(PlayerInfo[id][pAdmin] == 1337) return SendClientMessage(playerid,COLOR_GREY,"Befehl an dieser Person nicht ausführbar");
else if(GetPlayerVehicleSeat(playerid) != 0) return SendClientMessage(playerid,COLOR_GREY,"Um jemanden rauszuwerfen musst du dich auf dem Fahrersitz befinden");
else
{
RemovePlayerFromVehicle(id);
}
return 1;
}
Hallo
Wegen der Kanonen. In einer frühen Mission muss man ja den Mann im Haus die Kartons wegrauben, wo im Ergeschosss beim Eingang die Kanone steht und man in den 1.Stock die Kisten holen muss. Würde die nicht passen, sofern es sie überhaupt als Einzelobjekt gibt ?
7/10
Grund: Mir fehlt das gewisse Etwas. Zudem sieht es recht leer und kahl aus. Mir Karton und ner Minigun wäre zudem sowas sehr funbringend. Sonst aber sher schön. Bin erstaunt, dass man mit den GTA Objektn sowas machen kann.
MfG dUDA
Hallo
if(sscanf(params, "d", Player)) { //das "d" steht für eine Zahl / Playerid würde ich ein "s" schreiben könnte man das mit dem Player Namen machen anstatt der ID
Du meinst wohl eher ein "u" ?
MfG dUDA
Hallo
Hab mich ja, zudem hab ich mich ja auch korrigiert
dUDA
Hallo
Sorry, hab mich verschrieben
Der Timer steht mit Wiederholung im DCMD_Tarif. Teste es schnell
dUDA
Aha, uppss^^
So, das steht jetzt im taxi-public
geldtaxitimer = SetTimerEx("taxitimer", 10000,1,"d",playerid);
Das war peinlich
dUDA
Hallo
Naja, wie soll ich sagen, ich habe da ein kleines aber feines Problem:
Wenn ich als Taxifahrer jmd /tarif Werwolf 1 eingebe, sollte es dem Spieler Werwolf alle 10 Sekunden 1 Dollar abziehen. Nun, der Betrag verdoppelt sich aber nach jeden 10 Sekunden, also 1, 2, 4, 8, 16
public taxitimer(playerid)
{
new taxigeld = PlayerInfo[playerid][pTaxigeld];
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && !IsPlayerNPC(i))
{
if(PlayerInfo[playerid][pTaxinummer] == PlayerInfo[i][pTelefonnummer])
{
if(PlayerInfo[playerid][pTaxigeld] != 0)
{
JB_GivePlayerMoney(playerid, taxigeld);
JB_GivePlayerMoney(i, -taxigeld);
geldtaxitimer = SetTimerEx("taxitimer", 10000,1,"d",playerid);
}
}
}
}
return 1;
}
dcmd_tarif(playerid,params[])
{
new id, geld;
if(sscanf(params, "ud", id, geld)) return SendClientMessage(playerid, COLOR_WHITE, "Verwendung: /tarif [ID] [Betrag]");
else if(GetPlayerVehicleID(playerid) != GetPlayerVehicleID(id)) return SendClientMessage(playerid,COLOR_GREY,"Der Kunde ist nicht im Taxi");
else if(geld > 100) return SendClientMessage(playerid, COLOR_GREY, "Du Abzocker");
else
{
new string[128];
new taxinr = PlayerInfo[id][pTelefonnummer];
format(string,128,"Du bezahlst jetzt alle 10 Sekunden %d Dollar",geld);
SendClientMessage(id,COLOR_GREEN,string);
PlayerInfo[playerid][pTaxigeld] = geld;
PlayerInfo[playerid][pTaxinummer] = taxinr ;
geldtaxitimer = SetTimerEx("taxitimer", 10000,false,"d",playerid);
}
return 1;
}
MfG dUDA
Hallo
Vielen vielen Dank, da shat mir sehr geholfen (Vorallem Goldkiller und BFX). Ich kenn mich eben mit PVar nicht aus und habe auch nicht soooo die Lust es zu lernen/anzuschauen
dUDA
//Edit
Als Übergangslösung:
Wie gross muss der MS-Intervall Unterschied sein, dass sich zB 2 1 Sekunden Timer nicht scheiden ? Muss der grösser als 200MS sein ?