Wie hast du deinen Spieler erstellt?
Enum?
Wie speicherst du ihn?
MySQL , Dini ?
Poste mal die Spieler Datei!
Wie hast du deinen Spieler erstellt?
Enum?
Wie speicherst du ihn?
MySQL , Dini ?
Poste mal die Spieler Datei!
Klar, aber da ein Server von einer Community lebt, kann doch die "Community" sich auch was mit dem Team ausdenken, oder?
Meine Name:
German Infinity Reallife <--- Classic -.-'
Your Life RP <--- schlicht
Virtual Roleplay <--- was anderes
...
Hey Leute,
ich weiß normal sollte man sich selber etwas ausdenken, aber habt ihr ein paar gute/witzige/coole Ideen für
einen Servernamen?
Ich habe mir auch schon paar Gedanken gemacht, aber villeicht habt ihr ja einen bahnbrechenden Namen!
Einfach antworten !
´´´´´´´´´´´´´´
Alles anzeigennew pID;
zu
new pID;
if(sscanf(params,"u",pID))return SendClientMessage(playerid,-1,"/aclear [playerid]");
mfg
Ich habe noch ein Problem
Undzwar möchte ich, dass wenn man /members eingibt man die Ränge der Spieler sieht
ocmd:members(playerid,params[])
{
new fID,string[128];
fID=GetPVarInt(playerid,"Fraktion");
SCM(playerid,gruen,"------ Fraktions-Mitglieder Online------");
new rangtext[50];
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(GetPVarInt(playerid,"Fraktion") == 1)
switch(GetPVarInt(playerid,"Rang"))
{
case 1:{rangtext="Deputy";}
case 2:{rangtext="Inspector";}
case 3:{rangtext="Detective";}
case 4:{rangtext="Lieutenant";}
case 5:{rangtext="Captain";}
case 6:{rangtext="Chief";}
}
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i))
{
if(GetPVarInt(i,"Fraktion") == fID)
{
format(string,sizeof(string),"Name: %s | Rang: %s",SpielerName(i),rangtext(i));
SCM(playerid,COLOR_YELLOW,string);
}
}
}
SCM(playerid,gruen,"--------------------------------------------");
return 1;
}
Wenn ich jedoch /members eingebe, dann wird (auch wenn ich Rank 6 bin) mein Rankname duch den des anderen Spielers ersetzt...
Wie mache ich das, dass mein Rang und der Rang des anderen Spielers angezeigt werden?
Hey Leute,
wenn ich jemand Gesuchten Clearen will, steht dort, dass der Spieler nicht gesucht wird...
Anscheinend funktioniert das mit der pID nicht ganz
Der Befehl:
ocmd:aclear(playerid,params[])
{
new pID;
if(isPlayerAnAdmin(playerid,2))
{
if(GetPVarInt(pID,"Wanted") > 0)
{
new string[128],sendername[MAX_PLAYER_NAME],name32[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
if(sscanf(params,"u",pID))return SCM(playerid,COLOR_FADE3,"/aclear [spieler]");
GetPlayerName(pID,name32,sizeof(name32));
format(string, sizeof(string), "Du hast die Strafakte von %s gelöscht!",name32);
SCM(playerid,ROT, string);
format(string, sizeof(string), "Admin %s hat deine Wanteds gelöscht!",sendername);
SCM(pID,ROT, string);
format(string,sizeof(string),"HQ: %s hat die Strafakte von %s gelöscht.",sendername,name32);
StaatCast(string);
SetPVarInt(pID,"Wanted",0);
TextDrawHideForPlayer(pID,wanteddraw[pID]);
TextDrawHideForPlayer(pID,wantedstern);
return 1;
}
SCM(playerid,ROT,"Dieser Spieler wird nicht gesucht!");
return 1;
}
SCM(playerid,RED,"Dir fehlen die benötigten Rechte!");
return 1;
}
Ich habe ein Problem mit diesem Dialog:
if(dialogid == DIALOG_SMAT)
{
if(response == 0)
{
SCM(playerid,ROT,"Abgebrochen");
return 1;
}
if(response == 1)
{
new anzahl = strval(inputtext);
if(anzahl >= 1 && anzahl <= 100)
{
new geld = GetPVarInt(playerid,"Geld");
new kosten = 100 * anzahl;
if(geld >= anzahl)
{
GiveMoney(playerid,-kosten);
SetPVarInt(playerid,"Mats", GetPVarInt(playerid,"Mats")+anzahl);
SCMF(playerid,COLOR_YELLOW,"Du hast dir %s Mats für %s$ gekauft!",anzahl,kosten);
return 1;
}
SCM(playerid,ROT,"Du hast nicht genügend Bargeld dabei!");
return 1;
}
SCM(playerid,ROT,"Der Wert muss zwischen 1 und 100 Mats liegen");
return 1;
}
}
Wenn ich den Dialog nun mit einer Zahl bestätige bekomme ich zwar das
Geld noch abgezogen, direkt danach crasht aber der Server! :o
[18:47:18] [debug] AMX backtrace:
[18:47:18] [debug] #0 native format () from samp-server.exe
[18:47:18] [debug] #1 0000a7b8 in SCMF (playerid=0, color=-65366, fstring[]=@00be74a8 "Du hast dir %s Mats f", ... <2 arguments>) at D:\Domi\Spiele\GTA San Andreas\Selfmade\gamemodes\inventar.pwn:138
[18:47:18] [debug] #2 00074014 in public OnDialogResponse (playerid=0, dialogid=226, response=1, listitem=-1, inputtext[]=@00c67448 "1") at D:\Domi\Spiele\GTA San Andreas\Selfmade\gamemodes\inventar.pwn:10286
[18:47:18] [debug] Native backtrace:
[18:47:18] [debug] #0 77e332b0 in ?? () from C:\Windows\SysWOW64\ntdll.dll
[18:47:18] [debug] #1 77e335b7 in ?? () from C:\Windows\SysWOW64\ntdll.dll
[18:47:18] [debug] #2 77e334a2 in ?? () from C:\Windows\SysWOW64\ntdll.dll
[18:47:18] [debug] #3 773514ad in ?? () from C:\Windows\syswow64\kernel32.dll
[18:47:18] [debug] #4 00493bf1 in ?? () from samp-server.exe
[18:47:18] [debug] #5 0044e129 in ?? () from samp-server.exe
[18:47:18] [debug] #6 00458bcc in ?? () from samp-server.exe
[18:47:18] [debug] #7 0045b39a in ?? () from samp-server.exe
[18:47:18] [debug] #8 60a27c19 in ?? () from plugins\crashdetect.DLL
[18:47:18] [debug] #9 760c14ab in ?? () from C:\Windows\syswow64\KERNELBASE.dll
Alles anzeigen
Wisst ihr mehr? :o
Alles anzeigen
So viel weiß ich über den Streamer auch nicht, bzw. kenne mich damit auch nicht so gut aus, aber füge das mal ein:
PAWN Quelltext
1
Streamer_VisibleItems(STREAMER_TYPE_OBJECT, 800);
Funktioniert, super Dankeschön !
Der BSN hat nur round about 400 Objekte
An den Objekten liegt es nicht , habe ich schon probiert, da ich alle anderen Objekte auskommentiert habe und der BSN trotzdem nicht komplett geladen wurde...
Hey Leute,
ich habe einen neuen BSN eingefügt (by Eddy) und wenn ich auf dem Server connecte und mich in der Nähe befinde, laden die Objekte nicht richtig:
Die Map habe ich euch unten verlinkt, damit ihr seht wie genau die Objekte erstellt werden !
Die Map (pastebin):
dankeschön
Hey Leute,
ich habe mich noch nie wirklich mit einem Inputtext befasst und möchte einen "Unterschriftsdialog" machen, wo der Spieler als Inputtext seinen Spielernamen eingeben muss.
Ich habe es bis jetzt so gemacht, aber leider funktioniert es nicht:
if(dialogid == DIALOG_UNTERSCHRIFT)
{
new pID[64];
GetPlayerName(playerid,pID,sizeof(pID));
new text = strval(inputtext);
if(text == pID)
{
SetPVarInt(playerid,"Perso",1);
SCM(playerid, COLOR_YELLOW, "Herzlichen Glückwunsch, du kannst deinen Perso immer unter /stats betrachten.");
SCM(playerid, COLOR_YELLOW, "Bearbeitungsgebühr: 2.000$");
GiveMoney(playerid,-2000);
return 1;
}
else
{
SCM(playerid,COLOR_RED,"Du musst deinen InGame-Namen schreiben!");
return 1;
}
}
Ihr habt doch bestimmt Ideen
Okay, vielen Dank
Es funktioniert, aber bevor ich an einigen Dialogen gearbeitet habe, hat es auch ohne das Funktioniert :o
Das ist schon komisch...
Und kann es jetzt so einige Funktionen beeinträchtigen?
Ich benutze es sehr oft im Script
Es steht ja alles oben
Also ich benutze es noch für playerid :o
SCMF:
stock SCMF(playerid, color, fstring[], {Float, _}:...)
{
static const STATIC_ARGS = 3;
new n = (numargs() - STATIC_ARGS) * BYTES_PER_CELL;
if(n)
{
new message[144],arg_start,arg_end;
#emit CONST.alt fstring
#emit LCTRL 5
#emit ADD
#emit STOR.S.pri arg_start
#emit LOAD.S.alt n
#emit ADD
#emit STOR.S.pri arg_end
do
{
#emit LOAD.I
#emit PUSH.pri
arg_end -= BYTES_PER_CELL;
#emit LOAD.S.pri arg_end
}
while(arg_end > arg_start);
#emit PUSH.S fstring
#emit PUSH.C 144
#emit PUSH.ADR message
n += BYTES_PER_CELL * 3;
#emit PUSH.S n
#emit SYSREQ.C format
n += BYTES_PER_CELL;
#emit LCTRL 4
#emit LOAD.S.alt n
#emit ADD
#emit SCTRL 4
if(playerid == INVALID_PLAYER_ID)
{
#pragma unused playerid
return SendClientMessageToAll(color, message);
} else {
return SCM(playerid, color, message);
}
} else {
if(playerid == INVALID_PLAYER_ID)
{
#pragma unused playerid
return SendClientMessageToAll(color, fstring);
} else {
return SCM(playerid, color, fstring);
}
}
}
SCMF = SendClientMessage + String
Beispiel:
SCMF(playerid,ROT,"%s hat dich gebannt",SpielerName[playerid]
Das ist quasi eine verkürzung der format-Geschichte und macht das ganze viel leichter
Hey Leute,
ich habe ein Problem mit diesem Stock, der die Tank-Preise in meinem Script festlegt bzw. lädt:
Beim compilen bekomme ich keine Fehler, jedoch stürzt der Server beim starten ab und spuckt folgende Fehlermeldungen aus:
[16:16:43] [MySQL] Connected (0) to 'test'@'127.0.0.1 via TCP/IP'.
[16:16:43] [MySQL] Server Version 5.6.20.
[16:16:44] [debug] Server crashed while executing inventar.amx
[16:16:44] [debug] AMX backtrace:
[16:16:44] [debug] #0 native format () from samp-server.exe
[16:16:44] [debug] #1 0000a7b8 in SCMF (playerid=65535, color=-65281, fstring[]=@00c41348 "Diesel: %i$ | Benzin: %i$", ... <2 arguments>) at D:\Domi\Spiele\GTA San Andreas\Selfmade\gamemodes\inventar.pwn:137
[16:16:44] [debug] #2 00101f54 in RandomTankpreis () at D:\Domi\Spiele\GTA San Andreas\Selfmade\gamemodes\inventar.pwn:21145
[16:16:44] [debug] #3 0000b9d0 in public OnGameModeInit () at D:\Domi\Spiele\GTA San Andreas\Selfmade\gamemodes\inventar.pwn:1381
[16:16:44] [debug] Native backtrace:
[16:16:44] [debug] #0 0046c9e6 in ?? () from samp-server.exe
OnGameModeInit:
RandomTankpreis();
SetTimer("ipsync",3600000,1);
Der Stock:
stock RandomTankpreis()
{
TankInfo[Diesel] = 5+random(6);
TankInfo[Benzin] = 10+random(6);
TankInfo[SuperPlus] = 15+random(6);
TankInfo[Kerosin] = 15+random(16);
SCMTA(gelb,"|>----Tankstellen-Infos----<|");
SCMF(0xFFFF,gelb,"Diesel: %i$ | Benzin: %i$",TankInfo[Diesel],TankInfo[Benzin]);
SCMF(0xFFFF,gelb,"Super+: %i$ | Kerosin: %i$",TankInfo[SuperPlus],TankInfo[Kerosin]);
return 1;
}
Einbau im Timer ipsync:
forward ipsync();
public ipsync()
{
RandomTankpreis();
RespawnAHCars(-1);
return 1;
}
Sobald ich bei OnGameModeInit "RandomTankpreis" auskommentiere funktioniert alles
Was ist da los?!
Ich dachte du hättest das schon gemacht
Ich finde es ganz nett
Nichts weltbewegendes, aber auch kein nutloses Zeug!
Neutrale: 6/10 Punkten
ZitatSchick uns mal von jeder Zeile mehr Code, sprich: 3 - 4 Zeilen drunter & drüber.
Zeilenblock 137:
}
stock SCMF(playerid, color, fstring[], {Float, _}:...)
{
static const STATIC_ARGS = 3;
new n = (numargs() - STATIC_ARGS) * BYTES_PER_CELL;
if(n)
{
new message[144],arg_start,arg_end;
#emit CONST.alt fstring
#emit LCTRL 5
#emit ADD
#emit STOR.S.pri arg_start
#emit LOAD.S.alt n
#emit ADD
#emit STOR.S.pri arg_end
do
{
#emit LOAD.I
#emit PUSH.pri
arg_end -= BYTES_PER_CELL;
#emit LOAD.S.pri arg_end
}
while(arg_end > arg_start);
#emit PUSH.S fstring
#emit PUSH.C 144
#emit PUSH.ADR message
n += BYTES_PER_CELL * 3;
#emit PUSH.S n
#emit SYSREQ.C format
n += BYTES_PER_CELL; // Fehler
#emit LCTRL 4
#emit LOAD.S.alt n
#emit ADD
#emit SCTRL 4
if(playerid == INVALID_PLAYER_ID)
{
#pragma unused playerid
return SendClientMessageToAll(color, message);
} else {
return SCM(playerid, color, message);
}
} else {
if(playerid == INVALID_PLAYER_ID)
{
#pragma unused playerid
return SendClientMessageToAll(color, fstring);
} else {
return SCM(playerid, color, fstring);
}
}
}
Zeilenblick 21114:
if(GetPVarInt(playerid,"Geld") >= TankPreis)
{
new gasvar = GetGasMax[GetVehicleModel(vehicle) - 400][0];
FahrzeugInfo[i][fz_Tank] = gasvar;
s_TogglePlayerControllable(playerid, 1);
GiveMoney(playerid, - TankPreis);
BizAbrechnen(slot);
format(string,sizeof(string),"Du hast für %d$ vollgetankt!", TankPreis);
SCM(playerid, COLOR_YELLOW, string);
new str[16];
format(str, sizeof(str), "Tank: %dL", gasvar);
TextDrawSetString(TachoTank[playerid], str);
return 1;
}
Zeilenblokc 1380:
LoadBank();
LoadZig();
RandomTankpreis();
ManualVehicleEngineAndLights(); // Fehler
CreateDynamicPickup(1559,1,285.4450,-40.8059,1001.5156);
Also alles irgendwie mit dem Tankpreis
Bei Zeile 1380 ist die Zeile unter dem Tankpreis falsch, da das Script wahrscheinlich irgendwa mit "Tankpreis" hat
P.S: Habe beim ersellen ausversehen falsche Zeilen geposter, diese hier sind jetzt aber richtig!!