Kann man sowas überhaupt Design nennen?
Das sind ein paar rote Kästen, welche nichtmal eine gleiche Breite haben.
Beiträge von Drasko
-
-
pFraktion ist ein String.
enum playerData
{
pLevel, pMoney,
pFraktion[6], pRank, pLeader, pInvited[6],
pEingeloggt,
pAdmincar, pAduty, pSpectating, pGod, pAdmin,
Float:pHP, Float:pArmour,
pTicket[128], pTicketAdmin[MAX_PLAYER_NAME],
pBanned, pTBan, pBannedBy[MAX_PLAYER_NAME],
pMuted, pFreezed,
pHNummer
} -
Hallo.
Undzwar funktioniert mein Fraktionschat nicht wirklich.
ocmd:f(playerid, params[]) {
new nachricht[128];
if(pData[playerid][pEingeloggt] == 0) return SendClientMessage(playerid, COLOR_ERROR, "[Fehler]{FFFFFF} Du musst eingeloggt sein, um Befehle auszuführen!");
printf("DEBUG: %s", pData[playerid][pFraktion]);
if(!strlen(pData[playerid][pFraktion]) ) return SendClientMessage(playerid, COLOR_ERROR, "[Fehler]{FFFFFF} Du hast nicht die nötigen Berechtigungen dazu!");
if(sscanf(params, "s[128]", nachricht)) return SendClientMessage(playerid, COLOR_USING, "[Benutzung]{FFFFFF} /f [Text]");
format(nachricht, sizeof(nachricht), "**%s %s: %s", GetRankname(playerid), GetName(playerid), nachricht);
for(new i; i<MAX_PLAYERS;i++) {
if(strcmp(pData[i][pFraktion], pData[playerid][pFraktion]) == 0){
SendClientMessage(i, COLOR_FCHAT, nachricht);
}
}
return 1;
}
Die Nachricht wird an alle gesendet, auch wenn diese nicht in meiner Fraktion sind.Was mach ich falsch?
-
Hallo.
Ominöser Weise klappt mein Support System nicht.- Ein Ticket kann der Spieler erstellen
- Annehmen geht auch, allerdings erhält nur der Admin eine Nachricht
- Unter /tickets wird der falsche Name angezeigt // dummer Fehler. Done
- /sc geht gar nicht. Kommt keine Meldung o.ä.Keine Errors beim compilen
ocmd:support(playerid, params[]) {
new text[128],msg[164], amsg[164];
if(pData[playerid][pEingeloggt] == 0) return SendClientMessage(playerid, COLOR_ERROR, "[Fehler]{FFFFFF} Du musst eingeloggt sein, um Befehle auszuführen!");
if(sscanf(params, "s[128]", text)) return SendClientMessage(playerid, COLOR_USING, "[Benutzung]{FFFFFF} /support [Text]");
if(strlen(pData[playerid][pTicket]) == 0) {
new PlayerName[MAX_PLAYER_NAME];
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
pData[playerid][pTicket] = text;
format(msg, sizeof(msg), "[Support]{FFFFFF} %s", pData[playerid][pTicket]);
SendClientMessage(playerid, COLOR_SUPPORT, "[Support]{FFFFFF} Du hast ein Supportticket eröffnet. Deine Frage:");
SendClientMessage(playerid, COLOR_SUPPORT, msg);
format(amsg, sizeof(amsg), "[Support]{FFFFFF} %s [ID:%d] hat ein neues Ticket eröffnet!", PlayerName, GetPlayerID(PlayerName));
for(new i;i<MAX_PLAYERS;i++){
if(pData[i][pAdmin] > 0){
SendClientMessage(i, COLOR_SUPPORT, amsg);
}
}
} else {
SendClientMessage(playerid, COLOR_SUPPORT, "[Support]{FFFFFF} Du hast dein Supportticket gelöscht!");
strdel(pData[playerid][pTicket], 0, 128);
}
return 1;
}ocmd:tickets(playerid, params[]) {
if(pData[playerid][pEingeloggt] == 0) return SendClientMessage(playerid, COLOR_ERROR, "[Fehler]{FFFFFF} Du musst eingeloggt sein, um Befehle auszuführen!");
if(pData[playerid][pAdmin] == 0) return SendClientMessage(playerid, COLOR_ERROR, "[Fehler]{FFFFFF} Du hast nicht die nötigen Berechtigungen dazu!");
SendClientMessage(playerid, COLOR_SUPPORT, "|------ Aktuelle Tickets ------|");
for(new i;i<MAX_PLAYERS;i++){
if(pData[i][pEingeloggt] == 0) break;
if(strlen(pData[i][pTicket]) >= 1) {
new zeile[128];
format(zeile, sizeof(zeile), "Spieler %s [ID:%d]: %s", GetName(i), i ,pData[i][pTicket]);
SendClientMessage(playerid, 0xFFFFFFFF, zeile);
}
}
return 1;
}ocmd:ot(playerid, params[]) {
new pID, msg[128], amsg[128];
if(pData[playerid][pEingeloggt] == 0) return SendClientMessage(playerid, COLOR_ERROR, "[Fehler]{FFFFFF} Du musst eingeloggt sein, um Befehle auszuführen!");
if(pData[playerid][pAdmin] < 1 && pData[playerid][pAduty] == 1) return SendClientMessage(playerid, COLOR_ERROR, "[Fehler]{FFFFFF} Du hast nicht die nötigen Berechtigungen dazu!");
if(sscanf(params, "u", pID)) return SendClientMessage(playerid, COLOR_USING, "[Benutzung]{FFFFFF} /ot [ID]");
if(strlen(pData[pID][pTicket]) == 0) return SendClientMessage(playerid, COLOR_ERROR, "[Fehler]{FFFFFF} Der Spieler hat keinen Support angefordert!");
format(msg, sizeof(msg), "[Support]{FFFFFF} %s %s hat dein Ticket geöffnet. Schreibe nun per /sc mit ihm!", GetAdminRankname(playerid) ,GetName(playerid));
strdel(pData[pID][pTicket], 0, 128);
pData[pID][pTicketAdmin] = GetName(playerid);
SendClientMessage(pID, COLOR_SUPPORT, msg);
format(amsg, sizeof(amsg), "[Support]{FFFFFF} Du hast das Ticket von %s geöffnet. Schreibe nun per /sc mit ihm!", GetName(pID));
pData[playerid][pTicketAdmin] = GetName(pID);
SendClientMessage(playerid, COLOR_SUPPORT, amsg);
return 1;
}ocmd:sc(playerid, params[]) {
new text[128], msg[128];
if(pData[playerid][pEingeloggt] == 0) return SendClientMessage(playerid, COLOR_ERROR, "[Fehler]{FFFFFF} Du musst eingeloggt sein, um Befehle auszuführen!");
if(sscanf(params, "s", text)) return SendClientMessage(playerid, COLOR_USING, "[Benutzung]{FFFFFF} /sc [Text]");
for(new i;i<MAX_PLAYERS;i++){
if(strlen(pData[playerid][pTicketAdmin]) == 0) return SendClientMessage(playerid, COLOR_ERROR, "[Fehler]{FFFFFF} Du hast kein offenes Ticket!");
if(pData[playerid][pTicketAdmin] == pData[i][pTicketAdmin] && playerid != i) {
format(msg, sizeof(msg), "[Support-Chat]{FFFFFF} %s %s: %s", GetAdminRanknameC(playerid), GetName(playerid), text);
SendClientMessage(playerid, COLOR_SUPPORT, msg);
SendClientMessage(i, COLOR_SUPPORT, msg);
return 1;
}
}
return 1;
}ocmd:ct(playerid, params[]) {
new pID, msg[128], amsg[128];
if(pData[playerid][pEingeloggt] == 0) return SendClientMessage(playerid, COLOR_ERROR, "[Fehler]{FFFFFF} Du musst eingeloggt sein, um Befehle auszuführen!");
if(pData[playerid][pAdmin] < 1 && pData[playerid][pAduty] == 1) return SendClientMessage(playerid, COLOR_ERROR, "[Fehler]{FFFFFF} Du hast nicht die nötigen Berechtigungen dazu!");
if(sscanf(params, "u", pID)) return SendClientMessage(playerid, COLOR_USING, "[Benutzung]{FFFFFF} /ct [ID]");
if(strlen(pData[pID][pTicketAdmin]) == 0) return SendClientMessage(playerid, COLOR_ERROR, "[Fehler]{FFFFFF} Der Spieler hat kein offenes Ticket!");
format(msg, sizeof(msg), "[Support]{FFFFFF} %s %s hat dein Ticket geschlossen!", GetAdminRankname(playerid) ,GetName(playerid));
strdel(pData[pID][pTicketAdmin], 0, 30);
SendClientMessage(pID, COLOR_SUPPORT, msg);
format(amsg, sizeof(amsg), "[Support]{FFFFFF} Du hast das Ticket von %s geschlossen!", GetName(pID));
if(pData[playerid][pTicketAdmin] == pData[pID][pTicketAdmin]) strdel(pData[playerid][pTicket], 0, 128);
return SendClientMessage(playerid, COLOR_SUPPORT, amsg);
}Ich bin verzweifelt. Hilfe
LG
Maydo -
Ja, das geht mitder Textdraw Font 4.
Da muss man bestimmte Codes eintragen, um sowas zu erhalten.http://www.youtube.com/watch?f…er_embedded&v=yQiopHgT5-w
Im Unter "models" im GTA Verzeichnis liegen .txd Dateien. Die öffnen und die Namen beim Textdraw Editor unter Font 4 als String eintragen
-
Mit Textdrwas mit der Font 4
-
Wo liegen die Domains?
-
Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.
Ich denke, damit ist alles gesagt -
Naund?
STRG + H
Und "CreateObject" durch "CreateDynamicObject" ändern. -
-
Dafür das SetPVarInt raus?
Du speicherst halt nur das Geld in der PVar und nicht nicht in der SA:MP eigenen Geldanzeige
-
Lass OnPlayerRequestClass außen vor und setz das ganze unter OnPlayerConnect.
Wenn du ihn spawnen willst verwendest du folgende Befehle übereinander.
Zuerst http://wiki.sa-mp.com/wiki/SetSpawnInfo
Darunter http://wiki.sa-mp.com/wiki/SpawnPlayerLG
Maydo -
Wenn du per SetPlayerName einen Namen setzt, wird dieser selbstverständlich nicht in die Inputbox im Programm eingetragen, da dein Server keinen direkten Zugriff auf diese Instanz hat.
LG
Maydo//E:
Allerdings wird er für diese Spielsession selbstverständlich geändert. -
format(string,sizeof(string),"AdmCmd: %s hat dein Geld auf %s$ gesetzt",SpielerName(playerid),BETRAG);
Ist falsch, da BETRAG ein Integer und kein String ist.
format(string,sizeof(string),"AdmCmd: %s hat dein Geld auf %i$ gesetzt",SpielerName(playerid),BETRAG); -
Hallo.
Ich versteh' nicht, warum mein /setfrak Befehl nicht geht.
ocmd:setfrak(playerid, params[]){
new pID, frak[64], rank, msg[128], amsg[128];
if(pData[playerid][pEingeloggt] == 0) return SendClientMessage(playerid, COLOR_ERROR, "[Fehler]{FFFFFF} Du musst eingeloggt sein, um Befehle auszuführen!");
if(pData[playerid][pAdmin] < 4 || pData[playerid][pAduty] == 0) return SendClientMessage(playerid, COLOR_ERROR, "[Fehler]{FFFFFF} Du hast nicht die nötigen Berechtigungen dazu!");
if(sscanf(params, "us[64]d", pID, frak, rank)) return SendClientMessage(playerid, COLOR_USING, "[Benutzung]{FFFFFF} /setfrak [ID][Fraktionskürzel][Rank]");
if(strcmp(frak, "SFPD", true) == 0 && strcmp(frak, "SFSF", true) == 0 && strcmp(frak, "SFES", true) == 0&& strcmp(frak, "SFTR", true) == 0&& strcmp(frak, "NEWS", true) == 0&& strcmp(frak, "RIFA", true) == 0&& strcmp(frak, "BALLAS", true) == 0&& strcmp(frak, "NANG", true) == 0&& strcmp(frak, "TRIADEN", true) == 0) return SendClientMessage(playerid, COLOR_ERROR, "[Fehler]{FFFFFF} Ungültiger Fraktionskürzel!");
format(amsg, sizeof(amsg), "[AdminCMD] Du hast %s auf Rank %d in der Fraktion %s gesetzt!", GetName(pID),rank ,GetFrakname(frak));
format(msg, sizeof(msg), "[AdminCMD] %s %s hat dich auf Rank %d in der Fraktion %s gesetzt!",GetAdminRankname(playerid) ,GetName(playerid),rank , GetFrakname(frak));
SendClientMessage(playerid,COLOR_ADMCMD ,amsg);
SendClientMessage(pID, COLOR_ADMCMD, msg);
new savevar = GetFrakID(frak);
pData[pID][pFraktion] = savevar;
pData[pID][pRank] = rank;
switch(savevar) {
case 1: if(rank == MAX_RANKS_SFPD) pData[pID][pLeader] = 1;
case 2: if(rank == MAX_RANKS_SFSF) pData[pID][pLeader] = 1;
case 3: if(rank == MAX_RANKS_SFES) pData[pID][pLeader] = 1;
case 4: if(rank == MAX_RANKS_SFTR) pData[pID][pLeader] = 1;
case 5: if(rank == MAX_RANKS_NEWS) pData[pID][pLeader] = 1;
case 6: if(rank == MAX_RANKS_RIFA) pData[pID][pLeader] = 1;
case 7: if(rank == MAX_RANKS_BAlLAS) pData[pID][pLeader] = 1;
case 8: if(rank == MAX_RANKS_NANG) pData[pID][pLeader] = 1;
case 9: if(rank == MAX_RANKS_TRIADEN) pData[pID][pLeader] = 1;
}
SavePlayer(pID);
return 1;
}
stock GetFrakID(frakname[]) {
new returnfrak;
if(strcmp(frakname, "SFPD", true) == 1) {
returnfrak = 1;
return returnfrak;
} else if(strcmp(frakname, "SFSF", true) == 1 ) {
returnfrak = 2;
return returnfrak;
} else if(strcmp(frakname, "SFES", true) == 1 ) {
returnfrak = 3;
return returnfrak;
} else if(strcmp(frakname, "SFTR", true) == 1 ) {
returnfrak = 4;
return returnfrak;
} else if(strcmp(frakname, "NEWS", true) == 1 ) {
returnfrak = 5;
return returnfrak;
} else if(strcmp(frakname, "RIFA", true) == 1 ) {
returnfrak = 6;
return returnfrak;
} else if(strcmp(frakname, "BALLAS", true) == 1 ) {
returnfrak = 7;
return returnfrak;
} else if(strcmp(frakname, "NANG", true) == 1 ) {
returnfrak = 8;
return returnfrak;
} else if(strcmp(frakname, "TRIADEN", true) == 1 ) {
returnfrak = 9;
return returnfrak;
} else {
returnfrak = -1;
return returnfrak;
}
}Errors erhalte ich keine. Allerdings kann ich jeden X-Beliebigen Kürzel eingebenm und als NAchricht kommt immer, dass ich X im PD eingestellt habe. Und der Wert welcher dann in der Datei eingetragen wird, variert zwischen 3 und 5.
Was mach ich falsch?LG
Maydo -
Rank muss ein Array sein
Schönen Abend
-
Der Übergang zwischen ausgewähltem Knopf und der Leiste ist etwas schlecht gelöst.
Außerden sind die Social Media Bullets im Footer unpassend, da das design mehr eckig ist.Aber ansonsten gutes Design
-
Nein, keine Errors
-
Danke dir
-
Ja, nutze doch einfach diese Funktion
http://wiki.sa-mp.com/wiki/GetWeaponNameIch brauche das ganze aber genau andersrum^^