new GangzoneOwner[5][32];
Beiträge von Crank93
-
-
das ganze würde so nur funktionieren, wenn man NUR diese taste beim betreten drückt.
wenn der spieler eine andere taste gleichzeitig drückt, gehts nicht mehr.
das liegt daran, dass der aktuelle zustand der tastenbelegung eines spielers in einer einzigen variable (newkeys) gespeichert wird (nicht eine variable pro taste).
die tastenbelegung wird also durch einzelne bits dargestellt, da kannst du nicht mit dem "=="-operator arbeiten, sondern mit bit-operatoren.mach aus
newkeys == KEY_SECONDARY_ATTACK
newkeys & KEY_SECONDARY_ATTACK // &: bit.operator, prüft, ob das bit KEY_SECONDARY_ATTACK gesetzt ist -
pID=strval(params);kenn mich mit ocmd net besonders aus, müsste aber funktionieren.
-
tja, dann weist du pID gar keinen wert zu also ist die ID immer 0 (variablen werden bei der deklaration immer auf 0 gesetzt wenn kein wert zugewiesen wird).
logscherweise wird dann immer der name angezeigt, der zur id 0 gehört.
if(!strcmp(strget(cmdtext,0),"/scheine"))
{
if(!strlen(strget(cmdtext,1))) { SendClientMessage(playerid,COLOR_WHITE,"Benutzung: /scheine [ID]"); return 1; }
pID=strval(strget(cmdtext, 1));
GetPlayerName(playerid,aname,sizeof aname);
GetPlayerName(pID,oname,sizeof oname);
format(string,sizeof string,"Du hast %s deine Scheine gezeigt.",oname);
SendClientMessage(playerid,COLOR_WHITE,string);
format(string,sizeof string,"%s hat dir seine Scheine gezeigt.",aname);
SendClientMessage(pID,COLOR_WHITE,string);
if(Spielerinfo[pID][Autoschein] == 0){SendClientMessage(pID,COLOR_WHITE,"Der Autoschein ist nicht vorhanden!");}else{SendClientMessage(pID,COLOR_WHITE,"Der Autoschein ist vorhanden!");}
if(Spielerinfo[pID][Waffenschein] == 0){SendClientMessage(pID,COLOR_WHITE,"Der Waffenschein ist nicht vorhanden!");}else{SendClientMessage(pID,COLOR_WHITE,"Der Waffenschein ist vorhanden!");}
} -
zeig mal die stelle, an der du "pID" einen wert zuweist.
-
es wird enorm helfen, vorher hast du mehrmals pro sekunde (OnPlayerUpdate) für jeden spieler den account aktualisiert. (völlig unnötig)
jetzt wird das ganze nur noch einmal (beim disconnect) gemacht. -
forward advert();
public advert()
{
SendClientMessageToAll(COLOR, "Bewirb dich jetzt bei ...");
return 1;
}
//OnGameModeInit
SetTimer("advert", 1000*60*5, 1); -
bitte zeile posten...
-
in solchen fällen würde ich von timern abraten, geht ressourcenschonender
//oben
#define KILL_JAIL_SECONDS (15)
new KillTime[MAX_PLAYERS];
//OnPlayerDeath
KillTime[killerid]=GetTickCount();
//bei deinem "jail" command
if(GetTickCount() - KillTime[targetid] < (KILL_JAIL_SECONDS*1000))
return SendClientMessage(playerid, COLOR, "Kein Mord in den letzten 15 Sekunden!"); -
das "#else" ist eine präprozessoranweisung, vor ihr muss ein "#if" stehen, und beendet wird die struktur durch "#endif".
zeig mal noch ein paar zeilen über dem public (auch über dem "#if") -
stock Register(playerid, key[])
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt", name);
dini_Create(Spielerdatei);
dini_Set(Spielerdatei,"Passwort",key);
SendClientMessage(playerid, COLOR_GREEN, "Du hast dich Erfolgreich Registriert");
return 1;}
-
dcmd_wanted(playerid, params[])
{
#pragma unused params
new wantedstring[1024];
new p_wanted[50];
new p_name[MAX_PLAYER_NAME];
new wlevel;
if(gTeam[playerid] == 1)
{
for(new i = 0;i<MAX_PLAYERS;i++)
{
wlevel = GetPlayerWantedLevel(i);
if(wlevel != 0)
{
GetPlayerName(i,p_name,sizeof(p_name));
format(p_wanted, sizeof(p_wanted), "%s - %d Wanteds\n", p_name, wlevel);
strcat(wantedsring, p_wanted, sizeof(wanedstring));
}
}
ShowPlayerDialog(playerid, DIALOG_WANTEDS, DIALOG_STYLE_LIST, "Aktuelle Gesuchte", wantedstring, "Ok", "Abbrechen");
}
else
{
SendClientMessage(playerid, COLOR_RED, "Du bist kein Polizist!");
}
return 1;
} -
such aml nach der funktion "SetPlayerWorldBounds", durch die wird nämlich die meldung hervorgerufen.
-
#define PHOE_DIAL_WEL 2
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == PHOE_DIAL_WELL)
{
if(!strcmp(inputtext, php, false))
{
ShowPlayerDialog(playerid,PHOE_DIAL_WEL2,DIALOG_STYLE_MSGBOX,"Bla Bla Bla","der PIN war korrekt!\r\n Bitte klicken sie auf 'Weiter'","Weiter"," ");
}
}return 0;
} -
1.
//OnPlayerDeath
SendDeathMessage(killerid, playerid, reason);2.
//OnPlayerStateChange
if(newstate==PLAYER_STATE_DRIVER)
{
if(IsAdminCar(GetPlayerVehicleID(playerid)) && !IsPlayerAdmin(playerid)) //IsAdminCar evtl. durch deine abfrage ersetzen
{
RemovePlayerFromVehicle(playerid);
}
return 1;
} -
tags groß schreiben, also "Float:"
-
führ xampp aus, starte den apache und mysql server und versuchs nochmal.
-
wenn es ein filterscript ist, musst du den "reloadfs" befehl eingeben, "gmx" beendet nur den aktuellen gamemode und ruft "OnFilterScriptExit" nicht auf.
-
-
nimm das "break" raus, sonst wird die schleife ja schon nach einem durchlauf abgebrochen.