Beiträge von Kaliber
-
-
//Edit:
Achso...sehe es gerade du nutzt einen Streamer, benutze es mal so:new Infoschild1 = CreateObject(5811, 1219.27, -938.49, 45.77, 0.00, 0.00, 0.00);
SetObjectMaterialText(Infoschild1,"Das ist ein\nbeschriftetes Objekt",0,OBJECT_MATERIAL_SIZE_256x128,"Arial",28,0,0xFFFF8200,0xFF000000,1);mfg.

-
Schreibe es mal so:
new Infoschild1 = CreateDynamicObject(5811, 1219.27, -938.49, 45.77, 0.00, 0.00, 0.00);
SetObjectMaterialText(Infoschild1,"Das ist ein\nbeschriftetes Objekt",0,OBJECT_MATERIAL_SIZE_256x128,"Arial",28,0,0xFFFF8200,0xFF000000,1);mfg.

-
Mhm...komisch, probier es mal so:
native _SendClientMessage(playerid, color, const string[]) = SendClientMessage;
#define SendClientMessage __SendClientMessage
stock __SendClientMessage(playerid, color, const string[]) // by Deadmau5 | edited und hooked by BlackAce | edited by Kaliber
{
new strings[4][128];
split(string,strings,'\n');
for(new y; y<4; y++) if(strings[y][0]) _SendClientMessage(playerid,color,strings[y]);
return true;
}mfg.^^
-
:o funktioniert auch nicht
Schreib das mal so:native _SendClientMessage(playerid, color, const string[]) = SendClientMessage;
#define SendClientMessage __SendClientMessage
stock __SendClientMessage(playerid, color, const string[]) // by Deadmau5 | edited und hooked by BlackAce | edited by Kaliber
{
new strings[4][128];
split(string,strings,'\n');
for(new y,l=strlen(string);y!=l;y++) if(strings[y][0]) _SendClientMessage(playerid,color,strings[y]);
return true;
}mfg.

-
Habe es mal geändert...
Doch:
new VALID_SLOT_ACTION = 1;
Da finde ich ist die Variable überflüssig, ich habe einfach mal direkt return 1; geschrieben
mfg.

-
Alles anzeigen
Kaliber dann schreib doch:
if(foobar == -1) return;Oder was schöner ist, hau das ganze in ne if Abfrage (im Code returnen ist nicht so schön). Also zB so:
GivePlayerItem(playerid, item[])
{
new slot = GetFreeSlot(playerid)
if(slot != INVALID_SLOT)
{
format(Item[playerid][slot],32,item);
}
}INVALID_SLOT kannste als globale Konstante definieren, denn man kann raten, was -1 bedeutet, eine Stringbezeichnung ist da schon viel eindeutiger
Ja, das könnte ich tun, macht das aber jetzt so den Unterschied
mfg.

-
aber warum funktioniert \n nicht :o
Anscheinend unterstützt SendClientMessage das nicht...blöd
-
\n funktioniert nicht.. sendet in 1 zeile..
Echt...mhm okay, das ist natürlich blöd
Ok danke funktioniert und woran lag es jetzt?
Du hast pID verwendet, aber pID hatte den Wert 0 und deshalb ging das alles nicht du musst playerid verwenden
mfg.

-
Danke für eure Feedbacks, freut mich, dass es euch gefällt

annst Du mir mal erklären was das machen soll, ich begreifs echt nicht. Warum ein retvalue, wenn er nicht benutzt werden kann - Unabhängig davon, ob das Item erfolgreich oder nicht erfolgreich erstellt worden ist returnst Du denselben Wert?
Der Wert, der returnt wird ist in diesem Fall irrelevant, es muss nur etwas returnt werden !
Denn wenn slot == -1 ist, muss der Code beendet werden und da ich an dieser Stelle returne muss ich auch am Ende returnen, ich könnte auch mit if und else arbeiten, aber ich fand mit return gehts auch
Ich würde eigentlich gerne wissen, wie GivePlayerItem abgelaufen ist, ohne gleich GetItem benutzen zu müssen.
? Schau mal in den Beispiel Tab
mfg.

