Gibt es ein Objekt, das man durch alle Objekte sehen kann. Und nicht zu monströs^^
Mfg.
Gibt es ein Objekt, das man durch alle Objekte sehen kann. Und nicht zu monströs^^
Mfg.
Ist halt mit meinem Tablet gemacht. Ist halt wahrscheinlich noch nicht auf Mobilgeräte abgestimmt
Schau mal hier: http://wiki.sa-mp.com/wiki/SetPlayerSpecialAction
Und hier findest du die SpecialActions: http://wiki.sa-mp.com/wiki/SpecialActions
Den Rest kannst du dir dann selber denken.
Ich versuch es mal, Antwort geb ich gleich.
So das ganze Funktioniert, ich bin mal noch mit meinem Laptop auf meinem Server verbunden und hab es versucht.
Allerdings sieht es bei mir ziemlich ruckelig aus, obwohl es auf meinem Laptop ohne Probleme geht.
Das ist schon ein guter Anfang und funktioniert fast, wie ich es wollte, allerdings hat der Spieler der Attached wird eine Fix Position also immer Float:x + 1. Und das ist halt nicht das was ich will. Im Prinzip müsste ich Abfragen in welche Richtung der Polizist guckt, jetzt z.B. 45° und dann den Spieler Float:X + 1 und Float:Y + 1 und dem Spieler die FacingAngle geben. Allerdings sind das bei 360° eine Menge abfragen und ich denke das es nicht so flüssig laufen wird.
Hey Leute,
ist es möglich einen Spieler an einen anderen Spieler zu attachen? Also so an sich mit den Standart-Includes geht es ja nicht, ich schätze das es so ein Include auch nicht gibt.
Nun hab ich mir gedacht, den Spieler der attached wird, in die Richtung zu porten in die der Attachte guckt.
Also Frage 1: Gibt es ein Include um Spieler an Spieler zu attachen?
Frage 2: Gibt es eine Möglichkeit einen Spieler exakt vor einen anderen Spieler zu porten?
Zu meiner zweiten Frage habe ich mir überlegt, wenn der Polizist (Er soll den Spieler eskortieren) z.B. in Richtung 60° guckt, den Spieler der Eskortiert wird relativ zu den Koordinaten des Polizisten zu porten und ihm die gleiche FacingAngle zu geben, diese Koordinaten müsste man allerdings auch vorher wieder heraus finden.
Ich hoffe ihr versteht was ich meine, wenn nicht schaut euch das Video an: (PietSmiet Altis Life #35 | 14:00 (Hardi Cam))
Mfg.
if(dialogid==DIALOG_FRAKTION_GENRE)
{
if(response)
{
new Datei[128];
for(new i;i<MAX_FRAK;i++)//
{
format(Datei,sizeof(Datei),"/Fraktion/%s.ini",inputtext);
switch(listitem)
{
case 0:
{
dini_IntSet(Datei,"Genre", //Ist das auch im Script so?
dini_IntSet(Datei,"Genre",FrakInfo[i][fGenre] = 1);
}
case 1:
{
dini_IntSet(Datei,"Genre",FrakInfo[i][fGenre] = 2);
}
case 2:
{
dini_IntSet(Datei,"Genre",FrakInfo[i][fGenre] = 3);
}
case 3:
{
dini_IntSet(Datei,"Genre",FrakInfo[i][fGenre] = 4);
}
case 4:
{
dini_IntSet(Datei,"Genre",FrakInfo[i][fGenre] = 5);
}
}
}//
}
else
{
}
}[/quote]
Das ist das einzige was ich gerade so sehe.
mfg.
ocmd:fraklist(playerid,params[])
{
new string[128];
if(IsPlayerAnAdmin(playerid,1))
{
SendClientMessage(playerid,COLOR_INFO,"ID | Name | Leader");
for(new i = 0; i < MAX_FRAKS; i++)
{
format(string,sizeof(string),"%i | %s | %s",i,FraktionInfo[i][fName], FraktionInfo[i][fLeader]);
SendClientMessage(playerid,COLOR_INFO,string);
}
}
return 1;
}
Das ist der Befehl womit ich die Fraktionen aufliste
Hey Community,
ich hab ein kleines Problem. Ich arbeite an meinem Selfmade und wollte ein Dynamisches Fraktionssystem schreiben, wenn ich allerdings jetzt meinen Befehl /fraklist aufrufe (bzw. ein Befehl der den Namen der Fraktion und Leader ausgibt), bekomme ich eine falsche Ausgabe.
In der MySQL Datenbank ist es so eingetragen:
Aber im Spiel wird es so angezeigt:
Alles was dazu gehört:
enum Fraktion
{
fID,
fName,
fLeader,
fKasse,
Float:fSpawnx,
Float:fSpawny,
Float:fSpawnz,
fInt,
Float:fEinx,
Float:fEiny,
Float:fEinz,
Float:fAusx,
Float:fAusy,
Float:fAusz,
fGangwar,
fFarbe,
Text3D:fEinText,
Text3D:fAusText,
fEinPickup,
fAusPickup
}
new FraktionInfo[MAX_FRAKS][Fraktion];
stock LoadFraks()
{
new str[16];
for(new i = 0; i < MAX_FRAKS; i++)
{
format(str,sizeof(str),"%i",i);
printf("Fraktion ID: %i wird geladen!", i);
format(FraktionInfo[i][fName],64,"%s",mysql_GetString("fraks", "Name", "ID", str));
format(FraktionInfo[i][fLeader],64,"%s",mysql_GetString("fraks", "Leader", "ID", str));
FraktionInfo[i][fKasse] = mysql_GetInt("fraks", "Kasse", "ID", str);
FraktionInfo[i][fSpawnx] = mysql_GetFloat("fraks", "Spawnx", "ID", str);
FraktionInfo[i][fSpawny] = mysql_GetFloat("fraks", "Spawny", "ID", str);
FraktionInfo[i][fSpawnz] = mysql_GetFloat("fraks", "Spawnz", "ID", str);
FraktionInfo[i][fInt] = mysql_GetInt("fraks", "Int", "ID", str);
FraktionInfo[i][fEinx] = mysql_GetFloat("fraks", "Einx", "ID", str);
FraktionInfo[i][fEiny] = mysql_GetFloat("fraks", "Einy", "ID", str);
FraktionInfo[i][fEinz] = mysql_GetFloat("fraks", "Einz", "ID", str);
FraktionInfo[i][fAusx] = mysql_GetFloat("fraks", "Ausx", "ID", str);
FraktionInfo[i][fAusy] = mysql_GetFloat("fraks", "Ausy", "ID", str);
FraktionInfo[i][fAusz] = mysql_GetFloat("fraks", "Ausz", "ID", str);
FraktionInfo[i][fGangwar] = mysql_GetInt("fraks", "Gangwar", "ID", str);
FraktionInfo[i][fFarbe] = mysql_GetInt("fraks", "Farbe", "ID", str);
Delete3DTextLabel(FraktionInfo[i][fEinText]);
Create3DTextLabel("/fenter zum betreten!",COLOR_YELLOW,FraktionInfo[i][fEinx],FraktionInfo[i][fEiny],FraktionInfo[i][fEinz],10,0);
DestroyPickup(FraktionInfo[i][fEinPickup]);
FraktionInfo[i][fEinPickup] = CreatePickup(1239,1,FraktionInfo[i][fEinx],FraktionInfo[i][fEiny],FraktionInfo[i][fEinz],0);
Delete3DTextLabel(FraktionInfo[i][fAusText]);
Create3DTextLabel("/fexit zum betreten!",COLOR_YELLOW,FraktionInfo[i][fAusx],FraktionInfo[i][fAusy],FraktionInfo[i][fAusz],10,0);
DestroyPickup(FraktionInfo[i][fAusPickup]);
FraktionInfo[i][fAusPickup] = CreatePickup(1239,FraktionInfo[i][fID],FraktionInfo[i][fAusx],FraktionInfo[i][fAusy],FraktionInfo[i][fAusz],0);
printf("Fraktion: %i | [%s] wurde geladen!", i, mysql_GetString("fraks", "Name", "ID", str)); //EDIT: Hier wird es übrigens richtig angezeigt!
}
return 1;
}
stock Float:mysql_GetFloat(Table[], Field[], Where[], Is[])
{
new query[128];
mysql_real_escape_string(Table, Table);
mysql_real_escape_string(Field, Field);
mysql_real_escape_string(Where, Where);
mysql_real_escape_string(Is, Is);
format(query, sizeof(query), "SELECT `%s` FROM `%s` WHERE `%s` = '%s'", Field, Table, Where, Is);
mysql_query(query);
mysql_store_result();
new Float:var;
mysql_fetch_float(var);
mysql_free_result();
return var;
}
stock mysql_GetInt(Table[], Field[], Where[], Is[])
{
new query[128];
mysql_real_escape_string(Table, Table);
mysql_real_escape_string(Field, Field);
mysql_real_escape_string(Where, Where);
mysql_real_escape_string(Is, Is);
format(query, 128, "SELECT `%s` FROM `%s` WHERE `%s` = '%s'", Field, Table, Where, Is);
mysql_query(query);
mysql_store_result();
new sqlint = mysql_fetch_int();
mysql_free_result();
return sqlint;
}
stock mysql_GetString(Table[], Field[], Where[], Is[])
{
new query[128], Get[128];
mysql_real_escape_string(Table, Table);
mysql_real_escape_string(Field, Field);
mysql_real_escape_string(Where, Where);
mysql_real_escape_string(Is, Is);
format(query, 128, "SELECT `%s` FROM `%s` WHERE `%s` = '%s'", Field, Table, Where, Is);
mysql_query(query);
mysql_store_result();
mysql_fetch_row(Get);
mysql_free_result();
return Get;
}
Ich hoffe ihr könnt mir helfen.
Mfg.
Screens (So das wichtigste):
Code:
Immer gern!
Sieht nice aus Blexx
mfg.
Nick^^
Hey Leute,
ich suche die ID von einem ATM (Bank Automat).
Kann mir die einer geben?
mfg.
Also der stock mysql_GetFloat muss über den stock LoadHauser.
Dann musst du format(HausInfo[i][hPosY], 10, "%f", mysql_GetFloat("häuser", "PosY", "ID", str));
ändern in:
HausInfo[i][hPosY] = mysql_GetFloat("häuser", "PosY", "ID", str);
Funzt thx
Alles anzeigenformat(HausInfo[i][hPosX], 10, "%f", mysql_GetInt("häuser", "PosX", "ID", str));
//Beachte mich :)
printf("Grundstück PosX: %f", HausInfo[i][hPosX]);
HausInfo[i][hPosY] = mysql_GetInt("häuser", "PosY", "ID", str);
printf("Grundstück PosY: %f", HausInfo[i][hPosY]);
HausInfo[i][hPosZ] = mysql_GetInt("häuser", "PosZ", "ID", str);
printf("Grundstück PosZ: %f", HausInfo[i][hPosZ]);
HausInfo[i][hEinX] = mysql_GetInt("häuser", "EingangX", "ID", str);
HausInfo[i][hEinY] = mysql_GetInt("häuser", "EingangY", "ID", str);
HausInfo[i][hEinZ] = mysql_GetInt("häuser", "EingangZ", "ID", str);
HausInfo[i][hEinA] = mysql_GetInt("häuser", "EingangA", "ID", str);
HausInfo[i][hAusX] = mysql_GetInt("häuser", "AusgangX", "ID", str);
HausInfo[i][hAusY] = mysql_GetInt("häuser", "AusgangY", "ID", str);
HausInfo[i][hAusZ] = mysql_GetInt("häuser", "AusgangZ", "ID", str);
HausInfo[i][hAusA] = mysql_GetInt("häuser", "AusgangA", "ID", str);
Alles Floats, du musst also mysql_GetFloat verwenden, falls du das schon erstellt hast.
Wenn nicht, hier:
stock Float:mysql_Float(table[], feld[], where[], is[])
{
new query[128];
mysql_real_escape_string(table, table);
mysql_real_escape_string(feld, feld);
mysql_real_escape_string(where, where);
mysql_real_escape_string(is, is);
format(query, sizeof(query), "SELECT `%s` FROM `%s` WHERE `%s` = '%s'", feld, table, where, is);
mysql_query(query);
mysql_store_result();
new Float:var;
mysql_fetch_float(var);
mysql_free_result();
return var;
}
Würde auch gerne mal dein Haus-Enum sehen.
Fehler:
D:\GTA - San Andreas\SERVER\gamemodes\NSR.pwn(2684) : warning 208: function with tag result used before definition, forcing reparse
D:\GTA - San Andreas\SERVER\gamemodes\NSR.pwn(2502) : warning 213: tag mismatch
D:\GTA - San Andreas\SERVER\gamemodes\NSR.pwn(2503) : warning 213: tag mismatch
D:\GTA - San Andreas\SERVER\gamemodes\NSR.pwn(2504) : warning 213: tag mismatch
D:\GTA - San Andreas\SERVER\gamemodes\NSR.pwn(2505) : warning 213: tag mismatch
D:\GTA - San Andreas\SERVER\gamemodes\NSR.pwn(2506) : warning 213: tag mismatch
D:\GTA - San Andreas\SERVER\gamemodes\NSR.pwn(2507) : warning 213: tag mismatch
D:\GTA - San Andreas\SERVER\gamemodes\NSR.pwn(2508) : warning 213: tag mismatch
D:\GTA - San Andreas\SERVER\gamemodes\NSR.pwn(2509) : warning 213: tag mismatch
D:\GTA - San Andreas\SERVER\gamemodes\NSR.pwn(2510) : warning 213: tag mismatch
D:\GTA - San Andreas\SERVER\gamemodes\NSR.pwn(2511) : warning 213: tag mismatch
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
11 Warnings.
Alles anzeigen
So mein Stock:
format(HausInfo[i][hPosX], 10, "%f", mysql_GetFloat("häuser", "PosX", "ID", str));//Von hier
format(HausInfo[i][hPosY], 10, "%f", mysql_GetFloat("häuser", "PosY", "ID", str));
format(HausInfo[i][hPosZ], 10, "%f", mysql_GetFloat("häuser", "PosZ", "ID", str));
format(HausInfo[i][hEinX], 10, "%f", mysql_GetFloat("häuser", "EingangX", "ID", str));
format(HausInfo[i][hEinY], 10, "%f", mysql_GetFloat("häuser", "EingangY", "ID", str));
format(HausInfo[i][hEinZ], 10, "%f", mysql_GetFloat("häuser", "EingangZ", "ID", str));
format(HausInfo[i][hEinA], 10, "%f", mysql_GetFloat("häuser", "EingangA", "ID", str));
format(HausInfo[i][hAusX], 10, "%f", mysql_GetFloat("häuser", "AusgangX", "ID", str));
format(HausInfo[i][hAusY], 10, "%f", mysql_GetFloat("häuser", "AusgangY", "ID", str));
format(HausInfo[i][hAusZ], 10, "%f", mysql_GetFloat("häuser", "AusgangZ", "ID", str));
format(HausInfo[i][hAusA], 10, "%f", mysql_GetFloat("häuser", "AusgangA", "ID", str));//Bis hier Fehler
mysql_GetFloat:
stock Float:mysql_GetFloat(Table[], Field[], Where[], Is[]) // Erster Fehler
{
new query[128];
mysql_real_escape_string(Table, Table);
mysql_real_escape_string(Field, Field);
mysql_real_escape_string(Where, Where);
mysql_real_escape_string(Is, Is);
format(query, sizeof(query), "SELECT `%s` FROM `%s` WHERE `%s` = '%s'", Field, Table, Where, Is);
mysql_query(query);
mysql_store_result();
new Float:var;
mysql_fetch_float(var);
mysql_free_result();
return var;
}
Haus-Enum:
enum Hauser
{
hID,
hBesitzer,
hKosten,
hGekauft,
hAbgeschlossen,
Float:hPosX,
Float:hPosY,
Float:hPosZ,
Float:hEinX,
Float:hEinY,
Float:hEinZ,
Float:hEinA,
Float:hAusX,
Float:hAusY,
Float:hAusZ,
Float:hAusA,
hText
}
Musst nur aufpassen, bei Strings musst du weiterhin format nutzen, bei Floats die Int-Methode.
/e: Mach auch aus:
format(str,sizeof(str),"%i",i);
printf("Grundstück ID: %i wird geladen!", str);
printf("Grundstück ID: %i wird geladen!", i);
Spart eine Zeile und einen unnötigen String.
Ok ich schau jetzt mal ob es funktioniert.
Das format(str...); kann ich nicht wegmachen da jeder von meinem Befehlen den str benutzt.
Hab nur das
printf("Grundstück ID: %i wird geladen!", i);
geändert.
Funktioniert nicht...
Ich hab mich mal auf die Suche nach dem Icon gemacht.
Ich habe per Script die Position des Icons aufgeben lassen und es ist hier mitten in der Pampa:
[14:39:06] Grundstück PosX: 649.000000
[14:39:06] Grundstück PosY: -1.000000
[14:39:06] Grundstück PosZ: 15.000000
Edit:
Alles anzeigenIch sage das nochmal nur etwas fetter.
FLOATS MUSST DU MIT
%f
auslesen und nicht mit
%i
Das ganze mal so geändert zum testen:
stock LoadHauser()
{
new str[16], status[4];
for(new i = 1; i < 2; i++)
{
format(str,sizeof(str),"%i",i);
printf("Grundstück ID: %i wird geladen!", i);
HausInfo[i][hID] = mysql_GetInt("häuser", "ID", "ID", str);
format(HausInfo[i][hBesitzer], 24, "%s", mysql_GetString("häuser", "Besitzer", "ID", str));
printf("Grundstück Besitzer: %s", HausInfo[i][hBesitzer]);
HausInfo[i][hKosten] = mysql_GetInt("häuser", "Kosten", "ID", str);
printf("Grundstück Kosten: %i", HausInfo[i][hKosten]);
HausInfo[i][hGekauft] = mysql_GetInt("häuser", "Gekauft", "ID", str);
printf("Grundstück Gekauft: %i", HausInfo[i][hGekauft]);
HausInfo[i][hAbgeschlossen] = mysql_GetInt("häuser", "Abgeschlossen", "ID", str);
printf("Grundstück Abgeschlossen: %i", HausInfo[i][hAbgeschlossen]);
//HausInfo[i][hPosX] = mysql_GetInt("häuser", "PosX", "ID", str);
//Beachte mich :)
format(HausInfo[i][hPosX], 10, "%f", mysql_GetInt("häuser", "PosX", "ID", str));
//Beachte mich :)
printf("Grundstück PosX: %f", HausInfo[i][hPosX]);
HausInfo[i][hPosY] = mysql_GetInt("häuser", "PosY", "ID", str);
printf("Grundstück PosY: %f", HausInfo[i][hPosY]);
HausInfo[i][hPosZ] = mysql_GetInt("häuser", "PosZ", "ID", str);
printf("Grundstück PosZ: %f", HausInfo[i][hPosZ]);
HausInfo[i][hEinX] = mysql_GetInt("häuser", "EingangX", "ID", str);
HausInfo[i][hEinY] = mysql_GetInt("häuser", "EingangY", "ID", str);
HausInfo[i][hEinZ] = mysql_GetInt("häuser", "EingangZ", "ID", str);
HausInfo[i][hEinA] = mysql_GetInt("häuser", "EingangA", "ID", str);
HausInfo[i][hAusX] = mysql_GetInt("häuser", "AusgangX", "ID", str);
HausInfo[i][hAusY] = mysql_GetInt("häuser", "AusgangY", "ID", str);
HausInfo[i][hAusZ] = mysql_GetInt("häuser", "AusgangZ", "ID", str);
HausInfo[i][hAusA] = mysql_GetInt("häuser", "AusgangA", "ID", str);
if(HausInfo[i][hGekauft] == 1)
{
if(HausInfo[i][hAbgeschlossen] == 1)
{
format(status, sizeof(status), "Ja");
}
else
{
format(status, sizeof(status), "Nein");
}
//format(Haustext[i],1024,"Grundstück ID: %i\nBesitzer: %s", HausInfo[i][hID],HausInfo[i][hBesitzer]);
format(HausInfo[i][hText],1024,"Grundstück ID: %i\nBesitzer: %s\nAbgeschlossen: %s", HausInfo[i][hID],HausInfo[i][hBesitzer],status);
}
else
{
format(HausInfo[i][hText],1024,"Grundstück zu verkaufen:\nHaus ID: %i\nKosten: %i €", HausInfo[i][hID],HausInfo[i][hKosten]);
}
Hauspickup[i] = CreatePickup(1239, 19, HausInfo[i][hPosX], HausInfo[i][hPosY], HausInfo[i][hPosZ],0);
Haustext[i] = Create3DTextLabel(HausInfo[i][hText],COLOR_WHITE,HausInfo[i][hPosX], HausInfo[i][hPosY], HausInfo[i][hPosZ],50.0,-1,0);
}
return 1;
}
Fehler:
Ehm.
Integers gibt man nicht mit format an.
Also HausInfo[i][hID] = mysql_GetInt("häuser", "ID", "ID", str);
Oops wo ich mir grad mein Stock LoadFraks angucke hab ich es genau so.
Werde es eben ausprobieren
Dein Problem war:
erkläre mir mal was dein Problem genau ist ? -.-'
Sry für die Umstände
Hier die Konsole:
MySQL Log: Es wird alles geladen (Nur ein Teil gescreent)
Und Ingame wird kein Icon angezeigt:
Bei floats musst du %f machen du hast aber %i
Schon mal danke dafür aber das hilft nicht gegen das Problem mit der Konsoleausgabe