Bei createPlayerCar hast du vergessen die Funktion mit selbigen Namen zu kopieren.
Und bei dem newstate, das musst du unter OnPlayerStateChange schreiben ![]()
Bei createPlayerCar hast du vergessen die Funktion mit selbigen Namen zu kopieren.
Und bei dem newstate, das musst du unter OnPlayerStateChange schreiben ![]()
Hast du eventuell ein neues Betriebssystem wie Windows 10? ![]()
Dann mal dein Kompatibilitätsmodus von der Pawno.exe auf Windows 7 oder wenn das nicht klappt auf Windows XP Service Pack 3 Stellen ![]()
Falls es mit beidem nicht geht, gibt es einen Klammerfehler in deinem Skript oder ein Makro Fehler ![]()
Zeig mal wie du das verwendest... ![]()
Super...damit kann man so super viel Anfangen...
Eventuell mal die Zeilen posten..in denen die Warnung auftaucht ![]()
Mach aus den >= ein == ![]()
SaveGutschein(pCreateGutschein[playerid]);
Du übergibst eine Variable..dabei hat die Funktion keinen Parameter..also nur so schreiben (oder Funktion anpassen):
SaveGutschein();
Ja...dann Zeig doch mal die Zeile..was hast denn da jetzt gemacht gehabt? ![]()
1. Du musst schon lesen:
...du musst mal die aktuellsten Includes von SA:MP downloaden.
Bzw...den neusten SA:MP Server downloaden: http://www.sa-mp.com/download.php
2. Du hast irgendwo jetzt nochmal info deklariert...das hat nichts mit dieser Variable zu tun, die du gepostet hast...
...du musst mal die aktuellsten Includes von SA:MP downloaden..und dann den Callback so schreiben:
public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)
Das mit dem Symbol is never used info..hat nichts mit dem Code zu tun..das eine Variable die du deklarierst aber nicht nutzt ![]()
Kannst diese so am einfachsten deklarieren, damit sowas nicht passiert:
new stock info;
Hast du eventuell schon einen anderen Enumerator, wo du diese Namen wie gErstellt usw verwendest? ![]()
for(new i=1;i<MAX_GUTSCHEINE;i++)
Wieso startest du hier i ab 1? o:
Arrays beginnen in Pawn bei 0.
Hier mal deinen Code ordentlicher geschrieben:
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
{
if(issuerid == INVALID_PLAYER_ID) return 1;
PlayerPlaySound(issuerid,17802,0.0,0.0,0.0);
if(weaponid == 34 && bodypart == 9) //Headshot System
{
GameTextForPlayer(playerid,!"~r~~h~~h~] Headshot ]",5000,5);
GameTextForPlayer(issuerid,!"~g~~h~~h~] Headshot ]",5000,5);
SetPlayerHealth(playerid, 0.0);
return 1;
}
if(weaponid != 23) return 1;
if(gTeam[issuerid] == 2 || IsACop(issuerid) || PlayerInfo[issuerid][pLeader] == 24 || PlayerInfo[issuerid][pMember] == 24 || PlayerInfo[issuerid][pLeader] == 7)
{
if(PlayerCuffed[playerid] > 0) return SendClientMessage(issuerid, COLOR_GREY, " Spieler ist schon gefesselt !");
if(GetDistanceBetweenPlayers(issuerid,playerid) < 5)
{
if(gTeam[playerid] == 2) return SendClientMessage(issuerid, COLOR_GREY, " Du kannst keinen Beamten Tazern! !");
if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(issuerid, COLOR_GREY, " Der Betroffene ist in einem Fahrzeug !");
if(!TazerBereit[issuerid]) return SendClientMessage(issuerid, COLOR_GREY, " Dein Tazer ist noch nicht aufgeladen! (ca. 30 Sekunden)");
if(!random(3)) return SendClientMessage(issuerid, COLOR_GREY, " Du hast ihn nicht getroffen!");
new giveplayer[MAX_PLAYER_NAME], sendername[MAX_PLAYER_NAME], string[128];
GetPlayerName(playerid, giveplayer, sizeof(giveplayer));
GetPlayerName(issuerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* %s hat dich mit einem Stromschocker niedergestreckt.", sendername);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "Du hast %s mit einem Stromschocker niedergestreckt.", giveplayer);
SendClientMessage(issuerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* %s holt seinen Stromschocker raus und streckt %s nieder.", sendername ,giveplayer);
ProxDetector(30.0, issuerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
GameTextForPlayer(playerid, "~r~Geschockt", 2500, 3);
ApplyAnimation(playerid, "WUZI", "CS_Dead_Guy", 1.0, 0, 0, 0, 0, 0);
FreezePlayer(playerid);
// PlayerCuffed[playerid] = 1;
// PlayerCuffedTime[playerid] = 20 + random(10);
TazerBereit[issuerid] = 0;
SetTimerEx("TazerBereitForPlayer", 30000,0,"i",issuerid);
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Du bist kein Beamter !");
}
return 1;
}
Alles anzeigen
Deklariere die Variable so:
new PlayerText:TvTd[MAX_PLAYERS][3];
Sicher, dass du alle npc files kopiert hast?
Eventuell lade mal das crashdetect Plugin und schau mal ob er da was printet ![]()
printe mal ob das überhaupt aufgerufen wird ![]()
Dann check auch noch, ob du tor[31] ein CreateDynamicObject zuweist ![]()
Nein..so:
MoveDynamicObject(tor[31],2496.2058,-1691.9954,14.9201,3,0,0,270.0000);
//Edit:
Damit das langsam auf geht..sollte auch der Speed eher auf 0.0001 gesetzt werden ![]()
Ansonsten kannste direkt SetObjectRot verwenden ![]()
Achso, ja die Parameter sind falsch, schau mal:
http://wiki.sa-mp.com/wiki/MoveObject
270.0 ist ja RotZ und nicht der Speed ![]()
Anstatt tor= zu setzen, solltest du eventuell torstatus[31]= setzen oder tor überprüfen ![]()
Ist es in PAWN nicht moeglich NPC's Paths zu zuweisen? Per SCM Scripting ist das moeglich, da koennte ich einen NPC erstellen und dann sagen lauf den Rockstar Path XY ab z.B.
Oh, ganz vergessen darauf zu antworten ![]()
Das ist in Pawn leider nicht so einfach möglich, zwar gibt es Plugins wie FCNPC oder RCNPC wodurch man das eventuell lösen könnte, allerdings ist es halt der Nachteil (wie im Anfangs-Thread schon beschrieben), dass diese Slots verbrauchen und einiges an ram & cpu.
Ansonsten muss man nämlich immer statische records für NPCs machen und das ist echt lästig ![]()
...meistens will man nur damit andeuten, dass das eine Server Nachricht ist ![]()
Das hat eigentlich keine tiefere Bedeutung..und dein Post ist auch in der falschen Sektion ![]()