-
Schreib das mal so:
dcmd_perso(playerid,params[])
{
#pragma unused params
if(!GetPVarInt(playerid,"Perso")) return SendClientMessage(playerid, COLOR_WHITE,"Du hast keinen Personalausweiß, gehe zur Stadthalle und kaufe einen.");
new Land[30],string[128],name[MAX_PLAYER_NAME];
switch(GetPVarInt(playerid,"Land")) {
case 1: format(Land,30,"Deutschland");
case 2: format(Land,30,"Schweiz");
case 3: format(Land,30,"Österreich");
}
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
SendClientMessage(playerid,Blau,"_____________Personal Ausweis_____________");
if(GetPVarInt(playerid,"AdminLevel")) format(string,128,"Name: %s\nAdminlevel: %d\nAlter: %d\nLand: %s",name,GetPVarInt(playerid,"AdminLevel"),GetPVarInt(playerid,"Alter"),Land);
else format(string,128,"Name: %s\nAlter: %d\nLand: %s",name,GetPVarInt(playerid,"Alter"),Land);
SendClientMessage(playerid,COLOR_WHITE,string);
SendClientMessage(playerid,Blau,"__________________________________________");
return 1;
}mfg.

-
Guten Morgen liebe Community,
ja ich bin es mal wieder mit einem System welches aus Langeweile entstanden ist.
Einige haben sich gefragt...wie macht man sowas...das geht doch gar nicht...
Hier mal ein ganz simples Inventar System:
[tabmenu]
[tab='Allgemeine Informationen','http://forum.sa-mp.de/wcf/icon/infoM.png']
[subtab='Funktionen','http://forum.gamerzhost.de/wcf/icon/codeS.png']
(Im Sub-Tab Beispiele, ist zu allen Funktionen ein Beispiel gemacht !)
Es gibt folgende Funktionen:GivePlayerItem(playerid, item[]); //Gibt dem Spieler in Item
ResetPlayerItems(playerid); //Resettet alle Items von einem Spieler
DeletePlayerItem(playerid, item[]); //Löscht ein bestimmtes Item aus dem Inventar
GetItem(playerid,slot,name[],len); //Hier wird das Item in diesem Slot wiedergegeben
[subtab='Beispiele','http://www.damen-eishockey.de/images/lampe.gif']
//Hier nun einige Beispiele
GivePlayerItem(playerid, "Butter"); //Der Spieler trägt nun Butter mit sich (wird in den Slot 0 getan)DeletePlayerItem(playerid, "Butter"); //Hier hätte man jetzt die Butter entfernt
//Angenommen wir hätten Butter nicht entfernt, sähe das so aus mit dem ausgeben:
new items[1];
GetItem(playerid,0,items[0],6); // Die 6 = Länge von dem Wort "Butter" = 6 Buchstaben
printf("Dieses Item trägt der Spieler mit sich: %s",items[0]);
[subtab='Zusätzliche Sachen','http://www.rezepte-guru.de/template/images/icon_stern.gif']
Es gibt insgesamt vordefiniert 10 Slots, dies kann man verändern und zwar so:#define MAX_SLOTS 15 //Jetzt hätte man 15 Slots frei
#include <Inventar>
[subtab='Download','http://www.projekt-deutsch.de/templates/cback/images/download.gif']
Source-Code: Pastebin
Direkter Download: Mediafire
[/tabmenu]PS: Wenn der Slot MAX_SLOTS erreicht wird, werden einfach keine Items mehr hinzugefügt !
Wünsche euch viel Spaß beim testen

mfg.
-
Spoiler anzeigen Neue Downloadlinks
-
Spoiler anzeigen Neue Downloadlinks²
-
Spoiler anzeigen Rechtschreibung
-
Spoiler anzeigen Neue Downloadlinks
-
-
Muss mich da leider BlackAce anschließen, so hat die include kaum Nutzen. Zumindest nicht für Entwickler.
So ein Bullshit xDEs reicht völlig, wenn so eine Übersicht geprintet wird, wenn man den Server neustartet und da von FS und GM alles geprintet wird

