Abgesehn' davon, wie soll deiner Meinung nach die Ranggrafik aussehen oder sollen wir uns was einfallen lassen?
Die Ranggrafiken sollten relativ schlicht sein.
Bei der generellen Gestaltung überlasse ich euch doe Verantwortung.
Abgesehn' davon, wie soll deiner Meinung nach die Ranggrafik aussehen oder sollen wir uns was einfallen lassen?
Die Ranggrafiken sollten relativ schlicht sein.
Bei der generellen Gestaltung überlasse ich euch doe Verantwortung.
Hey liebe Community,
ich bin auf der Suche nach einigen schicken Ranggrafiken für ein WBB4-Forum.
Leider finde ich im Internet nur hässlichen Datenmüll und frage daher hier im Forum, ob ihr villeicht Anlaufstellen habt,
bzw. selbst welche habt/machen könnt.
Die Grafiken sollten die Standart-SAMP Server Title haben, z.B.:
- Projektleitung
- Head Admin
- High Admin
- Administrator
- Moderator
- Supporter
Es könnten ggf. auch "Sondertitel" geben, wie:
- Community Leitung/Manager
- Server Techniker
- Scripter
- usw.
Villeicht meldet ihr euch ja!
P.S: Selbstverständlich könnt ihr euch auch via PN melden!
Gruß
R.
Wie du siehst lädt der Server auch nicht das crashdetect Plugin..:
Nimm es mal raus und probiere es mal ohne das Plugin!
ocmd:duty(playerid,params[])
{
if(Duty[playerid] == 0)
{
SendClientMessage(playerid,GELB,"Du bist nun im Dienst!");
Duty[playerid] = 1;
}
else
{
SendClientMessage(playerid,GELB,"Du bist nun außer Dienst!");
Duty[playerid] = 0;
return 1;
}
}Ist doch ganz einfach
Oben im Script definieren:
new Duty[MAX_PLAYERS];
Dann einfach einen Befehl einbauen und die Playervariable auf 1 setzen.
Mit der Variable kannst du dann weiter arbeiten
SetPlayerMarkerForPlayer(SPIELER DER DEN MARKER ANGEZEIGT BEKOMMT,SPIELER DESSEN FARBE GEÄNDERT WIRD,FARBE);
Um das jedoch nutzen zu können solltest du bei OnGameModeInit folgendes machen:
ShowPlayerMarkers(1);
Du kannst anstatt der 1 auch andere Zahlen mit folgender Bedeutung eintragen:
0 = OFF ---> Marker werden nicht angezeugt
1 = GLOBAL ---> Die Marker werden Global (egal wo sich der Spieler befindet) angezeigt
2 = Streamed --> Die Marker werden nur angezeigt, sobald sich der Spieler in der Nähe eines anderen befindet.
Die Stream-Range kann individuell eingestellt werden!
portest du ihn in ein PNS/Transfender von GTA
Dann würde ich aber jedem Spieler eine andere virtuelle Welt geben, weil die doch sonst hässlich ineinander buggen, oder?
Habs jetzt selbst hinbekommen
In der Log war auch alles richtig, es war nur ein Logikfehler in der DB
Mach das Menü doch einfach selbst?
Ist zwar relativ viel arbeit, dafür einzigartig und eigentlich auch total leicht!
Einfach das hier:
stock GetFreeDrogenID(playerid)
{
for(new i=0; i<MAX_ANPFLANZEN; i++)
{
if(drogenstatus[playerid][i] == 0) return i;
} return -1; }
Du musst es natürlich noch richtig einrücken
Schon mal im Log geschaut oder den Log überhaupt mal aktiviert?
Die log sagt nichts bzw. keine Fehler, gar nichts...
Lediglich das die Verbindung steht.
P.S: Ich habe eingestellt das nur Fehler geloggt werden.
Naja, ich glaube nicht, dass er damit viel anfängt, das ist ja nur ein Zähler, der hier gar nichts bringt, denn er kann die fertigen Drogen ja in unterschiedlicher Reigenfolge abholen.
Upps
An diesen ganzen typischen Drogenkram (die braucht ne Stunde zum wachsen usw.) habe ich gar nicht gedacht
Es war ja auch schon spät in der Nacht
Hey Leute,
es geht mal wieder um das wunderschöne Theam "MySQL".
Ich bin gerade an einem Gangfight System dran, was über MySQL laufen soll.
Dabei habe ich zwei stocks, die die Daten der Gangzonen laden/speichern.
Beim Speichern wird in meinem Table "gangwar" ein einziges Column mit den ganzen Daten der ersten Gangzone erstellt.
Obwohl ich 9 Zonen eingebaut habe
Da ich was MySQL betrifft noch selbst am lernen bin, habe ich hier den Code einmal:
stock SaveZones()
{
new str[5];
for(new zid=0; zid<sizeof(Zonen);zid++)
{
format(str, sizeof(str), "%d", zid);
mysql_SetInt("gangwar","Owner",Zonen[zid][gOwner],"Zone",str);
mysql_SetInt("gangwar","Aktiv",Zonen[zid][gOn],"Zone", str);
mysql_SetInt("gangwar","Stand1",Zonen[zid][gStand1],"Zone", str);
mysql_SetInt("gangwar","Stand2",Zonen[zid][gStand2],"Zone", str);
mysql_SetInt("gangwar","Angreifer",Zonen[zid][gAngreifer],"Zone", str);
mysql_SetInt("gangwar","Zeit",Zonen[zid][gZeit],"Zone", str);
mysql_SetInt("gangwar","Kasse",Zonen[zid][gKasse],"Zone", str);
mysql_SetInt("gangwar","Typ",Zonen[zid][gTyp],"Zone", str);
mysql_SetInt("gangwar","Capture",Zonen[zid][capture_cd],"Zone", str);
mysql_SetFloat("gangwar","MinX",Zonen[zid][gMinX],"Zone", str);
mysql_SetFloat("gangwar","MinY",Zonen[zid][gMinY],"Zone", str);
mysql_SetFloat("gangwar","MaxX",Zonen[zid][gMaxX],"Zone", str);
mysql_SetFloat("gangwar","MaxY",Zonen[zid][gMaxY],"Zone", str);
}
return 1;
}
Seht ihr da etwas?
Die Zeile ist zu lang, deshalb wandelt das Script die Zeile 6 (in deinen geposteten Code) in mehrere Zeilen um !
Mache es am besten einfach so:
new name[MAX_PLAYER_NAME], string[24+MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
new string[500];
format(string, sizeof string, "Statistiken von %s\n",name); // Anfang
format(string, sizeof string, "%sLevel: %i Skin ID: %i ...\n",string,GetPlayerScore(playerid),GetPlayerSkin(playerid));
ShowPlayerDialog(playerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX,"Statistiken",string,"O.K","");
So sollte das klappen
Musst natürlich deinen kram noch einfügen!
Ich zeige es dir mal, so wie ich es machen würde:
Oben im Script
new Pflanzen[MAX_PLAYERS]; // definiert eine Playervariable
Nun baust du beim "Pflanzen-Befehl" folgendes ein:
if(Pflanzen[playerid] >= 10) return SCM(playerid,FARBE,"Du kannst maximal 10 Pflanzen pflanzen!");
Sobald ein Spieler eine Pflanze gepflanzt hat, addierst du der Variable "Pflanzen" einen Wert +.
Sprich:
Pflanzen[playerid] ++;
Versuche mal als Pickup-Typ "23" zu nehmen...
Ich nutze das sehr oft
Also:
drogenpickup[playerid]=CreatePickup(19473,23,dInfo[playerid][dX],dInfo[playerid][dX],dInfo[playerid][dX],GetPlayerVirtualWorld(playerid));
[12:38:46] [debug] Run time error 4: "Array index out of bounds"
[12:38:46] [debug] Accessing element at index 500 past array upper bound 499
[12:38:46] [debug] AMX backtrace:
[12:38:46] [debug] #0 00036574 in ?? () from gr.amx
[12:38:46] [debug] #1 0017a330 in ?? () from gr.amx
[12:38:46] [debug] #2 000364b0 in ?? () from gr.amx
[12:38:46] [debug] #3 0000d35c in public gOnPlayerDisconnect () from gr.amx
[12:38:46] [debug] #4 native CallLocalFunction () [080dbf60] from samp03svr
[12:38:46] [debug] #5 00000f74 in ?? () from gr.amx
[12:38:46] [debug] #6 00000a5c in public OnPlayerDisconnect () from gr.amxIch habe es im Script geändert, jedoch hat sich nichts verändert und in der Log wird wieder folgendes ausgegeben:
Hey Leute,
bei meinem Haussystem habe ich folgende Fehler in der server.log, sobald ich die Speicherungs-Stocks nutze:
[12:38:46] [debug] Run time error 4: "Array index out of bounds"
[12:38:46] [debug] Accessing element at index 500 past array upper bound 499
[12:38:46] [debug] AMX backtrace:
[12:38:46] [debug] #0 00036574 in ?? () from gr.amx
[12:38:46] [debug] #1 0017a330 in ?? () from gr.amx
[12:38:46] [debug] #2 000364b0 in ?? () from gr.amx
[12:38:46] [debug] #3 0000d35c in public gOnPlayerDisconnect () from gr.amx
[12:38:46] [debug] #4 native CallLocalFunction () [080dbf60] from samp03svr
[12:38:46] [debug] #5 00000f74 in ?? () from gr.amx
Die Stocks:
stock saveHausDaten()
{
for(new i = 0; MAX_HAUS >= i; i++)
{
new hausid[128];
format(hausid,sizeof(hausid),"/Haus/Haus%i.cfg",i);
dini_Set(hausid,"Besitzer",haus[i][hbesitzer]);
dini_IntSet(hausid,"Mietbar",haus[i][hmietbar]);
dini_IntSet(hausid,"Interior",haus[i][hinterior]);
dini_IntSet(hausid,"Mietpreis",haus[i][hmietpreis]);
dini_IntSet(hausid,"Kasse",haus[i][hkasse]);
dini_IntSet(hausid,"Offen",haus[i][hoffen]);
}
return 1;
}
stock saveSpielerDaten()
{
for(new i = 0; MAX_PLAYERS > i; i++)
{
new SDatei[128];
format(SDatei,sizeof(SDatei),"/HSpieler/%s.cfg",SpielerName(i));
dini_IntSet(SDatei,"Anzahl_Häuser",playerD[i][ahaus]);
}
return 1;
}
Wisst ihr was bzw. wo der Fehler sein kann?
Laut Fehlermeldung ist ein Array über den definierten Wert (upper bound).
Aber welcher? :o
Danke haha
Ja es lag daran dass ich diesen dreckigen standart Windows-Editor zum öffnen benutzt habe
Sorry für den Mangel an Intelligenz
Hey Leute,
ich habe ein Logsystem auf meinem Server, welches z.B. den generellen Chat loggt.
Problem ist, dass es alles aneinander geklatscht wird:
Spieler1 sagt: Dies ist ein TestSpieler3 sagt: was willst du?Spieler2 sagt: Alles klebt aneinander...
Ich möchte das ganze umformatieren, so dass es so dort steht:
Derzeit wird es so geloggt:
stock ChatLog(string[])
{
new entry[256];
format(entry, sizeof(entry), "%s\n",string);
new File:hFile;
hFile = fopen("logs/chatlog.log", io_append);
fwrite(hFile, entry);
fclose(hFile);
}
Habt ihr eine Idee?