1. Färben mit PlayerTextDrawColor
2. Transparent geht es mit PlayerTextDrawBackgroundColor
Beiträge von IPrototypeI
-
-
player:i ist deine enum Aufzählung
player:0 => id
und _:player ist der name deines enums.
-
@Famacertech
1. So wie ich es sehe ist es mit den neusten Funktion gefüttert mittlerweile ist die R7 r31 version draußen. So gesehen kann man garnicht sagen das die R8 Version wo mal kurzeitig unter dem Namen draußen war gibt aber da sist ja nebensächlich. Das Plugin wird von Maddinat0r weiterentwickelt und BlueG macht soweit ich weiß nichts mehr dran.
2. Also es gibt noch paar Verbesserungsmöglichkeiten, jedoch im großen und ganzen passt das.
3. Man kann einfach die Spielervariabeln vor dem einloggen resetten oder kurz vor dem Laden.
4. Das ist möglich warum nicht du kannst das entweder unabhängig von dem MySQL Server machen der vom Server benutzt wird, also direkt auf einem anderen Server auch noch speichern einfach dazu eine weitere verbindung eröffnen oder das ganze über diesen MySQL Server laufen lassen. Du kannst auch ein Forum accoutn direkt erstellen
einfach einen weiteren account bei der WBB Datenbank für die User einen neuen Benutzer hinzufügen die jeweiligen querys findest du durch ein wenig suchen in den php datein nur musst du selbst das Passwort crypten.5. Ja das geht dafür gibt es Xampp(siehe tutorial von maddin) oder Wamp einfach mal googlen ( Vorsicht skype blockeirt da gerne mal den Port)
6. Das ist dir überlassen du kannst machen was du willst jedoch updates sind nicht umsonst updates, dabei werden codefehler gefixxt und dieser auch optimiert und neue
Funktionen kommen dazu. -
Das ist simple Mathematik
AccountInfo[playerid][sGeld] = mysql_GetInt("accounts","Geld","Name",AccountInfo[playerid][sName]);
AccountInfo[playerid][sGeld] hat nun 2500
nun deine FUnktion
GivePlayerEuro(playerid,AccountInfo[playerid][sGeld]);
AccountInfo[playerid][sGeld] += euros;
so wird nochmal der selbe betrag dazu addiert und wir sind bei 5000
daher mach es so
GivePlayerEuro(playerid,mysql_GetInt("accounts","Geld","Name",AccountInfo[playerid][sName]));
mysql_GetInt gibt den betrag welcher in der Zelle steht zurück -
@Blood
Das kommt drauf an in welche Richtung er schaut und damit musst du dann arbeiten, würde ich jetzt vermuten.
Y: Desto höher desto weiter im Norden, esto niedriger desto weiter im Süden
X: Desto höher desto weiter im Osten, desto niedriger (X) desto weiter im WestenWenn du nun überprüft in welche Richtung er schaut (vermute mal 0.0 ist dann Norden, 90° Osten, 180° Süden, 270° Westen) und je nachdem rechnest du die Koordinate hoch und setzt auch von dem Spieler die Richtung in der er schaut.
Beispiel: Er schaut nach Norden, dann setzt du die Y Koordinate weiter runter, damit er hinter dem Spieler steht und in die Richtung in der er schaut die gleiche.
Es ist nur eine Vermutung dass es so funktioniert, das mit dem Koordinaten ob (Y höher -> weiter im Norden...) stimmt auf jeden Fall.
Richtung in der er schaut kriegst du mit SetPlayerFacingAngle/GetPlayerFacingAngle raus.Jetzt habe ich auch ein Problem.
Ich würde gerne mal wissen ob man ein kompletten Array leer kriegt?
z.B.:
enum player {
id,
name,
geld,
....
}
new playerInfo[MAX_PLAYERS][player];
Nun möchte ich dass wenn ein Spieler connected der komplette playerInfo[playerid] Array leer wird. Geht das oder muss man jede einzelne Variable auf 0 setzen?
Dazu gibt es genug Möglichkeiten dies via for-schleife zu tun :for(new i; i < _:player ; ++i)playerInfo[playerid][player:i]= 0;
oder
for(new i; player:i < player; ++i) playerInfo[playerid][player:i] = 0;oder
new x[player];
playerInfo[playerid] = x; -
Das Endergebnis sieht gut aus mir gefällts, jedoch würde ich noch paar Wasser Effekt Stocks nehmen und diese bei dem wal drüber legen.
-
Ah Mist! Aber klar doch, hatte ich völlig vergessen. Die Hitze tut den Hirn nicht gut.
Danke.Also ich verbessere mich:
http://wiki.sa-mp.com/wiki/TextDrawSetPreviewModel
Ist was du brauchst. Dank geht an Beavis.
Um deine Aussage nochmal zur korrigieren am besten ist, wenn man dazu PlayerTextdraws benutzt da das ganze mit dem Färben nicht so wirklich funktionieren also auch der Transparents bei normalen TextDraws.Beispielcode
LoginTXD[playerid][Building1] = CreatePlayerTextDraw(playerid,390.0, 240.0, "_");
PlayerTextDrawFont(playerid,LoginTXD[playerid][Building1], TEXT_DRAW_FONT_MODEL_PREVIEW);
PlayerTextDrawUseBox(playerid,LoginTXD[playerid][Building1], 1);
PlayerTextDrawBackgroundColor(playerid,LoginTXD[playerid][Building1], 0xFF000000);
PlayerTextDrawTextSize(playerid,LoginTXD[playerid][Building1], 150.0, 150.0);
PlayerTextDrawSetPreviewModel(playerid, LoginTXD[playerid][Building1], 5767);
PlayerTextDrawSetPreviewRot(playerid, LoginTXD[playerid][Building1], 0.0, 0.0, 90.0, 1.0);
PlayerTextDrawColor(playerid,LoginTXD[playerid][Building1],0x000000FF);Gebäude 5767 , 4002 und beim letzen da musst selbst mal schauen
-
Das Problem ist, sie wissen nicht, was für eine Arbeit es ist, sowas zu erstellen.
Alleine für das Blanko benötigt man ca. 2-4 Stunden. (Ideen etc. mit inbegriffen)
Dazu kommt dann ggf. noch das Coding, was ebenfalls Zeit in Anspruch nimmt.Naja es kommt immer drauf an wie die Designs aussehen bezüglich der Preisklassen und um was ordentliches zu bekommen muss man wie hier schon bereits von dir und Devine_ erwähnt tiefer in die Tasche greifen, aber bei 0815 Stiles da sind so Preise wie 10 Euro schon okay + Coding, welche meistens im Forum mit der Bezeichnung mein erstes WBB Design gekennzeichnet sind.
-
-
Und wie erhälst du die ID des NPCs?
Der NPC ist nicht in der Spielerliste etc. vorhanden...?
Diese nehmen auch einen Slot ein also besitzen eine ID, in der Spielerliste werden diese jedoch nicht angezeigt. -
Du kannst ja bissle hie rim Forum rum schauen dort wurden auch schon paar WBB Designs rund um GTA releast.
[RELEASE] WBB-DESIGN Freedom Roleplay Blue/Red
oder auf der offiziellen wbb Seite. -
Du kannst ApplyAnimation und auch weitere normale Funktionen zwar nicht alle, jedoch einige ebenso für Bots ausführen lassen.
-
forward @LoadRang();
forward @SaveRang();#define MAX_FRAKTIONS 10
#define MAX_RANG 10#define PlayerRangName(%0) FrakRang[pInfo[%0][Fraktion]][pInfo[%0][Rang]]
enum Bit1:(<<= 1){
FIRST = 1,
}
new Bit1:Create,
FrakRang[MAX_FRAKTIONS][MAX_RANG][10];public OnGameModeInit()
{
CallLocalFunction("@LoadRang","");
return 1;
}
public OnGameModeExit()
{
if(!(Create & FIRST))CallLocalFunction("@SaveRang","");
return 1;
}
@LoadRang(){
if(!fexist("Ranks.txt")){
new File:rangfile = fopen("Ranks.txt", io_write);
for(new i; i != MAX_FRAKTIONS; ++i)fwrite(rangfile,"Rang1|Rang2|Rang3|Rang4|Rang5|Rang6|Rang7|Rang8|Rang9|Rang10| \r\n");
fclose(rangfile);
Create |= FIRST;
}else{
new File:rangfile = fopen("Ranks.txt", io_read),SplitString[200];
for(new i; i != MAX_FRAKTIONS; ++i){
fread(rangfile,SplitString);
sscanf(SplitString,"p<|>a<s[10]>[20]",FrakRang[i]);
//"p<|>s[10]s[10]s[10]s[10]s[10]s[10]s[10]s[10]s[10]s[10]",FrakRang[i][0],FrakRang[i][1],FrakRang[i][2],FrakRang[i][3],FrakRang[i][4],FrakRang[i][5],FrakRang[i][6],FrakRang[i][7],FrakRang[i][8],FrakRang[i][9]);
}
for(new i; i != MAX_FRAKTIONS; ++i)printf("%s",FrakRang[i][1]);
fclose(rangfile);
}
return 1;
}@SaveRang(){
new File:rangfile = fopen("Ranks.txt", io_write),SaveString[200];
for(new i; i != MAX_FRAKTIONS; ++i){
format(SaveString,200,"%s|%s|%s|%s|%s|%s|%s|%s|%s|%s| \r\n",FrakRang[i][0],FrakRang[i][1],FrakRang[i][2],FrakRang[i][3],FrakRang[i][4],FrakRang[i][5],FrakRang[i][6],FrakRang[i][7],FrakRang[i][8],FrakRang[i][9]);
fwrite(rangfile,SaveString);
}
fclose(rangfile);
return 1;
}Ich hab dir das mal gemacht viel Spaß mit dem Code, also besser kann man es mit der Standartfunktionen nicht umsetzen
//edit kleine Änderungen am Code
-
DU resetest auch wieder die virtuelle welt und das interior des spielers welches du mit
SetPlayerVirtualWorld(playerid,vw);
SetPlayerInterior(playerid,int);machst
-
Habe das nun so:
gh = TextDrawCreate(557 ,190 ,"Weiter");
TextDrawFont(gh , 1);
TextDrawLetterSize(gh ,0.3, 7);
TextDrawSetSelectable(gh, 1);
TextDrawColor(gh , 0x2D2D2DFF);
TextDrawSetOutline(gh , false);
TextDrawSetProportional(gh , true);
TextDrawSetShadow(gh , 1);
TextDrawTextSize(gh,7,7);Aber ich kann das Textdraw nicht mehr anklicken!
Das liegt auch daran wie du das textdraw erstellst
das sollte gehen
TextDrawTextSize(gh,587.0,220.0); -
Du kannst den Auswahlbereich mit TextDrawTextSize begrenzen.
-
Das wird so nicht funktionieren daher hast du das Argument fontface bei der Funktion
SetObjectMaterialText (objectid, text[], materialindex = 0, materialsize =
OBJECT_MATERIAL_SIZE_256x128, fontface[] = "Arial", fontsize = 24, bold =
1, fontcolor = 0xFFFFFFFF, backcolor = 0, textalignment = 0);fontface ist die Schriftart und du kannst jede Font benutzen die du willst nur ist die Vorraussetzung das der andere Spieler auch diese Font besitzt.
Nun gut jetzt brauchst du nur bei fontface die Font ändern die jeder hat und das Briefsymbol beinhaltet und da springt einem eigentlich nur eine ins Auge
und zwar Wingdings dort nur doch beim text das Zeichen + benutzen und schon hast du das Briefsymbol. -
Vielen Dank Captain Niveau für eine solche bereicherte Rückmeldung. wenigstens schätzt eine nicht komplett zurückgebliebenes menschliches Individuum meine überragende sozialorientierte Leistungen als Designer und Coder in diesem Forum. Solche Menschen wie du sind ein Ansporn für mich weiter zu machen und meine Ziele nicht aus den Augen zu verlieren. Dafür möchte ich dir danken. Ich werde mir überlegen, ob ich in naher Zukunft ein neues Design erstellen werde, welches dieses sogar in den Schatten stellen wird.
//edit
Aktuelle Downloadzahl:Design: 101mal
.PSD: 35 mal
-
Du denkst auch, weil du die Farbe geändert hast, ist jetzt nichts mehr ähnlich. *facepalm*Behaupte ich doch nicht, brauchst du nun auch eine Brille ich habe nie behauptet, dass es aus meinem Gedanken entsprungen ist, da lese dir doch bitte nochmal alle Beiträge von mir zu dem Thema durch bevor du weiter hier postest und damit kannst du gleich mal anfangen.
Solche Leute wie du sind einfach nur Querschläger, die haben ein Wort gelesen, welches irgendwie sitzen geblieben ist im Hinterkopf und danach wird erbärmlich versucht drauf ein zu hacken.ZitatMal so ganz nebenbei ich weiß ja nicht was ihr noch mit dem rumheulen habt, da ich dachte das hat sich schon in der Preview erledigt. Aber je mehr Scheiße ihr hier rein schreibt desto öfter wird es gepuscht und somit wird es öfters gedownloadet und verbreitet, da ist es besser ihr lässt den thread sterben wenn ihr mir in ihrgend einer
Form eine auswischen wollt, da ihr ja Verbal anscheinend nicht in der Lage seid. -
IPrototypeI
Also eigentlich ist es eben nicht schmeichelhaft, wenn ein andere dein Werk nachmacht und dieses als sein Eigen weitergibt.Hab ich ja auch nicht behauptet das steht ja auch überall dabei schau doch nur in den Thread von der Preview rein.
Okay wenn du meinst nehmen wir mal das blaue Design. Da ist die Suchleiste gleich und der Aufbau jedoch das ganze drum herum nicht.
//edit
Mal so ganz nebenbei ich weiß ja nicht was ihr noch mit dem rumheulen habt, da ich dachte das hat sich schon in der Preview erledigt. Aber je mehr Scheiße ihr hier rein schreibt desto öfter wird es gepuscht und somit wird es öfters gedownloadet und verbreitet, da ist es besser ihr lässt den thread sterben wenn ihr mir in ihrgend einer
Form eine auswischen wollte, da ihr ja Verbal anscheinend nicht in der Lage seid.