mfg.

-
Aber dem ersten Beitrag ist zu entnehmen, dass deine Include die gesamten Elemente ausgibt - unabhängig vom Script
//Edit: Achso, jetzt verstehe ich, was du sagen willst, dazu kann ich nur sagen, dass du da ganz schön zu viel interpretierst und das das da nicht rauszulesen ist
Achso argumentieren wir lieber mit "Das ist nicht mein Problem wenn ihr eure Filterscripte während der Runtime ladet"
Nein, ich argumentiere es so, dass man diesen Check nicht immer braucht wenn man sein Filterscript neulädt, 1x beim Server start reicht doch vollkommen...Welcher gescheite Scripter restartet sein Server immer wenn er was an seinem Filterscript ändert?
Muss er doch nicht, lol ?Füg doch einfach die paar Zeilen hinzu und alles ist gut.
Könnte ich zwar, mache ich aber nicht, wäre ein weiteres Feature, finde es aber unnötig, da ich es nicht wirklich brauche, wenn du so gerne deine Filterscripts neulädst und dann diesen Check während des neuladens brauchst (was eigentlich sinnlos ist), kannst du die Include ja gerne editieren
-
Lade ich kein FS nach dem GM sprich während der Laufzeit gibt er nichts aus.
und
Sowas dient doch eh nur zum Test, da macht man das doch eh auf seinem Localhost und es ist nicht wirklich schlimm dann da einen Restart zu machen...Trotzdem funktioniert deine Include nicht.
Siehst du und das ist falsch, der Screen sagt ja irgendwie was anderes
Wenn du sagst ich äußere keine Kritik sondern mache alles nieder, dann glaub das ruhig.
Naja, du behauptest das sie Schwachsinn ist und nicht funktionieren würde...wenn das nicht niedermachen ist, dann weiß ich auch nicht
mfg.

-
Und genau das ist falsch - daher definititiv nicht zu gebrauchen.
Du willst es anscheinend nicht verstehen...Diese Include gibt den Ressourcen Vebrauch pro Skript wieder...am ende 1+1 zu rechen, sollte man dann doch noch können

Und nein, es ist nicht sinnlos, da es funktioniert, somit hat es seinen Sinn und Zweck zumindest für mich schon erfüllt !
und jetzt höre auf hier das Include runter zu machen !
mfg.

-
Vielleicht hast du ja dein Objekt Limit überschritten, prüfe es doch am Besten mal mit dieser Include: [ INCLUDE ] Limit Counter
mfg.

-
Ruft er dann die komplette Anzahl vom Server auf oder nur vom Filterscript oder Gamemode ?
Sie printet so eine Zusammenfassung von dem Script, in dem man sie includiert
Schreibt man #include <Limit> nur in das Gamemode, bekommt man nur davon einen Log, schreibt man es auch in ein Filterscript, bekommt man von dem eine extra Übersicht

Kaliber, oh kaliber... Du und deine langeweile.
Das wird langsam echt schlimm
mfg.

-
Öhhhm, ich denke er hat nachgedacht es funktioniert eben NICHT wenn du im Filterscript 10 Autos erstellst und im Gamemode 10 wie soll er sie dann zusammen addieren ?
Dann sind es 20 ...
Du erstellst einfach im Filterscript 2000 Autos und im Gamemode und was ist ? Keine Warnung!
Eben das ist falsch und du hast auch nicht nachgedacht !Wenn man die Include auch in dem Filterscript includiert, wird diese Box 2x aufgerufen

Zuerst für den Gamemode und dann extra nochmal für das Filterscript, was ja im Prinzip nichts verkehrtes ist !
mfg.

-
Also was bringt diese Include wenn sie nicht nutzbar ist

Bescheuert
Wenn man die im Filterscript mit includiert funktioniert das doch, ich verstehe dein Problem nicht

Denke erstmal in Ruhe nach, bevor du sowas schreibst !
mfg.
