Beiträge von Kaliber
-
-
Blick grade nicht mehr so ganz durch sry
Falls du dich wunderst, wieso dein Code nicht funktioniert, du hast bei dem Attribut "Speed" 0.0000 drin stehen
Da wird sich nichts bewegen
schreib da mal 1.0 oder 2.0 rein 
mfg.

-
Guten Abend euch allen, mir war jetzt mal langweilig und ich habe mal ein bisschen umherprobiert und habe ein paar Funktionen entworfen.
1. Die Funktionen
CodeSetObjectVirtualWorld(objectid, worldid);GetObjectVirtualWorld(objectid);SetObjectInterior(objectid, interiorid);GetObjectInterior(objectid);2. Wann sollte man das Include verwenden?
Wenn man keinen Streamer benutzen will, sprich es handelt sich um weniger als 1000 Objekte.
Wenn man allgemein nicht soviel mit Objekten macht (Bewegen...Materialien ändern...attachen)...andernfalls kann es zu Problemen kommen, siehe bei "Bugs".
3. Bugs?
Ja...es gibt ein paar Probleme:Wenn man ein Objekt in einer anderen Welt mit MoveObject bewegen lässt und der Spieler dann in diese Welt wechselt, wo das Objekt bewegt wird, ist das Objekt schon an seiner Ziel Position.
Wenn man das Material von dem Objekt ändert oder das Objekt attached, in einer anderen Welt und man dann den Spieler in diese Welt setzt, passiert das nicht.
-> Fazit: Man sollte diese Funktionen nur dann nutzen, wenn der Spieler in der Welt ist, wo auch das Objekt ist.4. Schlusswort & Zukunft:
Also, erstmal will ich jetzt kein geflame haben, von wegen Incognito Streamer kann das schon alles...bla blub, das weiß ich selbst
Aber es gibt halt Leute die keinen Streamer verwenden wollen und eine Funktion dafür haben wollen, dann kann man nämlich das per Schleifen machen die Objekte versetzten und muss nicht immer ein Attribut ändern.Wenn euch das bis jetzt gefällt, kann ich auch noch paar andere Features mit einbringen, z.B. das man Objekte nur sieht, wenn man in einem bestimmten Auto sitzt oder das Auto eine bestimmte modelid hat
Oder ihr könnt auch noch selbst paar Vorschläge machen 
Würde mich über ein paar kleine Rückmeldungen freuen

5. Download
Source-Code: Pastebin
Direkter-Download: Mediafiremfg.
//Edit: Hatte was vergessen...
//Edit²: Pastebin-Link
//Edit³: Mediafire -
Also meinste du das so?
Nein!
Doch kein return dahin schreiben...ich meine nur die "Eingabetaste (ENTER)" drücken

-
-
Der Query ist eigentlich noch nicht so lang, dass solltest du gut in eine Zeile bekommen

Mach einfach so:
format(query,sizeof(query),"UPDATE user SET Admin='%i',Supporter='%i',Level='%i',Geld='%i',Skin='%i',Fahndungslevel='%i',Fraktion='%i',Leader='%i',Rang='%i',Job='%i',Drogen='%i',Zigaretten='%i',Materialen='%i',Autoschein='%i',Motorradschein='%i',Flugschein='%i',Bootschein='%i',Lkwschein='%i',Waffenschein='%i',Haftzeit='%i',Adminprison='%i',Timeban='%i',Gebannt='%i' WHERE dbID='%i'",//Hier ein Return hin...
pInfo[playerid][pAdmin],pInfo[playerid][pSupporter],GetPlayerScore(playerid),GetPlayerMoney(playerid),GetPlayerSkin(playerid),GetPlayerWantedLevel(playerid),pInfo[playerid][pFraktion],pInfo[playerid][pLeader],pInfo[playerid][pRang],//Hier auch nochmal
pInfo[playerid][pJob],pInfo[playerid][pDrogen],pInfo[playerid][pZigaretten],pInfo[playerid][pMaterialen],pInfo[playerid][pAutoschein],pInfo[playerid][pMotorradschein],pInfo[playerid][pFlugschein],pInfo[playerid][pBootschein],pInfo[playerid][pLkwschein],pInfo[playerid][pWaffenschein],pInfo[playerid][pJailTime],pInfo[playerid][pAdminPrison],pInfo[playerid][pTimeban],pInfo[playerid][pGebannt],pInfo[player
Das return halt dahin, wo die pInfo Variablen anfangen
mfg.

-
Wie kann ich abfragen ob ein Anhänger am LKW angekoppelt ist?
So:if(IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid)) {
//Hier ist ein Trailer dran
} else {
//Hier nicht
}Und wie kann abfragen ob sich jemand im Fahrzeug befindet oder ob das Fahrzeug leer ist?
Durch eine kleine Funktion:if(IsAnyPlayerInVehicle(vehicleid)) {
//Hier ist jemand in diesem Auto
} else {
//Hier nicht
}//Hier die Funktion mal eben geschrieben:
stock IsAnyPlayerInVehicle(vehicleid) {
for(new i; i<MAX_PLAYERS; i++) if(IsPlayerInVehicle(i, vehicleid)) return 1;
return 0;
}mfg.

-
Funktioniert immer noch nicht :x
Dann poste mal den Code von deinem TextDraw
-
Mit dieser Funktion: http://wiki.sa-mp.com/wiki/TextDrawColor
und da einfach als Zahl: 0xFFFFFFFF eingeben

mfg.

-
-
Wurde zwar schon 100 mal gefragt und man könnte einfach die SuFu nutzen...aber man macht es mit SetObejctMaterialText
mfg.

-
Noch mehr Code für sowas, ging nicht oder?

Man kann dies auch vereinfachen und einfach so schreiben:
//Als erstes man braucht kein enum!
stock WaffenLaden(playerid) {
new save[13 + MAX_PLAYER_NAME],name[MAX_PLAYER_NAME],waffe[13],ammu[13],buffer[10];
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
format(save,sizeof(save),"/Waffen/%s.ini",name);
for(new i; i<13; i++) format(buffer,10,"waslot%d",i),waffe[i] = dini_Int(save,buffer);
for(new i; i<13; i++) format(buffer,10,"amslot%d",i),ammu[i] = dini_Int(save,buffer);
for(new i; i<13; i++) GivePlayerWeapon(playerid,waffe[i],ammu[i]);
return 1;
}stock WaffenSpeichern(playerid) {
new waffe,ammo,save[13 + MAX_PLAYER_NAME],name[MAX_PLAYER_NAME],buffer[10];
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
format(save,sizeof(save),"/Waffen/%s.ini",name),dini_Create(save);
for (new i; i < 13; i++) {
GetPlayerWeaponData(playerid,i,waffe,ammo);
format(buffer,10,"waslot%d",i),dini_IntSet(save,buffer,waffe);
format(buffer,10,"amslot%d",i),dini_IntSet(save,buffer,ammo);
}
return 1;
}PS: Du fragst unten nur 12 Waffenslots ab, es gibt 13
nämlich 0 - 12 und nicht nur 0 - 11 
mfg.

-
Bei mir wird nix gespeichert also die daten
Du musst auch in deinen scriptfiles einen Ordner namens t_Zone anlegen
-
Und nur wenn auf das Objekt dann auch geschossen werden kann
Also du fragst mich gerade, wieso ich nicht von ca. 20.000 Objekten die rausgesucht habe, die ungefähr eine viereckige Form haben, auf die man vernünftig schießen kann.
Warum habe ich das wohl nicht gemacht...sag dus mir

-
Du fragst hier gar nichts ab?
Doch, dieses ! fragt ab, ob die Variable 0 bzw false ist
mfg.

-
und das steh das ich alevel 7 bin also O.o ?
...also wo liest er das aus
Der Variablename ist entscheidend 
-
schon und gut aber ingame steht dann da du bist kein admin!
und es passiert nix
Dann bist du kein Admin
...speicherst du denn auch das Adminlevel in dieser Variable: sInfo[playerid][alevel] ?

-
Diese riesen Codeblöcke da immer...das ist doch schlimm

Schreib es doch einfach so:
ocmd:aduty(playerid,params[]) {
if(!sInfo[playerid][alevel]) return SendClientMessage(playerid,ROT,"Du bist kein Admin!");
new string[128];
if(!AdminDuty[playerid]) {
switch(sInfo[playerid][alevel]) {
case 1: format(string, sizeof(string),"** ProbeSupporter: %s hat sich zum Admindienst Angemeldet! **", SpielerName(playerid));
case 2: format(string, sizeof(string),"** Supporter: %s hat sich zum Admindienst Angemeldet! **", SpielerName(playerid));
case 3: format(string, sizeof(string),"** Moderator: %s hat sich zum Admindienst Angemeldet! **", SpielerName(playerid));
case 4: format(string, sizeof(string),"** Administrator: %s hat sich zum Admindienst Angemeldet! **", SpielerName(playerid));
case 5: format(string, sizeof(string),"** SuperAdministrator: %s hat sich zum Admindienst Angemeldet! **", SpielerName(playerid));
case 6: format(string, sizeof(string),"** Stellv. ServerLeiter: %s hat sich zum Admindienst Angemeldet! **", SpielerName(playerid));
case 7: format(string, sizeof(string),"** ServerLeiter: %s hat sich zum Admindienst Angemeldet! **", SpielerName(playerid));
}
SendClientMessageToAll(DGRÜN,string);
SetPlayerSkin(playerid,278);
SendClientMessage(playerid,GELB,"** Du bist nun im Admindienst **");
SetPlayerHealth(playerid,100),SetPlayerArmour(playerid,100);
return AdminDuty[playerid]=1;
}
format(string, sizeof(string),"** Supporter/Admin: %s hat sich vom Admindienst Abgemeldet! **", SpielerName(playerid));
SendClientMessageToAll(ADMINROT,string),SetPlayerSkin(playerid,0);
SendClientMessage(playerid,GELB,"** Du bist nun nicht mehr im Admindienst und bist wieder im Normalen Zividienst **");
SetPlayerHealth(playerid,100),SetPlayerArmour(playerid,0);
return AdminDuty[playerid]=0;
}mfg.

//Edit: Habe gerade erst gesehen, dass du nicht mit PVar arbeitest, sondern mit sInfo[playerid][alevel]
-
Mal so als neutrale Kritik ein paar Bugs, die ich in den ersten paar Minuten gefunden habe:
- Start Screen funktioniert nicht so richtig (wie oben gezeigt).
- TextDraw ids vertauschen sich plötzlich...die Uhr ist weg und weiße Balken tauchen auf.
- Beim Führerschein kann man sich bewegen.
- Bei der Farbe der 3DTextLabel wurde teilweise der Alpha-Wert vergessen, aus diesem Grund sind sie extrem schlecht lesbar.
- Manche Pickups (Eingänge) funktionieren nicht.
- Teilweise Rechtschreibfehler.
- Manche Pickups (bei dem Ausgang vom LSPD) wurden weggelassen (oder entfernt wieso auch immer)...
- Map vom LSPD fehlt...außer dem Tor (sieht extrem bescheuert aus...)
...nach so ca. 2 Minuten gesehen...da vergeht einem doch die Lust

mfg.

-
davon hab ich nichts gesehen
Nicht?
Also bisher (so wie ich es gesehen habe) haben sie es geschafft, am Anfang den schwarzen Screen zu entfernen, sodass man jetzt in der Luft schwebt

Schönes Feature!
Sieht so aus:
PS: Nicht böse gemeint.
mfg.
